X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=mothur.cpp;h=9ed0dfc5d1645c5c2b65cabdb04063e300634d04;hb=6d12ed0ba66fb35e9e2781fe3ca361e2293f2476;hp=75d03e16d62a4c01b20236b42c00c1e00cd0bfc0;hpb=30c1fd8c45b6f0d66c17f2714dbb58b8ddccdce2;p=mothur.git diff --git a/mothur.cpp b/mothur.cpp index 75d03e1..9ed0dfc 100644 --- a/mothur.cpp +++ b/mothur.cpp @@ -12,7 +12,6 @@ #include "globaldata.hpp" #include "mothurout.h" - /**************************************************************************************************/ GlobalData* GlobalData::_uniqueInstance = 0; @@ -36,8 +35,7 @@ void ctrlc_handler ( int sig ) { /***********************************************************************/ int main(int argc, char *argv[]){ MothurOut* m = MothurOut::getInstance(); - try { - + try { signal(SIGINT, ctrlc_handler ); time_t ltime = time(NULL); /* calendar time */ @@ -58,7 +56,7 @@ int main(int argc, char *argv[]){ m->mothurOutEndLine(); m->mothurOutEndLine(); #else m->mothurOutJustToLog("Linux version"); - >m->mothurOutEndLine(); m->mothurOutEndLine(); + m->mothurOutEndLine(); m->mothurOutEndLine(); #endif #else @@ -72,10 +70,42 @@ int main(int argc, char *argv[]){ 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) + if (lastChar != "/") { temp += "/"; } + #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(); + #endif + + //get releaseDate from Make + string releaseDate = RELEASE_DATE; + string mothurVersion = VERSION; + m->setReleaseDate(releaseDate); + m->setVersion(mothurVersion); + //header - m->mothurOut("mothur v.1.8"); + m->mothurOut("mothur v." + mothurVersion); m->mothurOutEndLine(); - m->mothurOut("Last updated: 2/02/2010"); + m->mothurOut("Last updated: " + releaseDate); m->mothurOutEndLine(); m->mothurOutEndLine(); m->mothurOut("by"); @@ -107,7 +137,10 @@ int main(int argc, char *argv[]){ m->mothurOutEndLine(); #ifdef USE_MPI - m->mothurOutJustToLog("Using MPI\n"); + m->mothurOutJustToLog("Using MPI\tversion "); + int version, subversion; + MPI_Get_version(&version, &subversion); + m->mothurOutJustToLog(toString(version) + "." + toString(subversion) + "\n"); #endif //srand(54321); @@ -116,7 +149,7 @@ int main(int argc, char *argv[]){ Engine* mothur; bool bail = 0; string input; - + if(argc>1){ input = argv[1]; @@ -141,12 +174,37 @@ int main(int argc, char *argv[]){ while(bail == 0) { bail = mothur->getInput(); } + //closes logfile so we can rename + m->closeLog(); + string outputDir = mothur->getOutputDir(); - string newlogFileName = outputDir + logFileName; - - //need this because m->mothurOut makes the logfile, but doesn't know where to put it - rename(logFileName.c_str(), newlogFileName.c_str()); //logfile with timestamp + string tempLog = mothur->getLogFileName(); + bool append = mothur->getAppend(); + string newlogFileName; + if (tempLog != "") { + newlogFileName = outputDir + tempLog; + + if (!append) { + //need this because m->mothurOut makes the logfile, but doesn't know where to put it + rename(logFileName.c_str(), newlogFileName.c_str()); //logfile with timestamp + + }else { + ofstream outNewLog; + m->openOutputFileAppend(newlogFileName, outNewLog); + outNewLog << endl << endl << "*********************************************************************************" << endl << endl; + outNewLog.close(); + + m->appendFiles(logFileName, newlogFileName); + remove(logFileName.c_str()); + } + }else{ + newlogFileName = outputDir + logFileName; + //need this because m->mothurOut makes the logfile, but doesn't know where to put it + rename(logFileName.c_str(), newlogFileName.c_str()); //logfile with timestamp + } + + delete mothur; #ifdef USE_MPI