]> git.donarmstrong.com Git - mothur.git/blobdiff - parselistscommand.cpp
rewrote metastats command in c++, added mothurRemove function to handle ~ error....
[mothur.git] / parselistscommand.cpp
index c79eb63c31b576359f8b6bf270bea83ba25028d2..9459294fa49945a00b270c1d98529de0a93c008d 100644 (file)
@@ -66,6 +66,7 @@ ParseListCommand::ParseListCommand(string option)  {
                        
                //allow user to run help
                if(option == "help") { help(); abort = true; calledHelp = true; }
+               else if(option == "citation") { citation(); abort = true; calledHelp = true;}
                
                else {
                        vector<string> myArray = setParameters();
@@ -122,7 +123,7 @@ ParseListCommand::ParseListCommand(string option)  {
                                        abort = true;
                                                
                                }
-                       }       
+                       }else { m->setListFile(listfile); }     
                        
                        groupfile = validParameter.validFile(parameters, "group", true);
                        if (groupfile == "not open") { abort = true; }  
@@ -136,6 +137,7 @@ ParseListCommand::ParseListCommand(string option)  {
                                        if (error == 1) { abort = true; }
                                }else { m->mothurOut("No valid current group file. You must provide a group file."); m->mothurOutEndLine();  abort = true; } 
                        }else {  
+                               m->setGroupFile(groupfile);
                                groupMap = new GroupMap(groupfile);
                                
                                int error = groupMap->readMap();
@@ -193,7 +195,7 @@ 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 (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                        return 0;
                }
                
@@ -202,7 +204,7 @@ 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 (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                                return 0;
                        }
                        
@@ -241,7 +243,7 @@ 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();
+                               for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                                return 0;
                }
                
@@ -262,7 +264,7 @@ 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();
+                               for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]); } outputTypes.clear();
                                return 0;
                }
                
@@ -287,7 +289,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;
                }