]> git.donarmstrong.com Git - mothur.git/blobdiff - collectcommand.cpp
fixed memory leak in rarefact
[mothur.git] / collectcommand.cpp
index b3e8d8fbfa817900f6f1802310d9c18680bc1c15..233b7bef963a22bdc0ab9a2e524699bc49e4366c 100644 (file)
 #include "logsd.h"
 #include "bergerparker.h"
 #include "bstick.h"
+#include "goodscoverage.h"
 
 
-//**********************************************************************************************************************
+#include "coverage.h"
 
 
+//**********************************************************************************************************************
 CollectCommand::CollectCommand(){
        try {
                globaldata = GlobalData::getInstance();
@@ -42,6 +44,8 @@ CollectCommand::CollectCommand(){
                                        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] == "coverage") { 
+                                       cDisplays.push_back(new CollectDisplay(new Coverage(), new OneColumnFile(fileNameRoot+"coverage")));
                                }else if (globaldata->Estimators[i] == "ace") { 
                                        convert(globaldata->getAbund(), abund);
                                        cDisplays.push_back(new CollectDisplay(new Ace(abund), new ThreeColumnFile(fileNameRoot+"ace")));
@@ -55,16 +59,18 @@ CollectCommand::CollectCommand(){
                                        cDisplays.push_back(new CollectDisplay(new Simpson(), new ThreeColumnFile(fileNameRoot+"simpson")));
                                }else if (globaldata->Estimators[i] == "bootstrap") { 
                                        cDisplays.push_back(new CollectDisplay(new Bootstrap(), new OneColumnFile(fileNameRoot+"bootstrap")));
-                               }else if (globaldata->Estimators[i] == "geom") { 
-                                       cDisplays.push_back(new CollectDisplay(new Geom(), new OneColumnFile(fileNameRoot+"geom")));
+                               }else if (globaldata->Estimators[i] == "geometric") { 
+                                       cDisplays.push_back(new CollectDisplay(new Geom(), new OneColumnFile(fileNameRoot+"geometric")));
                                }else if (globaldata->Estimators[i] == "qstat") { 
                                        cDisplays.push_back(new CollectDisplay(new QStat(), new OneColumnFile(fileNameRoot+"qstat")));
-                               }else if (globaldata->Estimators[i] == "logsd") { 
-                                       cDisplays.push_back(new CollectDisplay(new LogSD(), new OneColumnFile(fileNameRoot+"logsd")));
+                               }else if (globaldata->Estimators[i] == "logseries") { 
+                                       cDisplays.push_back(new CollectDisplay(new LogSD(), new OneColumnFile(fileNameRoot+"logseries")));
                                }else if (globaldata->Estimators[i] == "bergerparker") { 
                                        cDisplays.push_back(new CollectDisplay(new BergerParker(), new OneColumnFile(fileNameRoot+"bergerparker")));
                                }else if (globaldata->Estimators[i] == "bstick") { 
-                                       cDisplays.push_back(new CollectDisplay(new BStick(), new OneColumnFile(fileNameRoot+"bstick")));
+                                       cDisplays.push_back(new CollectDisplay(new BStick(), new ThreeColumnFile(fileNameRoot+"bstick")));
+                               }else if (globaldata->Estimators[i] == "goodscoverage") { 
+                                       cDisplays.push_back(new CollectDisplay(new GoodsCoverage(), new OneColumnFile(fileNameRoot+"goodscoverage")));
                                }
                        }
                }
@@ -101,7 +107,7 @@ int CollectCommand::execute(){
                //if the users entered no valid calculators don't execute command
                if (cDisplays.size() == 0) { return 0; }
 
-               read = new ReadPhilFile(globaldata->inputFileName);     
+               read = new ReadOTUFile(globaldata->inputFileName);      
                read->read(&*globaldata); 
                
                order = globaldata->gorder;
@@ -120,6 +126,8 @@ int CollectCommand::execute(){
                        
                                cout << order->getLabel() << '\t' << count << endl;
                        }
+                       
+                       delete order;
                        order = (input->getOrderVector());
                        count++;
                }