X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=clearcutcommand.cpp;h=a2d0aaa5331a402a538d253e4d1f00d7800fa77e;hb=1b4b18b3e6fa1436b7cc6dcb14c749ac1ae1bdd8;hp=c76de383fce839d31dd95e56bb7288a6df617d3c;hpb=2bf3df7736ef2a17286d99394e211f51751d6829;p=mothur.git diff --git a/clearcutcommand.cpp b/clearcutcommand.cpp index c76de38..a2d0aaa 100644 --- a/clearcutcommand.cpp +++ b/clearcutcommand.cpp @@ -8,9 +8,62 @@ */ #include "clearcutcommand.h" +#ifdef __cplusplus +extern "C" { +#endif #include "clearcut.h" - - +#ifdef __cplusplus +} +#endif +//********************************************************************************************************************** +vector ClearcutCommand::getValidParameters(){ + try { + string AlignArray[] = {"fasta","phylip","version","verbose","quiet","seed","norandom","shuffle","neighbor","expblen", + "expdist","ntrees","matrixout","stdout","kimura","jukes","protein","DNA","outputdir","inputdir"}; + vector myArray (AlignArray, AlignArray+(sizeof(AlignArray)/sizeof(string))); + return myArray; + } + catch(exception& e) { + m->errorOut(e, "ClearcutCommand", "getValidParameters"); + exit(1); + } +} +//********************************************************************************************************************** +ClearcutCommand::ClearcutCommand(){ + try { + abort = true; + //initialize outputTypes + vector tempOutNames; + outputTypes["tree"] = tempOutNames; + outputTypes["matrixout"] = tempOutNames; + } + catch(exception& e) { + m->errorOut(e, "ClearcutCommand", "ClearcutCommand"); + exit(1); + } +}//********************************************************************************************************************** +vector ClearcutCommand::getRequiredParameters(){ + try { + string Array[] = {"fasta","phylip","or"}; + vector myArray (Array, Array+(sizeof(Array)/sizeof(string))); + return myArray; + } + catch(exception& e) { + m->errorOut(e, "ClearcutCommand", "getRequiredParameters"); + exit(1); + } +} +//********************************************************************************************************************** +vector ClearcutCommand::getRequiredFiles(){ + try { + vector myArray; + return myArray; + } + catch(exception& e) { + m->errorOut(e, "ClearcutCommand", "getRequiredFiles"); + exit(1); + } +} /**************************************************************************************/ ClearcutCommand::ClearcutCommand(string option) { try { @@ -36,6 +89,11 @@ ClearcutCommand::ClearcutCommand(string option) { if (validParameter.isValidParameter(it->first, myArray, it->second) != true) { abort = true; } } + //initialize outputTypes + vector tempOutNames; + outputTypes["tree"] = tempOutNames; + outputTypes["matrixout"] = 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 = ""; } @@ -177,6 +235,7 @@ int ClearcutCommand::execute() { //prepare filename string outputName = outputDir + m->getRootName(m->getSimpleName(inputFile)) + "tre"; + outputNames.push_back(outputName); outputTypes["tree"].push_back(outputName); vector cPara; @@ -226,6 +285,8 @@ int ClearcutCommand::execute() { char* temp = new char[tempMatrix.length()]; strcpy(temp, tempMatrix.c_str()); cPara.push_back(temp); + outputNames.push_back((outputDir + matrixout)); + outputTypes["matrixout"].push_back((outputDir + matrixout)); } if (ntrees != "1") { @@ -252,8 +313,7 @@ int ClearcutCommand::execute() { if (!stdoutWanted) { m->mothurOutEndLine(); m->mothurOut("Output File Names: "); m->mothurOutEndLine(); - m->mothurOut(outputName); m->mothurOutEndLine(); - if (matrixout != "") { m->mothurOut(outputDir+matrixout); m->mothurOutEndLine(); } + for (int i = 0; i < outputNames.size(); i++) { m->mothurOut(outputNames[i]); m->mothurOutEndLine(); } m->mothurOutEndLine(); }