From 65f2be9d8f9b4cf72b4aafd800fdd11ad26435fd Mon Sep 17 00:00:00 2001 From: westcott Date: Mon, 11 Apr 2011 12:17:20 +0000 Subject: [PATCH] fixed sub.sample groups bug --- catchallcommand.h | 2 +- engine.cpp | 29 ++++++++- mothur.cpp | 160 ++++++++++++++++++++++++++-------------------- mothurout.h | 3 +- 4 files changed, 121 insertions(+), 73 deletions(-) diff --git a/catchallcommand.h b/catchallcommand.h index 583191d..a1c9d0e 100644 --- a/catchallcommand.h +++ b/catchallcommand.h @@ -30,7 +30,7 @@ public: vector setParameters(); string getCommandName() { return "catchall"; } - string getCommandCategory() { return "Hypothesis Testing"; } + string getCommandCategory() { return "OTU-Based Approaches"; } string getHelpString(); int execute(); diff --git a/engine.cpp b/engine.cpp index dbdcc36..f128c46 100644 --- a/engine.cpp +++ b/engine.cpp @@ -179,6 +179,13 @@ bool InteractEngine::getInput(){ //cout << pid << " is in execute " << commandName << endl; #endif //executes valid command + mout->runParse = true; + mout->Groups.clear(); + mout->namesOfGroups.clear(); + mout->Treenames.clear(); + mout->names.clear(); + mout->saveNextLabel = ""; + Command* command = cFactory->getCommand(commandName, options); quitCommandCalled = command->execute(); @@ -353,6 +360,13 @@ bool BatchEngine::getInput(){ if ((cFactory->MPIEnabled(commandName)) || (pid == 0)) { #endif //executes valid command + mout->runParse = true; + mout->Groups.clear(); + mout->namesOfGroups.clear(); + mout->Treenames.clear(); + mout->names.clear(); + mout->saveNextLabel = ""; + Command* command = cFactory->getCommand(commandName, options); quitCommandCalled = command->execute(); @@ -455,9 +469,11 @@ bool ScriptEngine::getInput(){ if (input == "") { input = "quit()"; } - mout->mothurOutEndLine(); - mout->mothurOut("mothur > " + input); - mout->mothurOutEndLine(); + if ((!mout->gui) || (input != "quit()")) { + mout->mothurOutEndLine(); + mout->mothurOut("mothur > " + input); + mout->mothurOutEndLine(); + } #ifdef USE_MPI //send commandName @@ -505,6 +521,13 @@ bool ScriptEngine::getInput(){ //cout << pid << " is in execute" << endl; #endif //executes valid command + mout->runParse = true; + mout->Groups.clear(); + mout->namesOfGroups.clear(); + mout->Treenames.clear(); + mout->names.clear(); + mout->saveNextLabel = ""; + Command* command = cFactory->getCommand(commandName, options); quitCommandCalled = command->execute(); diff --git a/mothur.cpp b/mothur.cpp index 74e7e73..3e2a439 100644 --- a/mothur.cpp +++ b/mothur.cpp @@ -46,32 +46,15 @@ int main(int argc, char *argv[]){ m->setFileName(logFileName); - - //version #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) system("clear"); - #if defined (__APPLE__) || (__MACH__) - m->mothurOutJustToLog("Mac version"); - m->mothurOutEndLine(); m->mothurOutEndLine(); - #else - m->mothurOutJustToLog("Linux version"); - m->mothurOutEndLine(); m->mothurOutEndLine(); - #endif - #else system("CLS"); - m->mothurOutJustToLog("Windows version"); - m->mothurOutEndLine(); m->mothurOutEndLine(); - #endif - - #ifdef USE_READLINE - m->mothurOutJustToLog("Using ReadLine"); - m->mothurOutEndLine(); m->mothurOutEndLine(); #endif #ifdef MOTHUR_FILES string temp = MOTHUR_FILES; - + //add / to name if needed string lastChar = temp.substr(temp.length()-1); #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) @@ -79,20 +62,14 @@ int main(int argc, char *argv[]){ #else if (lastChar != "\\") { temp += "\\"; } #endif - + temp = m->getFullPathName(temp); m->setDefaultPath(temp); - - m->mothurOutJustToLog("Using default file location " + temp); - m->mothurOutEndLine(); m->mothurOutEndLine(); #endif - #ifdef BIT_VERSION - m->mothurOutJustToLog("Running 64Bit Version"); - m->mothurOutEndLine(); m->mothurOutEndLine(); - #else - m->mothurOutJustToLog("Running 32Bit Version"); - m->mothurOutEndLine(); m->mothurOutEndLine(); + #ifdef USE_MPI + int version, subversion; + MPI_Get_version(&version, &subversion); #endif //get releaseDate from Make @@ -101,46 +78,86 @@ int main(int argc, char *argv[]){ m->setReleaseDate(releaseDate); m->setVersion(mothurVersion); - //header - m->mothurOut("mothur v." + mothurVersion); - m->mothurOutEndLine(); - m->mothurOut("Last updated: " + releaseDate); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("by"); - m->mothurOutEndLine(); - m->mothurOut("Patrick D. Schloss"); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("Department of Microbiology & Immunology"); - m->mothurOutEndLine(); - m->mothurOut("University of Michigan"); - m->mothurOutEndLine(); - m->mothurOut("pschloss@umich.edu"); - m->mothurOutEndLine(); - m->mothurOut("http://www.mothur.org"); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("When using, please cite:"); - m->mothurOutEndLine(); - m->mothurOut("Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41."); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("Distributed under the GNU General Public License"); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("Type 'help()' for information on the commands that are available"); - m->mothurOutEndLine(); - m->mothurOutEndLine(); - m->mothurOut("Type 'quit()' to exit program"); - m->mothurOutEndLine(); + //will make the gui output "pretty" + bool guiMode = false; + if (argc>1) { + string guiInput = argv[1]; + if (guiInput[0] == '+') { guiMode = true; } + } - #ifdef USE_MPI - m->mothurOutJustToLog("Using MPI\tversion "); - int version, subversion; - MPI_Get_version(&version, &subversion); - m->mothurOutJustToLog(toString(version) + "." + toString(subversion) + "\n"); - #endif + if (!guiMode) { + //version + #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) + #if defined (__APPLE__) || (__MACH__) + m->mothurOutJustToLog("Mac version"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #else + m->mothurOutJustToLog("Linux version"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #endif + + #else + m->mothurOutJustToLog("Windows version"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #endif + + #ifdef USE_READLINE + m->mothurOutJustToLog("Using ReadLine"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #endif + + #ifdef MOTHUR_FILES + m->mothurOutJustToLog("Using default file location " + temp); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #endif + + #ifdef BIT_VERSION + m->mothurOutJustToLog("Running 64Bit Version"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #else + m->mothurOutJustToLog("Running 32Bit Version"); + m->mothurOutEndLine(); m->mothurOutEndLine(); + #endif + + //header + m->mothurOut("mothur v." + mothurVersion); + m->mothurOutEndLine(); + m->mothurOut("Last updated: " + releaseDate); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("by"); + m->mothurOutEndLine(); + m->mothurOut("Patrick D. Schloss"); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("Department of Microbiology & Immunology"); + m->mothurOutEndLine(); + m->mothurOut("University of Michigan"); + m->mothurOutEndLine(); + m->mothurOut("pschloss@umich.edu"); + m->mothurOutEndLine(); + m->mothurOut("http://www.mothur.org"); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("When using, please cite:"); + m->mothurOutEndLine(); + m->mothurOut("Schloss, P.D., et al., Introducing mothur: Open-source, platform-independent, community-supported software for describing and comparing microbial communities. Appl Environ Microbiol, 2009. 75(23):7537-41."); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("Distributed under the GNU General Public License"); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("Type 'help()' for information on the commands that are available"); + m->mothurOutEndLine(); + m->mothurOutEndLine(); + m->mothurOut("Type 'quit()' to exit program"); + m->mothurOutEndLine(); + + #ifdef USE_MPI + m->mothurOutJustToLog("Using MPI\tversion "); + m->mothurOutJustToLog(toString(version) + "." + toString(subversion) + "\n"); + #endif + } //srand(54321); srand( (unsigned)time( NULL ) ); @@ -151,12 +168,16 @@ int main(int argc, char *argv[]){ if(argc>1){ input = argv[1]; + //m->mothurOut("input = " + input); m->mothurOutEndLine(); if (input[0] == '#') { m->mothurOutJustToLog("Script Mode"); m->mothurOutEndLine(); m->mothurOutEndLine(); mothur = new ScriptEngine(argv[0], argv[1]); + }else if (input[0] == '+') { + mothur = new ScriptEngine(argv[0], argv[1]); + m->gui = true; }else{ m->mothurOutJustToLog("Batch Mode"); m->mothurOutEndLine(); m->mothurOutEndLine(); @@ -191,7 +212,10 @@ int main(int argc, char *argv[]){ }else { ofstream outNewLog; m->openOutputFileAppend(newlogFileName, outNewLog); - outNewLog << endl << endl << "*********************************************************************************" << endl << endl; + + if (!m->gui) { + outNewLog << endl << endl << "*********************************************************************************" << endl << endl; + } outNewLog.close(); m->appendFiles(logFileName, newlogFileName); diff --git a/mothurout.h b/mothurout.h index f20d5c1..57d3f76 100644 --- a/mothurout.h +++ b/mothurout.h @@ -95,7 +95,7 @@ class MothurOut { unsigned int fromBase36(string); int control_pressed; - bool executing, runParse, jumble; + bool executing, runParse, jumble, gui; //current files - if you add a new type you must edit optionParser->getParameters, get.current command and mothurOut->printCurrentFiles/clearCurrentFiles. string getPhylipFile() { return phylipfile; } @@ -169,6 +169,7 @@ class MothurOut { accnosfile = ""; taxonomyfile = ""; processors = "1"; + gui = false; }; ~MothurOut(); -- 2.39.2