X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=secondarystructurecommand.cpp;h=ee50ab14e6183af4b2fe9979c97336ac1d9b75a5;hb=f509429e06e545bde69c97cacc0eb436775bd329;hp=fe80b7810e716264152835060f25d1f2e45c1fed;hpb=19fcbbdba99658f5eca244803280f9ee7f9f6607;p=mothur.git diff --git a/secondarystructurecommand.cpp b/secondarystructurecommand.cpp index fe80b78..ee50ab1 100644 --- a/secondarystructurecommand.cpp +++ b/secondarystructurecommand.cpp @@ -45,6 +45,26 @@ string AlignCheckCommand::getHelpString(){ } } //********************************************************************************************************************** +string AlignCheckCommand::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 == "aligncheck") { outputFileName = "align.check"; } + 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, "AlignCheckCommand", "getOutputFileNameTag"); + exit(1); + } +} +//********************************************************************************************************************** AlignCheckCommand::AlignCheckCommand(){ try { abort = true; calledHelp = true; @@ -122,7 +142,7 @@ AlignCheckCommand::AlignCheckCommand(string option) { else if (mapfile == "not found") { mapfile = ""; m->mothurOut("You must provide an map file."); m->mothurOutEndLine(); abort = true; } fastafile = validParameter.validFile(parameters, "fasta", true); - if (fastafile == "not open") { abort = true; } + if (fastafile == "not open") { fastafile = ""; abort = true; } else if (fastafile == "not found") { fastafile = m->getFastaFile(); if (fastafile != "") { m->mothurOut("Using " + fastafile + " as input file for the fasta parameter."); m->mothurOutEndLine(); } @@ -139,7 +159,11 @@ AlignCheckCommand::AlignCheckCommand(string option) { outputDir = ""; outputDir += m->hasPath(fastafile); //if user entered a file with a path then preserve it } - + + if ((namefile == "") && (fastafile != "")){ + vector files; files.push_back(fastafile); + parser.getNameFile(files); + } } } @@ -166,7 +190,7 @@ int AlignCheckCommand::execute(){ m->openInputFile(fastafile, in); ofstream out; - string outfile = outputDir + m->getRootName(m->getSimpleName(fastafile)) + "align.check"; + string outfile = outputDir + m->getRootName(m->getSimpleName(fastafile)) + getOutputFileNameTag("aligncheck"); m->openOutputFile(outfile, out);