]> git.donarmstrong.com Git - mothur.git/blobdiff - readotu.cpp
1.18.0 - fixed make.shared abort issue
[mothur.git] / readotu.cpp
index 09a6c4cd00f58d5fc09424972c3f6ae93c88542d..5cb52bb8d8333e171d7e6de16b1e83057ff4d558 100644 (file)
@@ -9,14 +9,14 @@
 
 #include "readotu.h"
 
-/***********************************************************************/
+/***********************************************************************
 
 ReadOTUFile::ReadOTUFile(string pf): philFile(pf){
-       
-       openInputFile(philFile, fileHandle);
+       m = MothurOut::getInstance();
+       //m->openInputFile(philFile, fileHandle);
 }
 
-/***********************************************************************/
+/***********************************************************************
 //This function reads the list, rabund or sabund files to be used by collect and rarefact command.
 void ReadOTUFile::read(GlobalData* globaldata){
        try {
@@ -31,41 +31,51 @@ void ReadOTUFile::read(GlobalData* globaldata){
                }else {//there is an orderfile
                        input = new InputData(philFile, globaldata->getOrderFile(), globaldata->getFormat());
                }
-               
+       
                //memory leak prevention
                //if (globaldata->ginput != NULL) { delete globaldata->ginput;  }
                globaldata->ginput = input;     //saving to be used by collector and rarefact commands.
-               
+
                if ((globaldata->getFormat() == "list") || (globaldata->getFormat() == "rabund") || (globaldata->getFormat() == "sabund")) {//you are reading a list, rabund or sabund file for collect, rarefaction or summary.
+
+//cout << input << '\t' << globaldata << endl;
                        order = input->getOrderVector();
                        //memory leak prevention
+
                        //if (globaldata->gorder != NULL) { delete globaldata->gorder;  }
                        globaldata->gorder = order;     //saving to be used by collect and rarefact commands.
                        sabund = inputSabund->getSAbundVector(); 
+                       //if (globaldata->sabund != NULL) { delete globaldata->sabund;  }
                        globaldata->sabund = sabund; //saving to be used by summary command.
+                       delete inputSabund;
+
                        rabund = inputRabund->getRAbundVector(); 
+                       //if (globaldata->rabund != NULL) { delete globaldata->rabund;  }
                        globaldata->rabund = rabund; //saving to be used by heatmap.bin command.
+                       delete inputRabund;
+
                        list = inputList->getListVector();
+                       //if (globaldata->gListVector != NULL) { delete globaldata->gListVector;  }
                        globaldata->gListVector = list;
+                       delete inputList;
 
                }else if (globaldata->getFormat() == "shared") {
                        SharedList = input->getSharedListVector(); //you are reading for collect.shared, rarefaction.shared, summary.shared, parselist command, or shared commands.
                        //memory leak prevention
                        //if (globaldata->gSharedList != NULL) { delete globaldata->gSharedList;  }
                        globaldata->gSharedList = SharedList;
+                       delete inputSabund;
+                       delete inputRabund;
+                       delete inputList;
                }
        }
        catch(exception& e) {
-               cout << "Standard Error: " << e.what() << " has occurred in the ReadOTUFile class Function read. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
-               exit(1);
-       }
-       catch(...) {
-               cout << "An unknown error has occurred in the ReadOTUFile class function read. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n";
+               m->errorOut(e, "ReadOTUFile", "read");
                exit(1);
        }
 }
 
-/***********************************************************************/
+/***********************************************************************
 
 ReadOTUFile::~ReadOTUFile(){
 //     delete input;