X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=classifyseqscommand.cpp;h=b6dc24fe5751867c6b79f71fb50e3b7b74ad75a6;hb=d205e70ae86dbee2efc2df02f2717975854de6ba;hp=4e244905ff6b755fd064617368506b9160770048;hpb=36a6b02cf7f09d2bc34376b588944a9ca73429c5;p=mothur.git diff --git a/classifyseqscommand.cpp b/classifyseqscommand.cpp index 4e24490..b6dc24f 100644 --- a/classifyseqscommand.cpp +++ b/classifyseqscommand.cpp @@ -465,8 +465,7 @@ ClassifySeqsCommand::ClassifySeqsCommand(string option) { } } } - - } + } } catch(exception& e) { m->errorOut(e, "ClassifySeqsCommand", "ClassifySeqsCommand"); @@ -503,11 +502,17 @@ int ClassifySeqsCommand::execute(){ string baseTName = taxonomyFileName; if (taxonomyFileName == "saved") {baseTName = rdb->getSavedTaxonomy(); } - string RippedTaxName = m->getRootName(m->getSimpleName(baseTName)); - RippedTaxName = m->getExtension(RippedTaxName.substr(0, RippedTaxName.length()-1)); - if (RippedTaxName[0] == '.') { RippedTaxName = RippedTaxName.substr(1, RippedTaxName.length()); } - if (RippedTaxName != "") { RippedTaxName += "."; } - + //set rippedTaxName to + string RippedTaxName = ""; + bool foundDot = false; + for (int i = baseTName.length()-1; i >= 0; i--) { + cout << baseTName[i] << endl; + if (foundDot && (baseTName[i] != '.')) { RippedTaxName = baseTName[i] + RippedTaxName; } + else if (foundDot && (baseTName[i] == '.')) { break; } + else if (!foundDot && (baseTName[i] == '.')) { foundDot = true; } + } + if (RippedTaxName != "") { RippedTaxName += "."; } + if (outputDir == "") { outputDir += m->hasPath(fastaFileNames[s]); } string newTaxonomyFile = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + RippedTaxName + "taxonomy"; string newaccnosFile = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + RippedTaxName + "flip.accnos";