X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=maligner.cpp;h=d7731facce712bb98fd239793cda78dfa7cc69cc;hb=2405cc589aaaf0c44809a48fe98d3b96863dac0b;hp=5ffba329d31fb3e684feef6f664957ef55ec0a68;hpb=ea67d144345462d2a0ed8633c0b14f6cec8cb36e;p=mothur.git diff --git a/maligner.cpp b/maligner.cpp index 5ffba32..d7731fa 100644 --- a/maligner.cpp +++ b/maligner.cpp @@ -97,9 +97,11 @@ string Maligner::chimeraMaligner(int chimeraPenalty, DeCalculator* decalc) { int traceStart = path[0].col; int traceEnd = path[path.size()-1].col; string queryInRange = query->getAligned(); - queryInRange = queryInRange.substr(traceStart, (traceEnd-traceStart)); + queryInRange = queryInRange.substr(traceStart, (traceEnd-traceStart+1)); string chimeraSeq = constructChimericSeq(trace, refSeqs); +// cout << queryInRange.length() << endl; +// cout << chimeraSeq.length() << endl; percentIdenticalQueryChimera = computePercentID(queryInRange, chimeraSeq); @@ -137,20 +139,20 @@ string Maligner::chimeraMaligner(int chimeraPenalty, DeCalculator* decalc) { temp.regionEnd = regionEnd; string parentInRange = refSeqs[seqIndex]->getAligned(); - parentInRange = parentInRange.substr(traceStart, (traceEnd-traceStart)); + parentInRange = parentInRange.substr(traceStart, (traceEnd-traceStart+1)); temp.queryToParent = computePercentID(queryInRange, parentInRange); temp.divR = (percentIdenticalQueryChimera / temp.queryToParent); string queryInRegion = query->getAligned(); - queryInRegion = queryInRegion.substr(regionStart, (regionEnd-regionStart)); + queryInRegion = queryInRegion.substr(regionStart, (regionEnd-regionStart+1)); string parentInRegion = refSeqs[seqIndex]->getAligned(); - parentInRegion = parentInRegion.substr(regionStart, (regionEnd-regionStart)); + parentInRegion = parentInRegion.substr(regionStart, (regionEnd-regionStart+1)); temp.queryToParentLocal = computePercentID(queryInRegion, parentInRegion); - //cout << query->getName() << '\t' << temp.parent << '\t' << "NAST:" << temp.nastRegionStart << '-' << temp.nastRegionEnd << " G:" << temp.queryToParent << " L:" << temp.queryToParentLocal << ", " << temp.divR << endl; +// cout << query->getName() << '\t' << temp.parent << '\t' << "NAST:" << temp.nastRegionStart << '-' << temp.nastRegionEnd << " G:" << temp.queryToParent << " L:" << temp.queryToParentLocal << ", " << temp.divR << endl; outputResults.push_back(temp); } @@ -652,8 +654,9 @@ string Maligner::constructChimericSeq(vector trace, vector