X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=getcoremicrobiomecommand.cpp;h=63af3abb3a595cff133a2caac91dea1aa1e420c1;hb=49d2b7459c5027557564b21e9487dadafbbbdc96;hp=97e2c7a47d47003b20e6eacd2a42d25a4ad7f9e4;hpb=f816b683e586575bfe3479760a8afd5ab08e8573;p=mothur.git diff --git a/getcoremicrobiomecommand.cpp b/getcoremicrobiomecommand.cpp index 97e2c7a..63af3ab 100644 --- a/getcoremicrobiomecommand.cpp +++ b/getcoremicrobiomecommand.cpp @@ -6,7 +6,7 @@ // Copyright (c) 2012 Schloss Lab. All rights reserved. // -#include "GetCoreMicroBiomeCommand.h" +#include "getcoremicrobiomecommand.h" //********************************************************************************************************************** @@ -51,13 +51,34 @@ string GetCoreMicroBiomeCommand::getHelpString(){ exit(1); } } +//********************************************************************************************************************** +string GetCoreMicroBiomeCommand::getOutputFileNameTag(string type, string inputName=""){ + try { + string outputFileName = ""; + map >::iterator it; + + //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 == "coremicrobiome") { outputFileName = "core.microbiome"; } + 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, "GetCoreMicroBiomeCommand", "getOutputFileNameTag"); + exit(1); + } +} + //********************************************************************************************************************** GetCoreMicroBiomeCommand::GetCoreMicroBiomeCommand(){ try { abort = true; calledHelp = true; setParameters(); vector tempOutNames; - outputTypes["coremicrobiom"] = tempOutNames; + outputTypes["coremicrobiome"] = tempOutNames; } catch(exception& e) { m->errorOut(e, "GetCoreMicroBiomeCommand", "GetCoreMicroBiomeCommand"); @@ -111,7 +132,9 @@ GetCoreMicroBiomeCommand::GetCoreMicroBiomeCommand(string option) { } } - + vector tempOutNames; + outputTypes["coremicrobiome"] = tempOutNames; + //check for parameters sharedfile = validParameter.validFile(parameters, "shared", true); if (sharedfile == "not open") { abort = true; } @@ -285,8 +308,8 @@ int GetCoreMicroBiomeCommand::execute(){ int GetCoreMicroBiomeCommand::createTable(vector& lookup){ try { - string outputFileName = outputDir + m->getRootName(m->getSimpleName(inputFileName)) + lookup[0]->getLabel() + ".core.microbiom"; - outputNames.push_back(outputFileName); outputTypes["coremicrobiom"].push_back(outputFileName); + string outputFileName = outputDir + m->getRootName(m->getSimpleName(inputFileName)) + lookup[0]->getLabel() + getOutputFileNameTag("coremicrobiome"); + outputNames.push_back(outputFileName); outputTypes["coremicrobiome"].push_back(outputFileName); ofstream out; m->openOutputFile(outputFileName, out); @@ -370,8 +393,8 @@ int GetCoreMicroBiomeCommand::createTable(vector& look if (m->control_pressed) { return 0; } if ((samples != -1) || (abund != -1)) { - string outputFileName2 = outputDir + m->getRootName(m->getSimpleName(inputFileName)) + lookup[0]->getLabel() + ".core.microbiomlist"; - outputNames.push_back(outputFileName2); outputTypes["coremicrobiom"].push_back(outputFileName2); + string outputFileName2 = outputDir + m->getRootName(m->getSimpleName(inputFileName)) + lookup[0]->getLabel() + ".core.microbiomelist"; + outputNames.push_back(outputFileName2); outputTypes["coremicrobiome"].push_back(outputFileName2); ofstream out2; m->openOutputFile(outputFileName2, out2);