X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=rarefactcommand.cpp;h=75a87efa3a2f95259488b0abf15887fb39ee1955;hp=c4a104b6c2d10468777fe673567de1c05544a1a9;hb=d1c97b8c04bb75faca1e76ffad60b37a4d789d3d;hpb=16f9c4ab6f39769856b13e048eae2c8eaa413c02 diff --git a/rarefactcommand.cpp b/rarefactcommand.cpp index c4a104b..75a87ef 100644 --- a/rarefactcommand.cpp +++ b/rarefactcommand.cpp @@ -28,19 +28,19 @@ //********************************************************************************************************************** vector RareFactCommand::setParameters(){ try { - CommandParameter plist("list", "InputTypes", "", "", "LRSS", "LRSS", "none",false,false); parameters.push_back(plist); - CommandParameter prabund("rabund", "InputTypes", "", "", "LRSS", "LRSS", "none",false,false); parameters.push_back(prabund); - CommandParameter psabund("sabund", "InputTypes", "", "", "LRSS", "LRSS", "none",false,false); parameters.push_back(psabund); - CommandParameter pshared("shared", "InputTypes", "", "", "LRSS", "LRSS", "none",false,false); parameters.push_back(pshared); - CommandParameter plabel("label", "String", "", "", "", "", "",false,false); parameters.push_back(plabel); - CommandParameter pfreq("freq", "Number", "", "100", "", "", "",false,false); parameters.push_back(pfreq); - CommandParameter piters("iters", "Number", "", "1000", "", "", "",false,false); parameters.push_back(piters); - CommandParameter pcalc("calc", "Multiple", "sobs-chao-nseqs-coverage-ace-jack-shannon-shannoneven-npshannon-heip-smithwilson-simpson-simpsoneven-invsimpson-bootstrap", "sobs", "", "", "",true,false); parameters.push_back(pcalc); - CommandParameter pabund("abund", "Number", "", "10", "", "", "",false,false); parameters.push_back(pabund); - CommandParameter pprocessors("processors", "Number", "", "1", "", "", "",false,false); parameters.push_back(pprocessors); - CommandParameter pgroupmode("groupmode", "Boolean", "", "T", "", "", "",false,false); parameters.push_back(pgroupmode); - CommandParameter pinputdir("inputdir", "String", "", "", "", "", "",false,false); parameters.push_back(pinputdir); - CommandParameter poutputdir("outputdir", "String", "", "", "", "", "",false,false); parameters.push_back(poutputdir); + CommandParameter plist("list", "InputTypes", "", "", "LRSS", "LRSS", "none","",false,false,true); parameters.push_back(plist); + CommandParameter prabund("rabund", "InputTypes", "", "", "LRSS", "LRSS", "none","",false,false); parameters.push_back(prabund); + CommandParameter psabund("sabund", "InputTypes", "", "", "LRSS", "LRSS", "none","",false,false); parameters.push_back(psabund); + CommandParameter pshared("shared", "InputTypes", "", "", "LRSS", "LRSS", "none","",false,false,true); parameters.push_back(pshared); + CommandParameter plabel("label", "String", "", "", "", "", "","",false,false); parameters.push_back(plabel); + CommandParameter pfreq("freq", "Number", "", "100", "", "", "","",false,false); parameters.push_back(pfreq); + CommandParameter piters("iters", "Number", "", "1000", "", "", "","",false,false); parameters.push_back(piters); + CommandParameter pcalc("calc", "Multiple", "sobs-chao-nseqs-coverage-ace-jack-shannon-shannoneven-npshannon-heip-smithwilson-simpson-simpsoneven-invsimpson-bootstrap", "sobs", "", "", "","",true,false,true); parameters.push_back(pcalc); + CommandParameter pabund("abund", "Number", "", "10", "", "", "","",false,false); parameters.push_back(pabund); + CommandParameter pprocessors("processors", "Number", "", "1", "", "", "","",false,false,true); parameters.push_back(pprocessors); + CommandParameter pgroupmode("groupmode", "Boolean", "", "T", "", "", "","",false,false); parameters.push_back(pgroupmode); + CommandParameter pinputdir("inputdir", "String", "", "", "", "", "","",false,false); parameters.push_back(pinputdir); + CommandParameter poutputdir("outputdir", "String", "", "", "", "", "","",false,false); parameters.push_back(poutputdir); vector myArray; for (int i = 0; i < parameters.size(); i++) { myArray.push_back(parameters[i].name); } @@ -75,39 +75,33 @@ string RareFactCommand::getHelpString(){ } } //********************************************************************************************************************** -string RareFactCommand::getOutputFileNameTag(string type, string inputName=""){ - try { - string outputFileName = ""; - map >::iterator it; +string RareFactCommand::getOutputPattern(string type) { + try { + string pattern = ""; + if (type == "rarefaction") { pattern = "[filename],rarefaction"; } + else if (type == "r_chao") { pattern = "[filename],r_chao"; } + else if (type == "r_ace") { pattern = "[filename],r_ace"; } + else if (type == "r_jack") { pattern = "[filename],r_jack"; } + else if (type == "r_shannon") { pattern = "[filename],r_shannon"; } + else if (type == "r_shannoneven") { pattern = "[filename],r_shannoneven"; } + else if (type == "r_smithwilson") { pattern = "[filename],r_smithwilson"; } + else if (type == "r_npshannon") { pattern = "[filename],r_npshannon"; } + else if (type == "r_simpson") { pattern = "[filename],r_simpson"; } + else if (type == "r_simpsoneven") { pattern = "[filename],r_simpsoneven"; } + else if (type == "r_invsimpson") { pattern = "[filename],r_invsimpson"; } + else if (type == "r_bootstrap") { pattern = "[filename],r_bootstrap"; } + else if (type == "r_coverage") { pattern = "[filename],r_coverage"; } + else if (type == "r_nseqs") { pattern = "[filename],r_nseqs"; } + else if (type == "r_heip") { pattern = "[filename],r_heip"; } + else { m->mothurOut("[ERROR]: No definition for type " + type + " output pattern.\n"); m->control_pressed = true; } - //is this a type this command creates - it = outputTypes.find(type); - if (it == outputTypes.end()) { m->mothurOut("[ERROR]: this command doesn't create a " + type + " output file.\n"); } - else { - if (type == "rarefaction") { outputFileName = "rarefaction"; } - else if (type == "r_chao") { outputFileName = "r_chao"; } - else if (type == "r_ace") { outputFileName = "r_ace"; } - else if (type == "r_jack") { outputFileName = "r_jack"; } - else if (type == "r_shannon") { outputFileName = "r_shannon"; } - else if (type == "r_shannoneven") { outputFileName = "r_shannoneven"; } - else if (type == "r_smithwilson") { outputFileName = "r_smithwilson"; } - else if (type == "r_npshannon") { outputFileName = "r_npshannon"; } - else if (type == "r_simpson") { outputFileName = "r_simpson"; } - else if (type == "r_simpsoneven") { outputFileName = "r_simpsoneven"; } - else if (type == "r_invsimpson") { outputFileName = "r_invsimpson"; } - else if (type == "r_bootstrap") { outputFileName = "r_bootstrap"; } - else if (type == "r_coverage") { outputFileName = "r_coverage"; } - else if (type == "r_nseqs") { outputFileName = "r_nseqs"; } - else { m->mothurOut("[ERROR]: No definition for type " + type + " output file tag.\n"); m->control_pressed = true; } - } - return outputFileName; - } - catch(exception& e) { - m->errorOut(e, "RareFactCommand", "getOutputFileNameTag"); - exit(1); - } + return pattern; + } + catch(exception& e) { + m->errorOut(e, "RareFactCommand", "getOutputPattern"); + exit(1); + } } - //********************************************************************************************************************** RareFactCommand::RareFactCommand(){ try { @@ -334,56 +328,58 @@ int RareFactCommand::execute(){ int i; ValidCalculators validCalculator; + map variables; + variables["[filename]"] = fileNameRoot; for (i=0; i 1) { file2Group[outputNames.size()-1] = groups[p]; } }