]> git.donarmstrong.com Git - mothur.git/blobdiff - nast.cpp
added pairwise.seqs
[mothur.git] / nast.cpp
index 90c8383f2a8a6fb23467d6b662879dfde5fd8f49..28cc659e9c5a6090bcd6cb5edecdc7cf9d6c9ec0 100644 (file)
--- a/nast.cpp
+++ b/nast.cpp
@@ -25,8 +25,10 @@ Nast::Nast(Alignment* method, Sequence* cand, Sequence* temp) : alignment(method
        try {
                m = MothurOut::getInstance();
                maxInsertLength = 0;
+       
                pairwiseAlignSeqs();    //      This is part A in Fig. 2 of DeSantis et al.
                regapSequences();               //      This is parts B-F in Fig. 2 of DeSantis et al.
+               
        }
        catch(exception& e) {
                m->errorOut(e, "Nast", "Nast");
@@ -187,7 +189,6 @@ void Nast::removeExtraGaps(string& candAln, string tempAln, string newTemplateAl
                                                }
                                        }
                                        i -= insertLength;
-       //if (i < 0) { cout << " we have a negative i = " << i << endl; }
 
                                }
                                else{
@@ -208,6 +209,9 @@ void Nast::removeExtraGaps(string& candAln, string tempAln, string newTemplateAl
                                }
                        
 //                             i -= insertLength;
+                               
+                               //if i is negative, we want to remove the extra gaps to the right
+                               if (i < 0) { cout << "i is negative" << endl; }
                        } 
                }
        }
@@ -221,7 +225,7 @@ void Nast::removeExtraGaps(string& candAln, string tempAln, string newTemplateAl
 
 void Nast::regapSequences(){   //This is essentially part B in Fig 2. of DeSantis et al.
        try { 
-       
+       //cout << candidateSeq->getName() << endl;
                string candPair = candidateSeq->getPairwise();
                string candAln = "";
                
@@ -250,6 +254,7 @@ void Nast::regapSequences(){        //This is essentially part B in Fig 2. of DeSantis
                string lastLoop = "";
                
                while(pairwiseAlignIndex<pairwiseLength){
+       //cout << pairwiseAlignIndex << '\t' << fullAlignIndex << '\t' << pairwiseLength << endl;
                        if(isalpha(tempPair[pairwiseAlignIndex]) && isalpha(tempAln[fullAlignIndex])
                           && isalpha(candPair[pairwiseAlignIndex])){
                                //  the template and candidate pairwise and template aligned have characters
@@ -356,6 +361,7 @@ void Nast::regapSequences(){        //This is essentially part B in Fig 2. of DeSantis
                }                                                                                               //      2 of Desantis et al.
 
                candidateSeq->setAligned(candAln);
+       //cout << "here" << endl;
        }
        catch(exception& e) {
                m->errorOut(e, "Nast", "regapSequences");