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.
This commit is contained in:
Heng Li 2014-04-03 18:58:49 -04:00
parent b3225581be
commit b6bd33b26c
2 changed files with 3 additions and 2 deletions

View File

@ -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;
}

2
main.c
View File

@ -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[]);