]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.h
changes while testing
[mothur.git] / pairwiseseqscommand.h
index 06dbad975bc6f6b3035024f1260108e65470db64..90c21b25a7c35c47834ea7311f3e7f969163fc98 100644 (file)
@@ -95,7 +95,7 @@ struct pairwiseData {
     SequenceDB alignDB;
        
        pairwiseData(){}
-       pairwiseData(string ofn, string al, string sq, string di, bool co, string op, SequenceDB DB, MothurOut* mout, unsigned long long st, unsigned long long en, float ma, float misMa, float gapO, float gapE, int thr, int tid) {
+       pairwiseData(string ofn, string al, string sq, string di, bool co, string op, SequenceDB DB, MothurOut* mout, unsigned long long st, unsigned long long en, float ma, float misMa, float gapO, float gapE, int thr, float cu, int tid) {
                outputFileName = ofn;
                m = mout;
                start = st;
@@ -112,6 +112,7 @@ struct pairwiseData {
         alignDB = DB;
                count = 0;
         output = op;
+        cutoff = cu;
                threadID = tid;
        }
 };
@@ -192,17 +193,19 @@ static DWORD WINAPI MyPairwiseSquareThreadFunction(LPVOID lpParam){
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
                 
+                if (pDataArray->m->debug) { pDataArray->m->mothurOut("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
+                
                                outFile << dist << '\t'; 
                        }
                        
                        outFile << endl; 
                        
                        if(i % 100 == 0){
-                               pDataArray->m->mothurOut(toString(i) + "\t" + toString(time(NULL) - startTime)); pDataArray->m->mothurOutEndLine();
+                               pDataArray->m->mothurOutJustToScreen(toString(i) + "\t" + toString(time(NULL) - startTime)+"\n"); 
                        }
                        
                }
-               pDataArray->m->mothurOut(toString(pDataArray->count) + "\t" + toString(time(NULL) - startTime)); pDataArray->m->mothurOutEndLine();
+               pDataArray->m->mothurOutJustToScreen(toString(pDataArray->count) + "\t" + toString(time(NULL) - startTime)+"\n");
                
                outFile.close();
         delete alignment;
@@ -225,8 +228,6 @@ static DWORD WINAPI MyPairwiseThreadFunction(LPVOID lpParam){
                ofstream outFile((pDataArray->outputFileName).c_str(), ios::trunc);
                outFile.setf(ios::fixed, ios::showpoint);
                outFile << setprecision(4);
-               
-        pDataArray->count = pDataArray->end;
         
         int startTime = time(NULL);
         
@@ -259,7 +260,9 @@ static DWORD WINAPI MyPairwiseThreadFunction(LPVOID lpParam){
         
         if((pDataArray->output == "lt") && pDataArray->start == 0){    outFile << pDataArray->alignDB.getNumSeqs() << endl;    }
                
+        pDataArray->count = 0;
                for(int i=pDataArray->start;i<pDataArray->end;i++){
+            pDataArray->count++;
             
                        if(pDataArray->output == "lt")  {       
                                string name = pDataArray->alignDB.get(i).getName();
@@ -292,6 +295,8 @@ static DWORD WINAPI MyPairwiseThreadFunction(LPVOID lpParam){
                                distCalculator->calcDist(seqI, seqJ);
                                double dist = distCalculator->getDist();
                 
+                if (pDataArray->m->debug) { pDataArray->m->mothurOut("[DEBUG]: " + seqI.getName() + '\t' +  alignment->getSeqAAln() + '\n' + seqJ.getName() + alignment->getSeqBAln() + '\n' + "distance = " + toString(dist) + "\n"); }
+                
                                if(dist <= pDataArray->cutoff){
                                        if (pDataArray->output == "column") { outFile << pDataArray->alignDB.get(i).getName() << ' ' << pDataArray->alignDB.get(j).getName() << ' ' << dist << endl; }
                                }
@@ -301,11 +306,11 @@ static DWORD WINAPI MyPairwiseThreadFunction(LPVOID lpParam){
                        if (pDataArray->output == "lt") { outFile << endl; }
                        
                        if(i % 100 == 0){
-                               pDataArray->m->mothurOut(toString(i) + "\t" + toString(time(NULL) - startTime)); pDataArray->m->mothurOutEndLine();
+                               pDataArray->m->mothurOutJustToScreen(toString(i) + "\t" + toString(time(NULL) - startTime)+"\n"); 
                        }
                        
                }
-               pDataArray->m->mothurOut(toString(pDataArray->end-1) + "\t" + toString(time(NULL) - startTime)); pDataArray->m->mothurOutEndLine();
+               pDataArray->m->mothurOutJustToScreen(toString(pDataArray->end-1) + "\t" + toString(time(NULL) - startTime)+"\n");
                
                outFile.close();
         delete alignment;