]> git.donarmstrong.com Git - mothur.git/blobdiff - mothur.cpp
rewrote metastats command in c++, added mothurRemove function to handle ~ error....
[mothur.git] / mothur.cpp
index 3e2a4397dd155f6969af09406d7f34d2999efebd..c9914229c9d41c72da266a46d5f26516e0f60fe4 100644 (file)
@@ -9,14 +9,14 @@
  
 #include "mothur.h"
 #include "engine.hpp"
-#include "globaldata.hpp"
 #include "mothurout.h"
+#include "referencedb.h"
 
 /**************************************************************************************************/
 
 CommandFactory* CommandFactory::_uniqueInstance = 0;
 MothurOut* MothurOut::_uniqueInstance = 0;
-
+ReferenceDB* ReferenceDB::myInstance = 0;
 /***********************************************************************/
 volatile int ctrlc_pressed = 0;
 void ctrlc_handler ( int sig ) {
@@ -79,13 +79,14 @@ int main(int argc, char *argv[]){
                m->setVersion(mothurVersion);
                
                //will make the gui output "pretty"
-               bool guiMode = false;
+               bool outputHeader = true;
                if (argc>1) {
                        string guiInput = argv[1];
-                       if (guiInput[0] == '+') { guiMode = true; }
+                       if (guiInput[0] == '+') { outputHeader = false; }
+                       if (guiInput[0] == '-') { outputHeader = false; }
                }
                
-               if (!guiMode) {
+               if (outputHeader)  {
                        //version
                        #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
                                #if defined (__APPLE__) || (__MACH__)
@@ -162,7 +163,7 @@ int main(int argc, char *argv[]){
                //srand(54321);
                srand( (unsigned)time( NULL ) );
                
-               Engine* mothur;
+               Engine* mothur = NULL;
                bool bail = 0;
                string input;
  
@@ -178,6 +179,12 @@ int main(int argc, char *argv[]){
                        }else if (input[0] == '+') {
                                        mothur = new ScriptEngine(argv[0], argv[1]);
                                        m->gui = true;
+                       }else if (input == "-version") {
+                               m->mothurOut("Mothur version=" + mothurVersion + "\nRelease Date=" + releaseDate); m->mothurOutEndLine(); m->mothurOutEndLine(); m->closeLog();
+                               #ifdef USE_MPI
+                                       MPI_Finalize();
+                               #endif
+                               return 0;
                        }else{
                                m->mothurOutJustToLog("Batch Mode");
                                m->mothurOutEndLine(); m->mothurOutEndLine();
@@ -215,11 +222,13 @@ int main(int argc, char *argv[]){
                                
                                if (!m->gui) {
                                        outNewLog << endl << endl << "*********************************************************************************" << endl << endl;
+                               }else {
+                                       outNewLog << endl;
                                }
                                outNewLog.close();
                                
                                m->appendFiles(logFileName, newlogFileName);
-                               remove(logFileName.c_str());
+                               m->mothurRemove(logFileName);
                        }
                }else{  
                        newlogFileName = outputDir + logFileName;
@@ -228,7 +237,7 @@ int main(int argc, char *argv[]){
                }
                
                                
-               delete mothur;
+               if (mothur != NULL) { delete mothur; }
                
                #ifdef USE_MPI
                        MPI_Finalize();