UnifracUnweightedCommand::UnifracUnweightedCommand(){
try {
globaldata = GlobalData::getInstance();
- abort = true;
- //initialize outputTypes
+ abort = true; calledHelp = true;
vector<string> tempOutNames;
outputTypes["unweighted"] = tempOutNames;
outputTypes["uwsummary"] = tempOutNames;
UnifracUnweightedCommand::UnifracUnweightedCommand(string option) {
try {
globaldata = GlobalData::getInstance();
- abort = false;
+ abort = false; calledHelp = false;
Groups.clear();
//allow user to run help
- if(option == "help") { help(); abort = true; }
+ if(option == "help") { help(); abort = true; calledHelp = true; }
else {
//valid paramters for this command
int UnifracUnweightedCommand::execute() {
try {
- if (abort == true) { return 0; }
+ if (abort == true) { if (calledHelp) { return 0; } return 2; }
int start = time(NULL);
randomData.resize(numComp,0); //data[0] = unweightedscore
//create new tree with same num nodes and leaves as users
+ if (numComp < processors) { processors = numComp; }
+
outSum << "Tree#" << '\t' << "Groups" << '\t' << "UWScore" <<'\t' << "UWSig" << endl;
m->mothurOut("Tree#\tGroups\tUWScore\tUWSig"); m->mothurOutEndLine();
}
//report progress
- m->mothurOut("Iter: " + toString(j+1)); m->mothurOutEndLine();
+// m->mothurOut("Iter: " + toString(j+1)); m->mothurOutEndLine();
}
for(int a = 0; a < numComp; a++) {
//flip it so you can print it
int count = 0;
for (int r=0; r<globaldata->Groups.size(); r++) {
- for (int l = r+1; l < globaldata->Groups.size(); l++) {
+ for (int l = 0; l < r; l++) {
dists[r][l] = utreeScores[count][0];
dists[l][r] = utreeScores[count][0];
count++;
out << name << '\t';
//output distances
- for (int l = 0; l < globaldata->Groups.size(); l++) { out << dists[r][l] << '\t'; }
+ for (int l = 0; l < globaldata->Groups.size(); l++) { out << setprecision(11) << dists[r][l] << '\t'; }
out << endl;
}else{
//output distances