]> git.donarmstrong.com Git - mothur.git/blobdiff - libshuffcommand.cpp
paralellized the indicator command
[mothur.git] / libshuffcommand.cpp
index 02104142c753b626f245f256e910c4ed3351e6bb..c993a06282d4abec617318d87ec9ec18bb64c5e2 100644 (file)
@@ -138,7 +138,7 @@ LibShuffCommand::LibShuffCommand(string option)  {
                                        m->mothurOut("You must provide a phylip file."); m->mothurOutEndLine(); 
                                        abort = true;
                                } 
-                       }       
+                       }else { m->setPhylipFile(phylipfile); } 
                        
                        //check for required parameters
                        groupfile = validParameter.validFile(parameters, "group", true);
@@ -150,7 +150,7 @@ LibShuffCommand::LibShuffCommand(string option)  {
                                        m->mothurOut("You must provide a group file."); m->mothurOutEndLine(); 
                                        abort = true;
                                } 
-                       }       
+                       }else { m->setGroupFile(groupfile); }   
                        
                        //if the user changes the output directory command factory will send this info to us in the output parameter 
                        outputDir = validParameter.validFile(parameters, "outputdir", false);           if (outputDir == "not found"){  
@@ -243,7 +243,11 @@ int LibShuffCommand::execute(){
                
                        
                setGroups();                                                            //set the groups to be analyzed and sorts them
-                       
+               
+               if (numGroups < 2) { m->mothurOut("[ERROR]: libshuff requires at least 2 groups, you only have " + toString(numGroups) + ", aborting."); m->mothurOutEndLine(); m->control_pressed = true; }
+               
+               if (m->control_pressed) { delete groupMap; delete matrix; return 0; }
+               
                /********************************************************************************************/
                //this is needed because when we read the matrix we sort it into groups in alphabetical order
                //the rest of the command and the classes used in this command assume specific order