X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=globaldata.cpp;h=affa4636ab4716746665b6b7c73ccccf1f7b9354;hb=9013e13ecfb2fda3c2664a76f76cc99b8c7fa74c;hp=fe3c11b87dba7519ebec6c1e39168b764563233e;hpb=cd37904452dc95b183ff313ff05720c562902487;p=mothur.git diff --git a/globaldata.cpp b/globaldata.cpp index fe3c11b..affa463 100644 --- a/globaldata.cpp +++ b/globaldata.cpp @@ -1,6 +1,9 @@ #include "globaldata.hpp" +#include "sharedlistvector.h" +#include "inputdata.h" +#include "fullmatrix.h" /*******************************************************/ @@ -23,13 +26,12 @@ string GlobalData::getSabundFile() { return sabundfile; } string GlobalData::getNameFile() { return namefile; } string GlobalData::getGroupFile() { return groupfile; } string GlobalData::getOrderFile() { return orderfile; } +string GlobalData::getOrderGroupFile() { return ordergroup; } string GlobalData::getTreeFile() { return treefile; } -string GlobalData::getSharedFile() { return sharedfile; } -//string GlobalData::getFastaFile() { return fastafile; } +string GlobalData::getSharedFile() { return sharedfile; } string GlobalData::getFormat() { return format; } void GlobalData::setListFile(string file) { listfile = file; inputFileName = file; } -//void GlobalData::setFastaFile(string file) { fastafile = file; inputFileName = file; } void GlobalData::setTreeFile(string file) { treefile = file; inputFileName = file; } void GlobalData::setRabundFile(string file) { rabundfile = file; inputFileName = file; } void GlobalData::setSabundFile(string file) { sabundfile = file; inputFileName = file; } @@ -39,6 +41,7 @@ void GlobalData::setGroupFile(string file) { groupfile = file; } void GlobalData::setSharedFile(string file) { sharedfile = file; inputFileName = file; } void GlobalData::setNameFile(string file) { namefile = file; } void GlobalData::setOrderFile(string file) { orderfile = file; } +void GlobalData::setOrderGroupFile(string file) { ordergroup = file; } void GlobalData::setFormat(string Format) { format = Format; } @@ -46,10 +49,22 @@ void GlobalData::setFormat(string Format) { format = Format; } /******************************************************/ GlobalData::GlobalData() { + m = MothurOut::getInstance(); //option definitions should go here... clear(); gListVector = NULL; gSparseMatrix = NULL; + ginput = NULL; + gorder = NULL; + glist = NULL; + gSharedList = NULL; + sabund = NULL; + rabund = NULL; + gGroupmap = NULL; + gMatrix = NULL; + gTreemap = NULL; + gSequenceDB = NULL; + nameMap = NULL; } /*******************************************************/ @@ -64,9 +79,11 @@ void GlobalData::clear() { namefile = ""; //do we need this? groupfile = ""; //do we need this? orderfile = ""; + ordergroup = ""; // fastafile = ""; //do we need this? treefile = ""; sharedfile = ""; + format = ""; } @@ -74,23 +91,47 @@ void GlobalData::clear() { /******************************************************/ void GlobalData::newRead() { - try{ + try{ + //remove old file names clear(); - gGroupmap = NULL; - gListVector = NULL; - gSparseMatrix = NULL; + + //free memory + if (gGroupmap != NULL) { delete gGroupmap; gGroupmap = NULL; } + + if (gListVector != NULL) { delete gListVector; gListVector = NULL;} + + if (gSparseMatrix != NULL) { delete gSparseMatrix; gSparseMatrix = NULL; } + + if (ginput != NULL) { delete ginput; ginput = NULL;} + + if (gorder != NULL) { delete gorder; gorder = NULL; } + + if (glist != NULL) { delete glist; glist = NULL;} + + if (gSharedList != NULL) { delete gSharedList; gSharedList = NULL; } + + if (sabund != NULL) { delete sabund; sabund = NULL;} + + if (rabund != NULL) { delete rabund; rabund = NULL; } + + if (gMatrix != NULL) { delete gMatrix; gMatrix = NULL;} + + if (gTreemap != NULL) { delete gTreemap; gTreemap = NULL; } + + if (gSequenceDB != NULL) { delete gSequenceDB; gSequenceDB = NULL;} + + if (nameMap != NULL) { delete nameMap; nameMap = NULL; } + + gTree.clear(); Treenames.clear(); - labels.clear(); lines.clear(); Groups.clear(); + labels.clear(); Groups.clear(); allLines = 1; runParse = true; + names.clear(); } catch(exception& e) { - cout << "Standard Error: " << e.what() << " has occurred in the GlobalData class Function newRead. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; - exit(1); - } - catch(...) { - cout << "An unknown error has occurred in the GlobalData class function newRead. Please contact Pat Schloss at pschloss@microbio.umass.edu." << "\n"; + m->errorOut(e, "GlobalData", "newRead"); exit(1); } } @@ -100,9 +141,25 @@ void GlobalData::newRead() { /******************************************************/ GlobalData::~GlobalData() { _uniqueInstance = 0; - if(gListVector != NULL) { delete gListVector; } - if(gSparseMatrix != NULL) { delete gSparseMatrix; } - if(gorder != NULL) { delete gorder; } + try { + if (gGroupmap != NULL) { delete gGroupmap; gGroupmap = NULL; } + if (gListVector != NULL) { delete gListVector; gListVector = NULL;} + if (gSparseMatrix != NULL) { delete gSparseMatrix; gSparseMatrix = NULL; } + if (ginput != NULL) { delete ginput; ginput = NULL;} + if (gorder != NULL) { delete gorder; gorder = NULL; } + if (glist != NULL) { delete glist; glist = NULL;} + if (gSharedList != NULL) { delete gSharedList; gSharedList = NULL; } + if (sabund != NULL) { delete sabund; sabund = NULL;} + if (rabund != NULL) { delete rabund; rabund = NULL; } + if (gMatrix != NULL) { delete gMatrix; gMatrix = NULL;} + if (gTreemap != NULL) { delete gTreemap; gTreemap = NULL; } + if (gSequenceDB != NULL) { delete gSequenceDB; gSequenceDB = NULL;} + if (nameMap != NULL) { delete nameMap; nameMap = NULL; } + } + catch(exception& e) { + m->errorOut(e, "GlobalData", "~GlobalData"); + exit(1); + } } /*******************************************************/