X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=maligner.cpp;h=0cd8336c6de865d85d0fea9d607199599f10ab9e;hb=3489799717f1f9002846bfd902d2886fc448f903;hp=1205cef5e36b8bb4381f5ae8bb516c30e934318d;hpb=d4c252e25cd7583b2582a8ada47063179ae29fba;p=mothur.git diff --git a/maligner.cpp b/maligner.cpp index 1205cef..0cd8336 100644 --- a/maligner.cpp +++ b/maligner.cpp @@ -144,8 +144,8 @@ string Maligner::chimeraMaligner(int chimeraPenalty, DeCalculator* decalc) { temp.parentAligned = db[seqIndex]->getAligned(); temp.nastRegionStart = spotMap[regionStart]; temp.nastRegionEnd = spotMap[regionEnd]; - temp.regionStart = regionStart; - temp.regionEnd = regionEnd; + temp.regionStart = unalignedMap[regionStart]; + temp.regionEnd = unalignedMap[regionEnd]; string parentInRange = refSeqs[seqIndex]->getAligned(); parentInRange = parentInRange.substr(traceStart, (traceEnd-traceStart+1)); @@ -280,7 +280,22 @@ void Maligner::verticalFilter(vector seqs) { seqs[i]->setAligned(newAligned); } - + + string query = seqs[seqs.size()-1]->getAligned(); + int queryLength = query.length(); + + unalignedMap.resize(queryLength, 0); + + + for(int i=1;i Maligner::extractHighestPath(vector > } } -// cout << highestScore << endl; vector path; int rowIndex = highestStruct.row; int pos = highestStruct.col; int score = highestStruct.score; + +// cout << rowIndex << '\t' << pos << '\t' << score << endl; while (pos >= 0 && score > 0) { score_struct temp = ms[rowIndex][pos];