r443: don't filter small cm for split seg

This commit is contained in:
Heng Li
2017-09-26 16:17:58 -04:00
parent 1b1dd0cd57
commit f611edf6f2
4 changed files with 6 additions and 4 deletions
+3 -1
View File
@@ -203,7 +203,7 @@ void mm_filter_regs(void *km, const mm_mapopt_t *opt, int *n_regs, mm_reg1_t *re
for (i = k = 0; i < *n_regs; ++i) {
mm_reg1_t *r = &regs[i];
int flt = 0;
if (!r->inv && r->cnt < opt->min_cnt) flt = 1;
if (!r->inv && !r->seg_split && r->cnt < opt->min_cnt) flt = 1;
if (r->p) {
if (r->p->blen - r->p->n_ambi - r->p->n_diff < opt->min_chain_score) flt = 1;
else if (r->p->dp_max < opt->min_dp_max) flt = 1;
@@ -342,6 +342,8 @@ mm_seg_t *mm_seg_gen(void *km, int n_segs, const int *qlens, int n_regs0, const
for (s = 0; s < n_segs; ++s) {
regs[s] = mm_gen_regs(km, qlens[s], seg[s].n_u, seg[s].u, seg[s].a);
n_regs[s] = seg[s].n_u;
for (i = 0; i < n_regs[s]; ++i)
regs[s][i].seg_split = 1;
}
return seg;
}