From b6bd33b26c3de5205dd3e1b614c8bf451539b6db Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 3 Apr 2014 18:58:49 -0400 Subject: [PATCH] dev-459: don't hard code the drop ratio In the old code, if a secondary alignment is 50% worse, it won't be outputted. --- bwamem.c | 3 ++- main.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bwamem.c b/bwamem.c index 6abcf00..ab9f349 100644 --- a/bwamem.c +++ b/bwamem.c @@ -917,7 +917,7 @@ void mem_reg2sam_se(const mem_opt_t *opt, const bntseq_t *bns, const uint8_t *pa mem_aln_t *q; if (p->score < opt->T) continue; if (p->secondary >= 0 && !(opt->flag&MEM_F_ALL)) continue; - if (p->secondary >= 0 && p->score < a->a[p->secondary].score * .5) continue; + if (p->secondary >= 0 && p->score < a->a[p->secondary].score * opt->chain_drop_ratio) continue; q = kv_pushp(mem_aln_t, aa); *q = mem_reg2aln(opt, bns, pac, s->l_seq, s->seq, p); q->flag |= extra_flag; // flag secondary @@ -966,6 +966,7 @@ mem_alnreg_v mem_align1_core(const mem_opt_t *opt, const bwt_t *bwt, const bntse regs.n = mem_sort_and_dedup(regs.n, regs.a, opt->mask_level_redun); if (opt->flag & MEM_F_NO_EXACT) regs.n = mem_test_and_remove_exact(opt, regs.n, regs.a, l_seq); + if (bwa_verbose >= 4) err_printf("* %ld chains remain after removing duplicated chains\n", regs.n); return regs; } diff --git a/main.c b/main.c index 673cb8a..d06b3cd 100644 --- a/main.c +++ b/main.c @@ -4,7 +4,7 @@ #include "utils.h" #ifndef PACKAGE_VERSION -#define PACKAGE_VERSION "0.7.8+dev-r458" +#define PACKAGE_VERSION "0.7.8+dev-r459" #endif int bwa_fa2pac(int argc, char *argv[]);