X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=rarefactsharedcommand.cpp;h=4a25cb3208f2695fc50308a8ff7df83deda163a8;hb=599af78a6ea4916919d460a131e2d0dffa28d35e;hp=45c2e2ebbdfc0004a8e1d6acb551649fe82b1239;hpb=09a01fb51eea9e81409d367410c831394193fd86;p=mothur.git diff --git a/rarefactsharedcommand.cpp b/rarefactsharedcommand.cpp index 45c2e2e..4a25cb3 100644 --- a/rarefactsharedcommand.cpp +++ b/rarefactsharedcommand.cpp @@ -9,6 +9,7 @@ #include "rarefactsharedcommand.h" #include "sharedsobs.h" +#include "sharednseqs.h" //********************************************************************************************************************** @@ -19,13 +20,17 @@ RareFactSharedCommand::RareFactSharedCommand(){ fileNameRoot = getRootName(globaldata->inputFileName); format = globaldata->getFormat(); validCalculator = new ValidCalculators(); + util = new SharedUtil(); int i; 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", ""))); } + } } @@ -51,6 +56,7 @@ RareFactSharedCommand::~RareFactSharedCommand(){ delete input; delete rCurve; delete read; + delete util; } //********************************************************************************************************************** @@ -62,21 +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 + util->setGroups(globaldata->Groups, globaldata->gGroupmap->namesOfGroups, "rarefact"); while(order != NULL){ @@ -93,22 +92,16 @@ 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++; } for(int i=0;iGroups.clear(); globaldata->setGroups(""); + return 0; } catch(exception& e) {