Skip to content

Commit 8459b6b

Browse files
committed
disable wrapped scoring when target sequence is shorter
1 parent f5f780a commit 8459b6b

File tree

2 files changed

+21
-8
lines changed

2 files changed

+21
-8
lines changed

src/alignment/BandedNucleotideAligner.cpp

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,15 @@ s_align BandedNucleotideAligner::align(Sequence * targetSeqObj,
9898
int queryLen = querySeqObj->L;
9999
int origQueryLen = queryLen;
100100
if (wrappedScoring) {
101-
alignment = DistanceCalculator::computeUngappedWrappedAlignment(
101+
if (querySeqObj->L >= targetSeqObj->L * 2)
102+
alignment = DistanceCalculator::computeUngappedWrappedAlignment(
102103
queryCharSeqAlign, querySeqObj->L, targetSeqObj->getSeqData(), targetSeqObj->L,
103104
diagonal, fastMatrix.matrix, Parameters::RESCORE_MODE_ALIGNMENT);
104-
origQueryLen = queryLen/2;
105+
else
106+
alignment = DistanceCalculator::computeUngappedAlignment(
107+
queryCharSeqAlign, querySeqObj->L / 2, targetSeqObj->getSeqData(), targetSeqObj->L,
108+
diagonal, fastMatrix.matrix, Parameters::RESCORE_MODE_ALIGNMENT);
109+
origQueryLen = queryLen / 2;
105110
}
106111
else {
107112
alignment = DistanceCalculator::computeUngappedAlignment(

src/alignment/rescorediagonal.cpp

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -213,15 +213,23 @@ int doRescorediagonal(Parameters &par,
213213
}
214214
DistanceCalculator::LocalAlignment alignment;
215215
if (par.wrappedScoring) {
216+
/*
216217
if (dbLen > origQueryLen) {
217-
Debug(Debug::WARNING) << "WARNING: target sequence " << targetId
218-
<< " is skipped, no valid wrapped scoring possible\n";
219-
continue;
220-
}
221-
222-
alignment = DistanceCalculator::computeUngappedWrappedAlignment(
218+
Debug(Debug::WARNING) << "WARNING: target sequence " << targetId
219+
<< " is skipped, no valid wrapped scoring possible\n";
220+
continue;
221+
}
222+
*/
223+
if (dbLen <= origQueryLen) {
224+
alignment = DistanceCalculator::computeUngappedWrappedAlignment(
223225
querySeqToAlign, queryLen, targetSeq, targetLength,
224226
results[entryIdx].diagonal, fastMatrix.matrix, par.rescoreMode);
227+
}
228+
else{
229+
alignment = DistanceCalculator::computeUngappedAlignment(
230+
querySeqToAlign, origQueryLen, targetSeq, targetLength,
231+
results[entryIdx].diagonal, fastMatrix.matrix, par.rescoreMode);
232+
}
225233
}
226234
else {
227235
alignment = DistanceCalculator::computeUngappedAlignment(

0 commit comments

Comments
 (0)