]> git.donarmstrong.com Git - mothur.git/blobdiff - pairwiseseqscommand.h
changes while testing
[mothur.git] / pairwiseseqscommand.h
index 33fcfca0b6d0207ed1f282a36061893805745203..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;
        }
 };
@@ -128,7 +129,7 @@ static DWORD WINAPI MyPairwiseSquareThreadFunction(LPVOID lpParam){
                outFile.setf(ios::fixed, ios::showpoint);
                outFile << setprecision(4);
                
-               pDataArray->count = pDataArray->end;
+               pDataArray->count = 0;
         
         int startTime = time(NULL);
         
@@ -162,6 +163,7 @@ static DWORD WINAPI MyPairwiseSquareThreadFunction(LPVOID lpParam){
         if(pDataArray->start == 0){    outFile << pDataArray->alignDB.getNumSeqs() << endl;    }
                
                for(int i=pDataArray->start;i<pDataArray->end;i++){
+            pDataArray->count++;
             
                        string name = pDataArray->alignDB.get(i).getName();
                        //pad with spaces to make compatible
@@ -191,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->end-1) + "\t" + toString(time(NULL) - startTime)); pDataArray->m->mothurOutEndLine();
+               pDataArray->m->mothurOutJustToScreen(toString(pDataArray->count) + "\t" + toString(time(NULL) - startTime)+"\n");
                
                outFile.close();
         delete alignment;
@@ -224,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);
         
@@ -258,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();
@@ -291,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; }
                                }
@@ -300,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;