diff --git a/hit.c b/hit.c index ef574a8..0d4e86d 100644 --- a/hit.c +++ b/hit.c @@ -286,7 +286,7 @@ void mm_filter_by_identity(void *km, int n_regs, mm_reg1_t *regs, float min_iden mm_reg1_t *r = ®s[(int32_t)aux[i]]; if (r->qs > en) { for (j = en; j < r->qs; ++j) - n_diff += qual == 0 || qual[j] >= 53? 0.5f : 0.025f * (qual[j] - 33); + n_diff += qual == 0 || qual[j] >= 53? .25f : .05f * .25f * (qual[j] - 33); blen += r->qs - en; } assert(r->p); @@ -295,7 +295,7 @@ void mm_filter_by_identity(void *km, int n_regs, mm_reg1_t *regs, float min_iden en = en > r->qe? en : r->qe; } for (j = en; j < qlen; ++j) - n_diff += qual == 0 || qual[j] >= 53? 0.5f : 0.025f * (qual[j] - 33); + n_diff += qual == 0 || qual[j] >= 53? .25f : .05f * .25f * (qual[j] - 33); blen += qlen - en; kfree(km, aux); if (1.0f - n_diff / blen < min_iden) diff --git a/main.c b/main.c index 1e7da13..aa16cc8 100644 --- a/main.c +++ b/main.c @@ -6,7 +6,7 @@ #include "mmpriv.h" #include "getopt.h" -#define MM_VERSION "2.2-r523-dirty" +#define MM_VERSION "2.2-r524-dirty" #ifdef __linux__ #include diff --git a/map.c b/map.c index 284d48c..04d3ad8 100644 --- a/map.c +++ b/map.c @@ -85,7 +85,7 @@ int mm_set_opt(const char *preset, mm_idxopt_t *io, mm_mapopt_t *mo) mo->pe_ori = 0<<1|1; // FR mo->a = 2, mo->b = 8, mo->q = 12, mo->e = 2, mo->q2 = 24, mo->e2 = 1; mo->zdrop = 100; - mo->end_bonus = 15; + mo->end_bonus = 10; mo->max_frag_len = 800; mo->max_gap = 100; mo->bw = 100; diff --git a/tex/minimap2.tex b/tex/minimap2.tex index d07a94c..46d7ac2 100644 --- a/tex/minimap2.tex +++ b/tex/minimap2.tex @@ -512,7 +512,11 @@ We evaluated minimap2 along with Bowtie2~\citep{Langmead:2012fk}, BWA-MEM and SNAP~\citep{Zaharia:2011aa}. Minimap2 is 3--4 times as fast as Bowtie2 and BWA-MEM, but is 1.3 times slower than SNAP. Minimap2 is more accurate on this simulated data set than Bowtie2 and SNAP but less accurate than BWA-MEM -(Fig.~\ref{fig:eval}b). +(Fig.~\ref{fig:eval}b). Closer investigation reveals that BWA-MEM achieves +a higher accuracy partly because it tries to locally align a read in a small +region close to its mate. If we disable this feature, BWA-MEM becomes slightly +less accurate than minimap2. We might consider to implement a similar heuristic +in minimap2 in future. \section{Conclusion}