X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rarefactsharedcommand.cpp;h=4a25cb3208f2695fc50308a8ff7df83deda163a8;hb=599af78a6ea4916919d460a131e2d0dffa28d35e;hp=5e36299505246ecbdbae8c64822a59e916f54dcc;hpb=8c548985e92f5be0bde10eddea89a6ae888b73da;p=mothur.git diff --git a/rarefactsharedcommand.cpp b/rarefactsharedcommand.cpp index 5e36299..4a25cb3 100644 --- a/rarefactsharedcommand.cpp +++ b/rarefactsharedcommand.cpp @@ -9,6 +9,7 @@ #include "rarefactsharedcommand.h" #include "sharedsobs.h" +#include "sharednseqs.h" //********************************************************************************************************************** @@ -17,13 +18,25 @@ RareFactSharedCommand::RareFactSharedCommand(){ globaldata = GlobalData::getInstance(); string fileNameRoot; fileNameRoot = getRootName(globaldata->inputFileName); + format = globaldata->getFormat(); + validCalculator = new ValidCalculators(); + util = new SharedUtil(); int i; - for (i=0; isharedRareEstimators.size(); i++) { - if (globaldata->sharedRareEstimators[i] == "sharedobserved") { - rDisplays.push_back(new RareDisplay(new SharedSobs(), new SharedThreeColumnFile(fileNameRoot+"shared.rarefaction", ""))); + for (i=0; iEstimators.size(); i++) { + if (validCalculator->isValidCalculator("sharedrarefaction", globaldata->Estimators[i]) == true) { + if (globaldata->Estimators[i] == "sharedobserved") { + rDisplays.push_back(new RareDisplay(new SharedSobs(), new SharedThreeColumnFile(fileNameRoot+"shared.rarefaction", ""))); + }else if (globaldata->Estimators[i] == "sharednseqs") { + rDisplays.push_back(new RareDisplay(new SharedNSeqs(), new SharedThreeColumnFile(fileNameRoot+"shared.r_nseqs", ""))); + } + } } + + //reset calc for next command + globaldata->setCalc(""); + } catch(exception& e) { cout << "Standard Error: " << e.what() << " has occurred in the RareFactSharedCommand class Function RareFactSharedCommand. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; @@ -43,6 +56,7 @@ RareFactSharedCommand::~RareFactSharedCommand(){ delete input; delete rCurve; delete read; + delete util; } //********************************************************************************************************************** @@ -50,12 +64,18 @@ RareFactSharedCommand::~RareFactSharedCommand(){ int RareFactSharedCommand::execute(){ try { int count = 1; - read = new ReadPhilFile(globaldata->inputFileName); - read->read(&*globaldata); + //if the users entered no valid calculators don't execute command + if (rDisplays.size() == 0) { return 0; } + + read = new ReadOTUFile(globaldata->inputFileName); + read->read(&*globaldata); + input = globaldata->ginput; - SharedList = globaldata->gSharedList; - order = SharedList->getSharedOrderVector(); + order = input->getSharedOrderVector(); + + //set users groups + util->setGroups(globaldata->Groups, globaldata->gGroupmap->namesOfGroups, "rarefact"); while(order != NULL){ @@ -71,17 +91,17 @@ int RareFactSharedCommand::execute(){ cout << order->getLabel() << '\t' << count << endl; } - SharedList = input->getSharedListVector(); //get new list vector to process - if (SharedList != NULL) { - order = SharedList->getSharedOrderVector(); //gets new order vector with group info. - count++; - }else { - break; - } - + //get next line to process + delete order; + order = input->getSharedOrderVector(); + count++; } for(int i=0;iGroups.clear(); globaldata->setGroups(""); + return 0; } catch(exception& e) {