]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.cpp
added oligos class. added check orient parameter to trim.flows, sffinfo, fastq.info...
[mothur.git] / pairwiseseqscommand.cpp
index 767fdb52702bd1a3652d6bf2c1e2b244958e48ca..3a43123a6a8b3612e0e8abf8a275f54a10473f94 100644 (file)
@@ -522,14 +522,14 @@ void PairwiseSeqsCommand::createProcesses(string filename) {
                
                //loop through and create all the processes you want
                while (process != processors) {
-                       int pid = fork();
+                       pid_t pid = fork();
                        
                        if (pid > 0) {
                                processIDS.push_back(pid); 
                                process++;
                        }else if (pid == 0){
-                               if (output != "square") {  driver(lines[process].start, lines[process].end, filename + toString(getpid()) + ".temp", cutoff); }
-                               else { driver(lines[process].start, lines[process].end, filename + toString(getpid()) + ".temp", "square"); }
+                               if (output != "square") {  driver(lines[process].start, lines[process].end, filename + m->mothurGetpid(process) + ".temp", cutoff); }
+                               else { driver(lines[process].start, lines[process].end, filename + m->mothurGetpid(process) + ".temp", "square"); }
                                exit(0);
                        }else { 
                                m->mothurOut("[ERROR]: unable to spawn the necessary processes."); m->mothurOutEndLine(); 
@@ -564,7 +564,7 @@ void PairwiseSeqsCommand::createProcesses(string filename) {
                        string extension = toString(i) + ".temp";
 
                        // Allocate memory for thread data.
-                       pairwiseData* tempDist = new pairwiseData((filename+extension), align, "square", Estimators[0], countends, output, alignDB, m, lines[i+1].start, lines[i+1].end, match, misMatch, gapOpen, gapExtend, longestBase, i);
+                       pairwiseData* tempDist = new pairwiseData((filename+extension), align, "square", Estimators[0], countends, output, alignDB, m, lines[i+1].start, lines[i+1].end, match, misMatch, gapOpen, gapExtend, longestBase, cutoff, i);
                        pDataArray.push_back(tempDist);
                        processIDS.push_back(i);
                        
@@ -671,11 +671,12 @@ int PairwiseSeqsCommand::driver(int startLine, int endLine, string dFileName, fl
                                alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
                                seqI.setAligned(alignment->getSeqAAln());
                                seqJ.setAligned(alignment->getSeqBAln());
-
-                               
+                
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
-                               
+                
+                if (m->debug) { m->mothurOut("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
+                                               
                                if(dist <= cutoff){
                                        if (output == "column") { outFile << alignDB.get(i).getName() << ' ' << alignDB.get(j).getName() << ' ' << dist << endl; }
                                }
@@ -685,11 +686,11 @@ int PairwiseSeqsCommand::driver(int startLine, int endLine, string dFileName, fl
                        if (output == "lt") { outFile << endl; }
                        
                        if(i % 100 == 0){
-                               m->mothurOut(toString(i) + "\t" + toString(time(NULL) - startTime)); m->mothurOutEndLine();
+                               m->mothurOutJustToScreen(toString(i) + "\t" + toString(time(NULL) - startTime)+"\n");
                        }
                        
                }
-               m->mothurOut(toString(endLine-1) + "\t" + toString(time(NULL) - startTime)); m->mothurOutEndLine();
+               m->mothurOutJustToScreen(toString(endLine-1) + "\t" + toString(time(NULL) - startTime)+"\n");
                
                outFile.close();
         delete alignment;
@@ -773,17 +774,19 @@ int PairwiseSeqsCommand::driver(int startLine, int endLine, string dFileName, st
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
                                                                
-                               outFile << dist << '\t'; 
+                               outFile << dist << '\t';
+                
+                if (m->debug) { m->mothurOut("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
                        }
                        
                        outFile << endl; 
                        
                        if(i % 100 == 0){
-                               m->mothurOut(toString(i) + "\t" + toString(time(NULL) - startTime)); m->mothurOutEndLine();
+                               m->mothurOutJustToScreen(toString(i) + "\t" + toString(time(NULL) - startTime)+"\n"); 
                        }
                        
                }
-               m->mothurOut(toString(endLine-1) + "\t" + toString(time(NULL) - startTime)); m->mothurOutEndLine();
+               m->mothurOutJustToScreen(toString(endLine-1) + "\t" + toString(time(NULL) - startTime)+"\n");
                
                outFile.close();
         delete alignment;
@@ -856,6 +859,8 @@ int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, MPI_File& outMPI,
                                
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
+                
+                if (m->debug) { cout << ("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
                                
                                if(dist <= cutoff){
                                         outputString += (alignDB.get(i).getName() + ' ' + alignDB.get(j).getName() + ' ' + toString(dist) + '\n'); 
@@ -964,6 +969,8 @@ int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsi
                                
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
+                
+                if (m->debug) { cout << ("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
                                
                                outputString += toString(dist) + "\t"; 
                        }
@@ -1068,7 +1075,9 @@ int PairwiseSeqsCommand::driverMPI(int startLine, int endLine, string file, unsi
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
                                
-                               outputString += toString(dist) + "\t"; 
+                               outputString += toString(dist) + "\t";
+                
+                if (m->debug) { cout << ("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
                        }
                        
                        outputString += "\n";