r600: bugfix - missing secondary alignments (#71)
This should very rarely happen to typical data, but has a higher chance in artifactual data.
This commit is contained in:
parent
cbdb6c069f
commit
af1d6afba9
2
hit.c
2
hit.c
|
|
@ -234,7 +234,7 @@ void mm_select_sub(void *km, float pri_ratio, int min_diff, int best_n, int *n_,
|
||||||
if (p == i || r[i].inv) { // primary or inversion
|
if (p == i || r[i].inv) { // primary or inversion
|
||||||
r[k++] = r[i];
|
r[k++] = r[i];
|
||||||
} else if ((r[i].score >= r[p].score * pri_ratio || r[i].score + min_diff >= r[p].score) && n_2nd < best_n) {
|
} else if ((r[i].score >= r[p].score * pri_ratio || r[i].score + min_diff >= r[p].score) && n_2nd < best_n) {
|
||||||
if (!(r[i].qs == r[p].qs && r[i].qe == r[p].qe && r[i].rs == r[p].rs && r[i].re == r[p].re)) // not identical hits
|
if (!(r[i].qs == r[p].qs && r[i].qe == r[p].qe && r[i].rid == r[p].rid && r[i].rs == r[p].rs && r[i].re == r[p].re)) // not identical hits
|
||||||
r[k++] = r[i], ++n_2nd;
|
r[k++] = r[i], ++n_2nd;
|
||||||
else if (r[i].p) free(r[i].p);
|
else if (r[i].p) free(r[i].p);
|
||||||
} else if (r[i].p) free(r[i].p);
|
} else if (r[i].p) free(r[i].p);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue