]> git.donarmstrong.com Git - mothur.git/blobdiff - parselistscommand.cpp
added otu.association command. added calcSpearman, calcKendall and calcPearson functi...
[mothur.git] / parselistscommand.cpp
index e2c3e011c028a71bf79585519a7bbd9e25439c74..bb096d8646873f74c42bd8970b9eef9693a3252e 100644 (file)
@@ -175,11 +175,12 @@ int ParseListCommand::execute(){
                //fill filehandles with neccessary ofstreams
                int i;
                ofstream* temp;
-               for (i=0; i<groupMap->namesOfGroups.size(); i++) {
+               vector<string> gGroups = groupMap->getNamesOfGroups();
+               for (i=0; i<gGroups.size(); i++) {
                        temp = new ofstream;
-                       filehandles[groupMap->namesOfGroups[i]] = temp;
+                       filehandles[gGroups[i]] = temp;
                        
-                       string filename = fileroot +  groupMap->namesOfGroups[i] + ".list";
+                       string filename = fileroot +  gGroups[i] + ".list";
                        outputNames.push_back(filename); outputTypes["list"].push_back(filename);
                        m->openOutputFile(filename, *temp);
                }
@@ -194,8 +195,9 @@ int ParseListCommand::execute(){
                
                if (m->control_pressed) { 
                        delete input; delete list; delete groupMap;
-                       for (i=0; i<groupMap->namesOfGroups.size(); i++) {  (*(filehandles[groupMap->namesOfGroups[i]])).close();  delete filehandles[groupMap->namesOfGroups[i]]; } 
-                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str()); } outputTypes.clear();
+                       vector<string> gGroups = groupMap->getNamesOfGroups();
+                       for (i=0; i<gGroups.size(); i++) {  (*(filehandles[gGroups[i]])).close();  delete filehandles[gGroups[i]]; } 
+                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                        return 0;
                }
                
@@ -203,8 +205,8 @@ int ParseListCommand::execute(){
                
                        if (m->control_pressed) { 
                                delete input; delete list; delete groupMap;
-                               for (i=0; i<groupMap->namesOfGroups.size(); i++) {  (*(filehandles[groupMap->namesOfGroups[i]])).close();  delete filehandles[groupMap->namesOfGroups[i]]; } 
-                               for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str()); } outputTypes.clear();
+                               for (i=0; i<gGroups.size(); i++) {  (*(filehandles[gGroups[i]])).close();  delete filehandles[gGroups[i]]; } 
+                               for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                                return 0;
                        }
                        
@@ -241,10 +243,10 @@ int ParseListCommand::execute(){
                }
                
                if (m->control_pressed) { 
-                               delete input; delete groupMap;
-                               for (i=0; i<groupMap->namesOfGroups.size(); i++) { (*(filehandles[groupMap->namesOfGroups[i]])).close();  delete filehandles[groupMap->namesOfGroups[i]]; } 
-                               for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str()); } outputTypes.clear();
-                               return 0;
+                       delete input; delete groupMap;
+                       for (i=0; i<gGroups.size(); i++) {  (*(filehandles[gGroups[i]])).close();  delete filehandles[gGroups[i]]; } 
+                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
+                       return 0;
                }
                
                //output error messages about any remaining user labels
@@ -262,10 +264,10 @@ int ParseListCommand::execute(){
                }
                
                if (m->control_pressed) { 
-                               delete input; delete groupMap;
-                               for (i=0; i<groupMap->namesOfGroups.size(); i++) {  (*(filehandles[groupMap->namesOfGroups[i]])).close();  delete filehandles[groupMap->namesOfGroups[i]]; } 
-                               for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str()); } outputTypes.clear();
-                               return 0;
+                       delete input; delete groupMap;
+                       for (i=0; i<gGroups.size(); i++) {  (*(filehandles[gGroups[i]])).close();  delete filehandles[gGroups[i]]; } 
+                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
+                       return 0;
                }
                
                //run last label if you need to
@@ -289,7 +291,7 @@ int ParseListCommand::execute(){
                delete input;
                
                if (m->control_pressed) { 
-                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str()); } outputTypes.clear();
+                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                        return 0;
                }