From: westcott Date: Wed, 18 May 2011 12:32:06 +0000 (+0000) Subject: fixed bug in chimera.uchime X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=commitdiff_plain;h=15dfbabd5aa00c468a43f1f99cb73b2ebc5b5e3f fixed bug in chimera.uchime --- diff --git a/chimeraslayercommand.cpp b/chimeraslayercommand.cpp index 097664e..a422c88 100644 --- a/chimeraslayercommand.cpp +++ b/chimeraslayercommand.cpp @@ -305,9 +305,10 @@ ChimeraSlayerCommand::ChimeraSlayerCommand(string option) { templatefile = validParameter.validFile(parameters, "reference", true); if (templatefile == "not open") { abort = true; } - else if (templatefile == "not found") { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.slayer command."); m->mothurOutEndLine(); abort = true; } + else if (templatefile == "not found") { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.slayer command, unless and namefile is given."); m->mothurOutEndLine(); abort = true; } } - } + }else if (hasName) { templatefile = "self"; } + else { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.slayer command."); m->mothurOutEndLine(); abort = true; } string temp = validParameter.validFile(parameters, "processors", false); if (temp == "not found"){ temp = m->getProcessors(); } m->setProcessors(temp); diff --git a/chimerauchimecommand.cpp b/chimerauchimecommand.cpp index a47aed0..5deeff7 100644 --- a/chimerauchimecommand.cpp +++ b/chimerauchimecommand.cpp @@ -309,9 +309,11 @@ ChimeraUchimeCommand::ChimeraUchimeCommand(string option) { templatefile = validParameter.validFile(parameters, "reference", true); if (templatefile == "not open") { abort = true; } - else if (templatefile == "not found") { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.slayer command."); m->mothurOutEndLine(); abort = true; } + else if (templatefile == "not found") { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.uchime command."); m->mothurOutEndLine(); abort = true; } } - } + }else if (hasName) { templatefile = "self"; } + else { templatefile = ""; m->mothurOut("reference is a required parameter for the chimera.uchime command, unless you have a namefile."); m->mothurOutEndLine(); abort = true; } + string temp = validParameter.validFile(parameters, "processors", false); if (temp == "not found"){ temp = m->getProcessors(); } m->setProcessors(temp); @@ -370,7 +372,7 @@ int ChimeraUchimeCommand::execute(){ int start = time(NULL); string nameFile = ""; - if (templatefile == "self") { //you want to run slayer with a refernce template + if (templatefile == "self") { //you want to run uchime with a refernce template #ifdef USE_MPI int pid; @@ -694,6 +696,8 @@ int ChimeraUchimeCommand::driver(string outputFName, string filename, string acc for(int i = 0; i < cPara.size(); i++) { delete[] cPara[i]; } delete[] uchimeParameters; + if (m->control_pressed) { return 0; } + //create accnos file from uchime results ifstream in; m->openInputFile(outputFName, in);