X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=getrelabundcommand.cpp;h=8c8d8e1539b8be7e76656be1304ee1f1f01f9a02;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=6397e358de806f08695d0707c6539352a282be44;hpb=ca9ac1d80c62f57270b0dcd49410ebe08a8aecd6;p=mothur.git diff --git a/getrelabundcommand.cpp b/getrelabundcommand.cpp index 6397e35..8c8d8e1 100644 --- a/getrelabundcommand.cpp +++ b/getrelabundcommand.cpp @@ -40,7 +40,7 @@ string GetRelAbundCommand::getHelpString(){ helpString += "Example get.relabund(groups=A-B-C, scale=averagegroup).\n"; helpString += "The default value for groups is all the groups in your groupfile, and all labels in your inputfile will be used.\n"; helpString += "The get.relabund command outputs a .relabund file.\n"; - helpString += "Note: No spaces between parameter labels (i.e. groups), '=' and parameters (i.e.yourGroups).\n\n"; + helpString += "Note: No spaces between parameter labels (i.e. groups), '=' and parameters (i.e.yourGroups).\n"; return helpString; } catch(exception& e) { @@ -69,6 +69,7 @@ GetRelAbundCommand::GetRelAbundCommand(string option) { //allow user to run help if(option == "help") { help(); abort = true; calledHelp = true; } + else if(option == "citation") { citation(); abort = true; calledHelp = true;} else { vector myArray = setParameters(); @@ -110,7 +111,7 @@ GetRelAbundCommand::GetRelAbundCommand(string option) { sharedfile = m->getSharedFile(); if (sharedfile != "") { m->mothurOut("Using " + sharedfile + " as input file for the shared parameter."); m->mothurOutEndLine(); } else { m->mothurOut("You have no current sharedfile and the shared parameter is required."); m->mothurOutEndLine(); abort = true; } - } + }else { m->setSharedFile(sharedfile); } //if the user changes the output directory command factory will send this info to us in the output parameter @@ -130,7 +131,7 @@ GetRelAbundCommand::GetRelAbundCommand(string option) { else { pickedGroups = true; m->splitAtDash(groups, Groups); - m->Groups = Groups; + m->setGroups(Groups); } scale = validParameter.validFile(parameters, "scale", false); if (scale == "not found") { scale = "totalgroup"; } @@ -169,11 +170,12 @@ int GetRelAbundCommand::execute(){ //as long as you are not at the end of the file or done wih the lines you want while((lookup[0] != NULL) && ((allLines == 1) || (userLabels.size() != 0))) { - if (m->control_pressed) { outputTypes.clear(); for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; } m->Groups.clear(); delete input; out.close(); remove(outputFileName.c_str()); return 0; } + if (m->control_pressed) { outputTypes.clear(); for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; } m->clearGroups(); delete input; out.close(); m->mothurRemove(outputFileName); return 0; } if(allLines == 1 || labels.count(lookup[0]->getLabel()) == 1){ m->mothurOut(lookup[0]->getLabel()); m->mothurOutEndLine(); + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } getRelAbundance(lookup, out); processedLabels.insert(lookup[0]->getLabel()); @@ -186,7 +188,7 @@ int GetRelAbundCommand::execute(){ for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; } lookup = input->getSharedRAbundVectors(lastLabel); m->mothurOut(lookup[0]->getLabel()); m->mothurOutEndLine(); - + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } getRelAbundance(lookup, out); processedLabels.insert(lookup[0]->getLabel()); @@ -200,13 +202,13 @@ int GetRelAbundCommand::execute(){ //prevent memory leak for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; lookup[i] = NULL; } - if (m->control_pressed) { outputTypes.clear(); m->Groups.clear(); delete input; out.close(); remove(outputFileName.c_str()); return 0; } + if (m->control_pressed) { outputTypes.clear(); m->clearGroups(); delete input; out.close(); m->mothurRemove(outputFileName); return 0; } //get next line to process lookup = input->getSharedRAbundVectors(); } - if (m->control_pressed) { outputTypes.clear(); m->Groups.clear(); delete input; out.close(); remove(outputFileName.c_str()); return 0; } + if (m->control_pressed) { outputTypes.clear(); m->clearGroups(); delete input; out.close(); m->mothurRemove(outputFileName); return 0; } //output error messages about any remaining user labels set::iterator it; @@ -227,18 +229,18 @@ int GetRelAbundCommand::execute(){ lookup = input->getSharedRAbundVectors(lastLabel); m->mothurOut(lookup[0]->getLabel()); m->mothurOutEndLine(); - + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } getRelAbundance(lookup, out); for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; } } //reset groups parameter - m->Groups.clear(); + m->clearGroups(); delete input; out.close(); - if (m->control_pressed) { outputTypes.clear(); remove(outputFileName.c_str()); return 0;} + if (m->control_pressed) { outputTypes.clear(); m->mothurRemove(outputFileName); return 0;} m->mothurOutEndLine(); m->mothurOut("Output File Names: "); m->mothurOutEndLine();