X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rarefactsharedcommand.cpp;h=4a25cb3208f2695fc50308a8ff7df83deda163a8;hb=599af78a6ea4916919d460a131e2d0dffa28d35e;hp=6a4fe85b76b56dd5903b98155f0b01121f0f0002;hpb=9ca2caadbeac83bb84b3330d9204b1b659d62941;p=mothur.git diff --git a/rarefactsharedcommand.cpp b/rarefactsharedcommand.cpp index 6a4fe85..4a25cb3 100644 --- a/rarefactsharedcommand.cpp +++ b/rarefactsharedcommand.cpp @@ -20,6 +20,7 @@ RareFactSharedCommand::RareFactSharedCommand(){ fileNameRoot = getRootName(globaldata->inputFileName); format = globaldata->getFormat(); validCalculator = new ValidCalculators(); + util = new SharedUtil(); int i; for (i=0; iEstimators.size(); i++) { @@ -55,6 +56,7 @@ RareFactSharedCommand::~RareFactSharedCommand(){ delete input; delete rCurve; delete read; + delete util; } //********************************************************************************************************************** @@ -66,24 +68,14 @@ int RareFactSharedCommand::execute(){ //if the users entered no valid calculators don't execute command if (rDisplays.size() == 0) { return 0; } - if (format == "sharedfile") { - read = new ReadPhilFile(globaldata->inputFileName); - read->read(&*globaldata); + read = new ReadOTUFile(globaldata->inputFileName); + read->read(&*globaldata); - input = globaldata->ginput; - order = input->getSharedOrderVector(); - }else { - //you are using a list and a groupfile - read = new ReadPhilFile(globaldata->inputFileName); - read->read(&*globaldata); - - input = globaldata->ginput; - SharedList = globaldata->gSharedList; - order = SharedList->getSharedOrderVector(); - } - + input = globaldata->ginput; + order = input->getSharedOrderVector(); + //set users groups - setGroups(); + util->setGroups(globaldata->Groups, globaldata->gGroupmap->namesOfGroups, "rarefact"); while(order != NULL){ @@ -100,18 +92,8 @@ int RareFactSharedCommand::execute(){ } //get next line to process - if (format == "sharedfile") { - order = input->getSharedOrderVector(); - }else { - //you are using a list and a groupfile - SharedList = input->getSharedListVector(); //get new list vector to process - if (SharedList != NULL) { - order = SharedList->getSharedOrderVector(); //gets new order vector with group info. - }else { - break; - } - } - + delete order; + order = input->getSharedOrderVector(); count++; } @@ -134,51 +116,3 @@ int RareFactSharedCommand::execute(){ //********************************************************************************************************************** - -void RareFactSharedCommand::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 RareFactSharedCommand class Function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the RareFactSharedCommand class function setGroups. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - -} -/***********************************************************/ -