X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=makebiomcommand.cpp;h=9e8d3e39cb58e31e9f3dca2eeff35257eadd537a;hb=5b72d1cf3fa48730e5bb70d59cced1e43e1fe424;hp=acd0500963d096acfb5d1ea453cc9186feafe783;hpb=0caf3fbabaa3ece404f8ce77f4c883dc5b1bf1dc;p=mothur.git diff --git a/makebiomcommand.cpp b/makebiomcommand.cpp index acd0500..9e8d3e3 100644 --- a/makebiomcommand.cpp +++ b/makebiomcommand.cpp @@ -129,6 +129,27 @@ string MakeBiomCommand::getHelpString(){ exit(1); } } +//********************************************************************************************************************** +string MakeBiomCommand::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 == "biom") { outputFileName = "biom"; } + 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, "MakeBiomCommand", "getOutputFileNameTag"); + exit(1); + } +} + //********************************************************************************************************************** MakeBiomCommand::MakeBiomCommand(){ try { @@ -165,7 +186,7 @@ MakeBiomCommand::MakeBiomCommand(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["biom"] = tempOutNames; @@ -352,7 +373,7 @@ int MakeBiomCommand::execute(){ int MakeBiomCommand::getBiom(vector& lookup){ try { - string outputFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + lookup[0]->getLabel() + ".biom"; + string outputFileName = outputDir + m->getRootName(m->getSimpleName(sharedfile)) + lookup[0]->getLabel() + "." + getOutputFileNameTag("biom"); ofstream out; m->openOutputFile(outputFileName, out); outputNames.push_back(outputFileName); outputTypes["biom"].push_back(outputFileName); @@ -612,7 +633,7 @@ vector MakeBiomCommand::parseTax(string tax, vector& scores) { scores.push_back(confidenceScore); }else{ scores.push_back("null"); } } - } + }else{ scores.push_back("null"); } //strip "" if they are there pos = taxon.find("\"");