X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=readotu.cpp;h=5cb52bb8d8333e171d7e6de16b1e83057ff4d558;hb=643cdf74ccd4fc2d565168716fb5645917dee834;hp=09a6c4cd00f58d5fc09424972c3f6ae93c88542d;hpb=0470f6d037aacb3563c3f7010708120a4a67d4e6;p=mothur.git diff --git a/readotu.cpp b/readotu.cpp index 09a6c4c..5cb52bb 100644 --- a/readotu.cpp +++ b/readotu.cpp @@ -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;