]> git.donarmstrong.com Git - mothur.git/blobdiff - chimerarealigner.cpp
fixed bug with realigner for chimera slayer
[mothur.git] / chimerarealigner.cpp
index a07e43392a1d96727d4870154bccef452119755b..bfd283db0d1b66db7df4606d980cc9d54dad58a7 100644 (file)
@@ -49,15 +49,15 @@ void ChimeraReAligner::reAlign(Sequence* query, vector<results> parents) {
                                
                                parentParts.push_back(parent);
 
-                               if (q.length() > longest)       { longest = q.length(); }
-                               if (p.length() > longest)       { longest = p.length(); }
+                               if (queryFrag->getUnaligned().length() > longest)       { longest = queryFrag->getUnaligned().length(); }
+                               if (parent->getUnaligned().length() > longest)  { longest = parent->getUnaligned().length();    }
                        }
 
                        //align each peice to correct parent from results
                        for (int i = 0; i < queryParts.size(); i++) {
                                if ((queryParts[i]->getUnaligned() == "") || (parentParts[i]->getUnaligned() == "")) {;}
                                else {
-                                       alignment = new NeedlemanOverlap(-2.0, match, misMatch, longest+1); //default gapopen, match, mismatch, longestbase
+                                       Alignment* alignment = new NeedlemanOverlap(-2.0, 1.0, -1.0, longest+1); //default gapopen, match, mismatch, longestbase
                                
                                        Nast nast(alignment, queryParts[i], parentParts[i]);
                                        delete alignment;
@@ -82,7 +82,6 @@ void ChimeraReAligner::reAlign(Sequence* query, vector<results> parents) {
                        //make sure you don't cutoff end of query 
                        if (parents[parents.size()-1].nastRegionEnd < (qAligned.length()-1)) {  newQuery += qAligned.substr(parents[parents.size()-1].nastRegionEnd+1);  }
                        
-                       //set query to new aligned string
                        query->setAligned(newQuery);
 
                        //free memory