X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=removerarecommand.cpp;h=24b616560de3bed794d423f4cb7a3544f0d48f5f;hb=a6cf29fa4dac0909c7582cb1094151d34093ee76;hp=cd0b602113f496af4a1db27850e882ae04d29077;hpb=e150b0b0664caec517485ee6d69dcdade6dcae77;p=mothur.git diff --git a/removerarecommand.cpp b/removerarecommand.cpp index cd0b602..24b6165 100644 --- a/removerarecommand.cpp +++ b/removerarecommand.cpp @@ -160,23 +160,28 @@ RemoveRareCommand::RemoveRareCommand(string option) { //check for file parameters listfile = validParameter.validFile(parameters, "list", true); if (listfile == "not open") { abort = true; } - else if (listfile == "not found") { listfile = ""; } + else if (listfile == "not found") { listfile = ""; } + else { m->setListFile(listfile); } sabundfile = validParameter.validFile(parameters, "sabund", true); if (sabundfile == "not open") { abort = true; } else if (sabundfile == "not found") { sabundfile = ""; } + else { m->setSabundFile(sabundfile); } rabundfile = validParameter.validFile(parameters, "rabund", true); if (rabundfile == "not open") { abort = true; } else if (rabundfile == "not found") { rabundfile = ""; } + else { m->setRabundFile(rabundfile); } groupfile = validParameter.validFile(parameters, "group", true); if (groupfile == "not open") { groupfile = ""; abort = true; } else if (groupfile == "not found") { groupfile = ""; } + else { m->setGroupFile(groupfile); } sharedfile = validParameter.validFile(parameters, "shared", true); if (sharedfile == "not open") { sharedfile = ""; abort = true; } else if (sharedfile == "not found") { sharedfile = ""; } + else { m->setSharedFile(sharedfile); } if ((sharedfile == "") && (listfile == "") && (rabundfile == "") && (sabundfile == "")) { //is there are current file available for any of these? @@ -215,7 +220,7 @@ RemoveRareCommand::RemoveRareCommand(string option) { string temp = validParameter.validFile(parameters, "nseqs", false); if (temp == "not found") { m->mothurOut("nseqs is a required parameter."); m->mothurOutEndLine(); abort = true; } - else { convert(temp, nseqs); } + else { m->mothurConvert(temp, nseqs); } temp = validParameter.validFile(parameters, "bygroup", false); if (temp == "not found") { temp = "f"; } byGroup = m->isTrue(temp); @@ -246,7 +251,7 @@ int RemoveRareCommand::execute(){ if (listfile != "") { processList(); } if (sharedfile != "") { processShared(); } - if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { remove(outputNames[i].c_str()); } return 0; } + if (m->control_pressed) { for (int i = 0; i < outputNames.size(); i++) { m->mothurRemove(outputNames[i]); } return 0; } if (outputNames.size() != 0) { m->mothurOutEndLine(); @@ -348,7 +353,8 @@ int RemoveRareCommand::processList(){ if (groupfile != "") { groupMap = new GroupMap(groupfile); groupMap->readMap(); SharedUtil util; - util.setGroups(Groups, groupMap->namesOfGroups); + vector namesGroups = groupMap->getNamesOfGroups(); + util.setGroups(Groups, namesGroups); m->openOutputFile(outputGroupFileName, outGroup); } @@ -360,7 +366,7 @@ int RemoveRareCommand::processList(){ //for each bin for (int i = 0; i < list->getNumBins(); i++) { - if (m->control_pressed) { if (groupfile != "") { delete groupMap; outGroup.close(); remove(outputGroupFileName.c_str()); } out.close(); remove(outputFileName.c_str()); return 0; } + if (m->control_pressed) { if (groupfile != "") { delete groupMap; outGroup.close(); m->mothurRemove(outputGroupFileName); } out.close(); m->mothurRemove(outputFileName); return 0; } //parse out names that are in accnos file string binnames = list->get(i); @@ -619,7 +625,7 @@ int RemoveRareCommand::processRabund(){ //********************************************************************************************************************** int RemoveRareCommand::processShared(){ try { - m->Groups = Groups; + m->setGroups(Groups); string thisOutputDir = outputDir; if (outputDir == "") { thisOutputDir += m->hasPath(sharedfile); } @@ -646,6 +652,7 @@ int RemoveRareCommand::processShared(){ processedLabels.insert(lookup[0]->getLabel()); userLabels.erase(lookup[0]->getLabel()); + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } processLookup(lookup, out); } @@ -659,6 +666,7 @@ int RemoveRareCommand::processShared(){ processedLabels.insert(lookup[0]->getLabel()); userLabels.erase(lookup[0]->getLabel()); + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } processLookup(lookup, out); //restore real lastlabel to save below @@ -693,6 +701,7 @@ int RemoveRareCommand::processShared(){ m->mothurOut(lookup[0]->getLabel()); m->mothurOutEndLine(); + if (!m->printedHeaders) { lookup[0]->printHeaders(out); } processLookup(lookup, out); for (int i = 0; i < lookup.size(); i++) { delete lookup[i]; }