]> git.donarmstrong.com Git - mothur.git/blobdiff - venncommand.cpp
finished added bygroup processing of chimeras in chimera.slayer and chimera.uchime...
[mothur.git] / venncommand.cpp
index fb0560b38d6c5659fc7ae8b88af2160e6b479191..5a5b9b3481e6e784ed5ef7c920bff78814300431 100644 (file)
@@ -129,12 +129,12 @@ VennCommand::VennCommand(string option)  {
                        listfile = validParameter.validFile(parameters, "list", true);
                        if (listfile == "not open") { listfile = ""; abort = true; }
                        else if (listfile == "not found") { listfile = ""; }
-                       else {  format = "list"; inputfile = listfile; }
+                       else {  format = "list"; inputfile = listfile; m->setListFile(listfile); }
                        
                        sharedfile = validParameter.validFile(parameters, "shared", true);
                        if (sharedfile == "not open") { sharedfile = ""; abort = true; }        
                        else if (sharedfile == "not found") { sharedfile = ""; }
-                       else {  format = "sharedfile"; inputfile = sharedfile; }
+                       else {  format = "sharedfile"; inputfile = sharedfile; m->setSharedFile(sharedfile); }
                        
                        if ((sharedfile == "") && (listfile == "")) { 
                                //is there are current file available for any of these?
@@ -168,7 +168,7 @@ VennCommand::VennCommand(string option)  {
                        if (groups == "not found") { groups = ""; }
                        else { 
                                m->splitAtDash(groups, Groups);
-                               m->Groups = Groups;
+                               m->setGroups(Groups);
                        }
                        
                        calc = validParameter.validFile(parameters, "calc", false);                     
@@ -183,6 +183,11 @@ VennCommand::VennCommand(string option)  {
                                }
                        }
                        m->splitAtDash(calc, Estimators);
+                       if (m->inUsersGroups("citation", Estimators)) { 
+                               ValidCalculators validCalc; validCalc.printCitations(Estimators); 
+                               //remove citation from list of calcs
+                               for (int i = 0; i < Estimators.size(); i++) { if (Estimators[i] == "citation") {  Estimators.erase(Estimators.begin()+i); break; } }
+                       }
                        
                        string temp;
                        temp = validParameter.validFile(parameters, "abund", false);            if (temp == "not found") { temp = "10"; }
@@ -269,8 +274,8 @@ int VennCommand::execute(){
                                if (m->control_pressed) {
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
                                        for (int i = 0; i < lookup.size(); i++) {  delete lookup[i];  } 
-                                       m->Groups.clear(); delete venn; delete input;
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       m->clearGroups(); delete venn; delete input;
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        return 0;
                                }
 
@@ -352,8 +357,8 @@ int VennCommand::execute(){
                        
                        if (m->control_pressed) {
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
-                                       m->Groups.clear(); delete venn; delete input; 
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       m->clearGroups(); delete venn; delete input; 
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        return 0;
                        }
 
@@ -409,12 +414,12 @@ int VennCommand::execute(){
                
 
                        //reset groups parameter
-                       m->Groups.clear();  
+                       m->clearGroups();  
                        
                        if (m->control_pressed) {
-                                       m->Groups.clear(); delete venn; delete input;
+                                       m->clearGroups(); delete venn; delete input;
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        return 0;
                        }
 
@@ -426,7 +431,7 @@ int VennCommand::execute(){
                                if (m->control_pressed) {
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
                                        delete sabund; delete venn; delete input;
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        return 0;
                                }
                
@@ -467,7 +472,7 @@ int VennCommand::execute(){
                        
                        if (m->control_pressed) {
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        delete venn; delete input;
                                        return 0;
                        }
@@ -501,7 +506,7 @@ int VennCommand::execute(){
                        if (m->control_pressed) {
                                        delete venn; delete input;
                                        for (int i = 0; i < vennCalculators.size(); i++) {      delete vennCalculators[i];      }
-                                       for (int i = 0; i < outputNames.size(); i++) {  remove(outputNames[i].c_str());  }
+                                       for (int i = 0; i < outputNames.size(); i++) {  m->mothurRemove(outputNames[i]);  }
                                        return 0;
                        }
                }