X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=collectsharedcommand.cpp;h=6c47f2d5a6b2e4ac178d61128e4e0739a7c41666;hp=ec35dd601e75abd3ea7b65e32aabcaa1c13b1c90;hb=c5c7502f435e1413c19e373dab1dfebcaa67588d;hpb=2e5ec5cbbd23637ed20da9bdd544d178a3b5d949 diff --git a/collectsharedcommand.cpp b/collectsharedcommand.cpp index ec35dd6..6c47f2d 100644 --- a/collectsharedcommand.cpp +++ b/collectsharedcommand.cpp @@ -41,6 +41,7 @@ CollectSharedCommand::CollectSharedCommand(){ fileNameRoot = getRootName(globaldata->inputFileName); format = globaldata->getFormat(); validCalculator = new ValidCalculators(); + util = new SharedUtil(); int i; for (i=0; iEstimators.size(); i++) { @@ -113,6 +114,7 @@ CollectSharedCommand::~CollectSharedCommand(){ delete input; delete cCurve; delete read; + delete util; } //********************************************************************************************************************** @@ -142,7 +144,8 @@ int CollectSharedCommand::execute(){ set orderList; //set users groups - setGroups(); + util->setGroups(globaldata->Groups, globaldata->gGroupmap->namesOfGroups, "collect"); + util->updateGroupIndex(globaldata->Groups, globaldata->gGroupmap->groupIndex); while(order != NULL){ orderList.insert(order->getLabel()); @@ -193,52 +196,5 @@ int CollectSharedCommand::execute(){ } } - -//********************************************************************************************************************** -void CollectSharedCommand::setGroups() { - try { - //if the user has not entered specific groups to analyze then do them all - if (globaldata->Groups.size() != 0) { - if (globaldata->Groups[0] != "all") { - //check that groups are valid - for (int i = 0; i < globaldata->Groups.size(); i++) { - if (globaldata->gGroupmap->isValidGroup(globaldata->Groups[i]) != true) { - cout << globaldata->Groups[i] << " is not a valid group, and will be disregarded." << endl; - // erase the invalid group from globaldata->Groups - globaldata->Groups.erase(globaldata->Groups.begin()+i); - } - } - - //if the user only entered invalid groups - if ((globaldata->Groups.size() == 0) || (globaldata->Groups.size() == 1)) { - cout << "When using the groups parameter you must have at least 2 valid groups. I will run the command using all the groups in your groupfile." << endl; - for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) { - globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]); - } - } - }else{//user has enter "all" and wants the default groups - globaldata->Groups.clear(); - for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) { - globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]); - } - globaldata->setGroups(""); - } - }else { - for (int i = 0; i < globaldata->gGroupmap->namesOfGroups.size(); i++) { - globaldata->Groups.push_back(globaldata->gGroupmap->namesOfGroups[i]); - } - } - - } - catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the CollectSharedCommand class Function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the CollectSharedCommand class function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - -} /***********************************************************/