r1277: don't apply rescored filtering with -P

Since v2.19-ish, minimap2 rescores base alignment based on the best alignment
of a read. This heuristic sometimes improve the mapping accuracy of the best
alignment but may too aggressively filter weaker hits.

Resolve #969
This commit is contained in:
Heng Li
2025-04-14 22:26:47 -04:00
parent 94d171b01e
commit c19e3ccb86
2 changed files with 2 additions and 2 deletions

View File

@@ -1059,7 +1059,7 @@ mm_reg1_t *mm_align_skeleton(void *km, const mm_mapopt_t *opt, const mm_idx_t *m
kfree(km, qseq0[0]);
kfree(km, ez.cigar);
mm_filter_regs(opt, qlen, n_regs_, regs);
if (!(opt->flag&MM_F_SR) && !opt->split_prefix && qlen >= opt->rank_min_len) {
if (!(opt->flag&(MM_F_SR|MM_F_SR_RNA|MM_F_ALL_CHAINS)) && !opt->split_prefix && qlen >= opt->rank_min_len) {
mm_update_dp_max(qlen, *n_regs_, regs, opt->rank_frac, opt->a, opt->b);
mm_filter_regs(opt, qlen, n_regs_, regs);
}

View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <sys/types.h>
#define MM_VERSION "2.28-r1276-dirty"
#define MM_VERSION "2.28-r1277-dirty"
#define MM_F_NO_DIAG (0x001LL) // no exact diagonal hit
#define MM_F_NO_DUAL (0x002LL) // skip pairs where query name is lexicographically larger than target name