X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=libshuffcommand.cpp;h=c993a06282d4abec617318d87ec9ec18bb64c5e2;hb=1a1ed6dda1d655ff006459f15c712f057c93ddaf;hp=02104142c753b626f245f256e910c4ed3351e6bb;hpb=e150b0b0664caec517485ee6d69dcdade6dcae77;p=mothur.git diff --git a/libshuffcommand.cpp b/libshuffcommand.cpp index 0210414..c993a06 100644 --- a/libshuffcommand.cpp +++ b/libshuffcommand.cpp @@ -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