X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=splitgroupscommand.cpp;h=1cbc2fcc6810913b5f85636c7de96fa281c1b5d0;hb=f598bd8389840cf030d61f5da7d0b2c3e37c06ba;hp=6f8788a28daed38deeed9b419b28b699cffb6b55;hpb=cea46f0830d8d1a6dc26e3410fc283d26c355831;p=mothur.git diff --git a/splitgroupscommand.cpp b/splitgroupscommand.cpp index 6f8788a..1cbc2fc 100644 --- a/splitgroupscommand.cpp +++ b/splitgroupscommand.cpp @@ -10,6 +10,55 @@ #include "splitgroupscommand.h" #include "sharedutilities.h" +//********************************************************************************************************************** +vector SplitGroupCommand::getValidParameters(){ + try { + string Array[] = {"name","group","groups","fasta","outputdir","inputdir"}; + vector myArray (Array, Array+(sizeof(Array)/sizeof(string))); + return myArray; + } + catch(exception& e) { + m->errorOut(e, "SplitGroupCommand", "getValidParameters"); + exit(1); + } +} +//********************************************************************************************************************** +vector SplitGroupCommand::getRequiredParameters(){ + try { + string Array[] = {"fasta","group"}; + vector myArray (Array, Array+(sizeof(Array)/sizeof(string))); + return myArray; + } + catch(exception& e) { + m->errorOut(e, "SplitGroupCommand", "getRequiredParameters"); + exit(1); + } +} +//********************************************************************************************************************** +vector SplitGroupCommand::getRequiredFiles(){ + try { + vector myArray; + return myArray; + } + catch(exception& e) { + m->errorOut(e, "SplitGroupCommand", "getRequiredFiles"); + exit(1); + } +} +//********************************************************************************************************************** +SplitGroupCommand::SplitGroupCommand(){ + try { + abort = true; + //initialize outputTypes + vector tempOutNames; + outputTypes["fasta"] = tempOutNames; + outputTypes["name"] = tempOutNames; + } + catch(exception& e) { + m->errorOut(e, "SplitGroupCommand", "SplitGroupCommand"); + exit(1); + } +} //********************************************************************************************************************** SplitGroupCommand::SplitGroupCommand(string option) { try { @@ -33,7 +82,12 @@ SplitGroupCommand::SplitGroupCommand(string option) { for (it = parameters.begin(); it != parameters.end(); it++) { if (validParameter.isValidParameter(it->first, myArray, it->second) != true) { abort = true; } } - + + //initialize outputTypes + vector tempOutNames; + outputTypes["fasta"] = tempOutNames; + outputTypes["name"] = tempOutNames; + //if the user changes the input directory command factory will send this info to us in the output parameter string inputDir = validParameter.validFile(parameters, "inputdir", false); if (inputDir == "not found"){ inputDir = ""; } @@ -187,13 +241,13 @@ int SplitGroupCommand::splitFasta() { temp = new ofstream; filehandles[Groups[i]+"fasta"] = temp; m->openOutputFile(filerootFasta + Groups[i] + ".fasta", *(filehandles[Groups[i]+"fasta"])); - outputNames.push_back(filerootFasta + Groups[i] + ".fasta"); + outputNames.push_back(filerootFasta + Groups[i] + ".fasta"); outputTypes["fasta"].push_back(filerootFasta + Groups[i] + ".fasta"); if (namefile != "") { temp2 = new ofstream; filehandles[Groups[i]+"name"] = temp2; m->openOutputFile(filerootName + Groups[i] + ".names", *(filehandles[Groups[i]+"name"])); - outputNames.push_back(filerootName + Groups[i] + ".names"); + outputNames.push_back(filerootName + Groups[i] + ".names"); outputTypes["name"].push_back(filerootFasta + Groups[i] + ".names"); } }