]> git.donarmstrong.com Git - mothur.git/blobdiff - engine.cpp
chimera.slayer debugging
[mothur.git] / engine.cpp
index 54197174e1fa3da14861614734b1dc58314a466a..d595be332eed785c27037710396d1a7dd46c845e 100644 (file)
@@ -95,14 +95,13 @@ string Engine::findMothursPath(){
 
 InteractEngine::InteractEngine(string path){
 
-       globaldata = GlobalData::getInstance();
        
        string temppath = path.substr(0, (path.find_last_of("othur")-5));
        
        //this will happen if you set the path variable to contain mothur's exe location
        if (temppath == "") { path = findMothursPath(); }
        
-       globaldata->argv = path;
+       mout->argv = path;
 }
 
 /***********************************************************************/
@@ -180,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();
                                                        
@@ -250,7 +256,6 @@ string Engine::getCommand()  {
 //This function opens the batchfile to be used by BatchEngine::getInput.
 BatchEngine::BatchEngine(string path, string batchFileName){
        try {
-               globaldata = GlobalData::getInstance();
        
                openedBatch = mout->openInputFile(batchFileName, inputBatchFile);
                
@@ -259,7 +264,7 @@ BatchEngine::BatchEngine(string path, string batchFileName){
                //this will happen if you set the path variable to contain mothur's exe location
                if (temppath == "") { path = findMothursPath(); }
                
-               globaldata->argv = path;
+               mout->argv = path;
                                
        }
        catch(exception& e) {
@@ -355,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();
                                                        
@@ -406,7 +418,6 @@ string BatchEngine::getNextCommand(ifstream& inputBatchFile) {
 //This function opens the batchfile to be used by BatchEngine::getInput.
 ScriptEngine::ScriptEngine(string path, string commandString){
        try {
-               globaldata = GlobalData::getInstance();
                
                //remove quotes
                listOfCommands = commandString.substr(1, (commandString.length()-1));
@@ -416,7 +427,7 @@ ScriptEngine::ScriptEngine(string path, string commandString){
                //this will happen if you set the path variable to contain mothur's exe location
                if (temppath == "") { path = findMothursPath(); }
                
-               globaldata->argv = path;
+               mout->argv = path;
                                
        }
        catch(exception& e) {
@@ -458,9 +469,13 @@ bool ScriptEngine::getInput(){
                        
                        if (input == "") { input = "quit()"; }
                        
-                       mout->mothurOutEndLine();
-                       mout->mothurOut("mothur > " + input);
-                       mout->mothurOutEndLine();
+                       if (mout->gui) {
+                               if ((input.find("quit") != string::npos) || (input.find("set.logfile") != string::npos)) {}
+                               else if ((input.find("get.current") != string::npos) && (!mout->hasCurrentFiles())) {}
+                               else { mout->mothurOutEndLine(); mout->mothurOut("mothur > " + input); mout->mothurOutEndLine(); }
+                       }else{
+                               mout->mothurOutEndLine(); mout->mothurOut("mothur > " + input); mout->mothurOutEndLine();
+                       }
                        
                        #ifdef USE_MPI
                                //send commandName
@@ -508,6 +523,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();