From fd14618e61c22868f17bdd72d8d3ceb9e8c1c1bd Mon Sep 17 00:00:00 2001 From: Heng Li Date: Wed, 20 Sep 2017 10:11:05 -0400 Subject: [PATCH] no effective changes --- map.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/map.c b/map.c index 50169ac..cc64c1b 100644 --- a/map.c +++ b/map.c @@ -271,12 +271,17 @@ mm_reg1_t *mm_map_seg(const mm_idx_t *mi, int n_segs, int *qlens, const char *se if (!(opt->flag & MM_F_SPLICE)) mm_join_long(b->km, opt, qlen_sum, n_regs, regs, a); // TODO: this can be applied to all-vs-all in principle } + if (opt->flag & MM_F_CIGAR) { - regs = mm_align_skeleton(b->km, opt, mi, qlen_sum, seqs, n_regs, regs, a); // this calls mm_filter_regs() - if (!(opt->flag & MM_F_AVA)) { - mm_set_parent(b->km, opt->mask_level, *n_regs, regs, opt->a * 2 + opt->b); - mm_select_sub(b->km, opt->mask_level, opt->pri_ratio, mi->k*2, opt->best_n, n_regs, regs); - mm_set_sam_pri(*n_regs, regs); + if (n_segs == 1) { + regs = mm_align_skeleton(b->km, opt, mi, qlen_sum, seqs, n_regs, regs, a); // this calls mm_filter_regs() + if (!(opt->flag & MM_F_AVA)) { + mm_set_parent(b->km, opt->mask_level, *n_regs, regs, opt->a * 2 + opt->b); + mm_select_sub(b->km, opt->mask_level, opt->pri_ratio, mi->k*2, opt->best_n, n_regs, regs); + mm_set_sam_pri(*n_regs, regs); + } + } else { + abort(); } } mm_set_mapq(*n_regs, regs, opt->min_chain_score, opt->a, rep_len);