X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=collectcommand.cpp;h=000f85d1d91f3922766f024d71dc157640b2eabe;hb=9ca2caadbeac83bb84b3330d9204b1b659d62941;hp=0f622c49b2a30632f53e4fa3ec0dfc3196113374;hpb=09a01fb51eea9e81409d367410c831394193fd86;p=mothur.git diff --git a/collectcommand.cpp b/collectcommand.cpp index 0f622c4..000f85d 100644 --- a/collectcommand.cpp +++ b/collectcommand.cpp @@ -10,6 +10,7 @@ #include "collectcommand.h" #include "ace.h" #include "sobs.h" +#include "nseqs.h" #include "chao1.h" #include "bootstrap.h" #include "simpson.h" @@ -35,8 +36,11 @@ CollectCommand::CollectCommand(){ cDisplays.push_back(new CollectDisplay(new Sobs(), new OneColumnFile(fileNameRoot+"sobs"))); }else if (globaldata->Estimators[i] == "chao") { cDisplays.push_back(new CollectDisplay(new Chao1(), new ThreeColumnFile(fileNameRoot+"chao"))); + }else if (globaldata->Estimators[i] == "nseqs") { + cDisplays.push_back(new CollectDisplay(new NSeqs(), new OneColumnFile(fileNameRoot+"nseqs"))); }else if (globaldata->Estimators[i] == "ace") { - cDisplays.push_back(new CollectDisplay(new Ace(), new ThreeColumnFile(fileNameRoot+"ace"))); + convert(globaldata->getAbund(), abund); + cDisplays.push_back(new CollectDisplay(new Ace(abund), new ThreeColumnFile(fileNameRoot+"ace"))); }else if (globaldata->Estimators[i] == "jack") { cDisplays.push_back(new CollectDisplay(new Jackknife(), new ThreeColumnFile(fileNameRoot+"jack"))); }else if (globaldata->Estimators[i] == "shannon") { @@ -88,11 +92,12 @@ int CollectCommand::execute(){ order = globaldata->gorder; input = globaldata->ginput; - + set orderList; + while(order != NULL){ + orderList.insert(order->getLabel()); if(globaldata->allLines == 1 || globaldata->lines.count(count) == 1 || globaldata->labels.count(order->getLabel()) == 1){ - cCurve = new Collect(order, cDisplays); convert(globaldata->getFreq(), freq); cCurve->getCurve(freq); @@ -101,12 +106,13 @@ int CollectCommand::execute(){ cout << order->getLabel() << '\t' << count << endl; } - order = (input->getOrderVector()); count++; - } - + set::iterator i; + for(i = globaldata->labels.begin(); i != globaldata->labels.end(); ++i) + if(orderList.count(*i) == 0) + cout << "'" << *i << "'" << " is not a valid label.\n"; for(int i=0;i