]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.cpp
added mothurgetpid function. fixed bug with align.seqs related to g++ 4.8 change...
[mothur.git] / pairwiseseqscommand.cpp
index c9e5ecfdfda727427793e98aaed0270cdcd6e046..357724d64ec154de5de813d5f129a373272e2cb0 100644 (file)
@@ -528,8 +528,8 @@ void PairwiseSeqsCommand::createProcesses(string filename) {
                                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(); 
@@ -671,14 +671,11 @@ int PairwiseSeqsCommand::driver(int startLine, int endLine, string dFileName, fl
                                alignment->align(seqI.getUnaligned(), seqJ.getUnaligned());
                                seqI.setAligned(alignment->getSeqAAln());
                                seqJ.setAligned(alignment->getSeqBAln());
-
-                               //cout << seqI.getName() << '\t' << seqJ.getName() << endl;
-                //cout << alignment->getSeqAAln() << endl << alignment->getSeqBAln() << endl;
                 
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
                 
-                //cout << "dist = " << dist << endl;
+                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; }
@@ -689,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;
@@ -777,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;
@@ -860,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'); 
@@ -968,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"; 
                        }
@@ -1072,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";