From ac334639ce74a2e0133ab6c64ba7c0cdec6d49f5 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Mon, 11 Oct 2021 14:45:15 -0400 Subject: [PATCH] r1110: default --cap-kalloc=1g; test more inv See #816 and #823 --- main.c | 2 +- map.c | 6 +++--- options.c | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/main.c b/main.c index 2c85166..d3e4df1 100644 --- a/main.c +++ b/main.c @@ -7,7 +7,7 @@ #include "mmpriv.h" #include "ketopt.h" -#define MM_VERSION "2.22-r1109-dirty" +#define MM_VERSION "2.22-r1110-dirty" #ifdef __linux__ #include diff --git a/map.c b/map.c index 98d3d7f..16c4716 100644 --- a/map.c +++ b/map.c @@ -212,7 +212,7 @@ static void chain_post(const mm_mapopt_t *opt, int max_chain_gap_ref, const mm_i { if (!(opt->flag & MM_F_ALL_CHAINS)) { // don't choose primary mapping(s) mm_set_parent(km, opt->mask_level, opt->mask_len, *n_regs, regs, opt->a * 2 + opt->b, opt->flag&MM_F_HARD_MLEVEL, opt->alt_drop); - if (n_segs <= 1) mm_select_sub(km, opt->pri_ratio, mi->k*2, opt->best_n, 1, opt->max_gap, n_regs, regs); + if (n_segs <= 1) mm_select_sub(km, opt->pri_ratio, mi->k*2, opt->best_n, 1, opt->max_gap * 0.8, n_regs, regs); else mm_select_sub_multi(km, opt->pri_ratio, 0.2f, 0.7f, max_chain_gap_ref, mi->k*2, opt->best_n, n_segs, qlens, n_regs, regs); } } @@ -223,7 +223,7 @@ static mm_reg1_t *align_regs(const mm_mapopt_t *opt, const mm_idx_t *mi, void *k regs = mm_align_skeleton(km, opt, mi, qlen, seq, n_regs, regs, a); // this calls mm_filter_regs() if (!(opt->flag & MM_F_ALL_CHAINS)) { // don't choose primary mapping(s) mm_set_parent(km, opt->mask_level, opt->mask_len, *n_regs, regs, opt->a * 2 + opt->b, opt->flag&MM_F_HARD_MLEVEL, opt->alt_drop); - mm_select_sub(km, opt->pri_ratio, mi->k*2, opt->best_n, 0, opt->max_gap, n_regs, regs); + mm_select_sub(km, opt->pri_ratio, mi->k*2, opt->best_n, 0, opt->max_gap * 0.8, n_regs, regs); mm_set_sam_pri(*n_regs, regs); } return regs; @@ -511,7 +511,7 @@ static void merge_hits(step_t *s) mm_hit_sort(km, &s->n_reg[k], s->reg[k], opt->alt_drop); mm_set_parent(km, opt->mask_level, opt->mask_len, s->n_reg[k], s->reg[k], opt->a * 2 + opt->b, opt->flag&MM_F_HARD_MLEVEL, opt->alt_drop); if (!(opt->flag & MM_F_ALL_CHAINS)) { - mm_select_sub(km, opt->pri_ratio, s->p->mi->k*2, opt->best_n, 0, opt->max_gap, &s->n_reg[k], s->reg[k]); + mm_select_sub(km, opt->pri_ratio, s->p->mi->k*2, opt->best_n, 0, opt->max_gap * 0.8, &s->n_reg[k], s->reg[k]); mm_set_sam_pri(s->n_reg[k], s->reg[k]); } mm_set_mapq(km, s->n_reg[k], s->reg[k], opt->min_chain_score, opt->a, rep_len, !!(opt->flag & MM_F_SR)); diff --git a/options.c b/options.c index a672334..285c57b 100644 --- a/options.c +++ b/options.c @@ -54,6 +54,7 @@ void mm_mapopt_init(mm_mapopt_t *opt) opt->max_clip_ratio = 1.0f; opt->mini_batch_size = 500000000; opt->max_sw_mat = 100000000; + opt->cap_kalloc = 1000000000; opt->rank_min_len = 500; opt->rank_frac = 0.9f;