]> git.donarmstrong.com Git - mothur.git/blobdiff - chimeraslayercommand.cpp
paralellized rarefaction.single
[mothur.git] / chimeraslayercommand.cpp
index 8a80d4dc2517309b3778186ed6ac4e5c937a73f1..d2f3067a3beb153242cfd5c945156e0e11f42b9b 100644 (file)
@@ -95,10 +95,7 @@ ChimeraSlayerCommand::ChimeraSlayerCommand(string option)  {
                        }
                        
                        //if the user changes the output directory command factory will send this info to us in the output parameter 
-                       outputDir = validParameter.validFile(parameters, "outputdir", false);           if (outputDir == "not found"){  
-                               outputDir = ""; 
-                               outputDir += m->hasPath(fastafile); //if user entered a file with a path then preserve it       
-                       }
+                       outputDir = validParameter.validFile(parameters, "outputdir", false);           if (outputDir == "not found"){  outputDir = ""; }
 
                        templatefile = validParameter.validFile(parameters, "template", true);
                        if (templatefile == "not open") { abort = true; }
@@ -218,7 +215,8 @@ int ChimeraSlayerCommand::execute(){
                        int start = time(NULL); 
                        
                        chimera = new ChimeraSlayer(fastaFileNames[s], templatefile, search, ksize, match, mismatch, window, divR, minSimilarity, minCoverage, minBS, minSNP, parents, iters, increment, numwanted, realign);   
-                                                       
+                       
+                       if (outputDir == "") { outputDir = m->hasPath(fastaFileNames[s]);  }//if user entered a file with a path then preserve it                               
                        string outputFileName = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s])) + "slayer.chimeras";
                        string accnosFileName = outputDir + m->getRootName(m->getSimpleName(fastaFileNames[s]))  + "slayer.accnos";
                        
@@ -439,8 +437,12 @@ int ChimeraSlayerCommand::driver(linePair* filePos, string outputFName, string f
                        }
                        delete candidateSeq;
                        
-                       unsigned long int pos = inFASTA.tellg();
-                       if ((pos == -1) || (pos >= filePos->end)) { break; }
+                       #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+                               unsigned long int pos = inFASTA.tellg();
+                               if ((pos == -1) || (pos >= filePos->end)) { break; }
+                       #else
+                               if (inFASTA.eof()) { break; }
+                       #endif
                        
                        //report progress
                        if((count) % 100 == 0){ m->mothurOut("Processing sequence: " + toString(count)); m->mothurOutEndLine();         }