From 15471bd6297bd6fe17a9ea235ce9a7bdd6effa6c Mon Sep 17 00:00:00 2001 From: Heng Li Date: Thu, 27 May 2021 15:26:04 -0400 Subject: [PATCH] Release minimap2-2.20 (r1061) --- NEWS.md | 14 +++++++++++++- README.md | 4 ++-- cookbook.md | 4 ++-- main.c | 2 +- map.c | 2 +- minimap2.1 | 2 +- misc/paftools.js | 2 +- options.c | 4 ++-- python/mappy.pyx | 2 +- setup.py | 2 +- 10 files changed, 25 insertions(+), 13 deletions(-) diff --git a/NEWS.md b/NEWS.md index 48dd14d7..b770498f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,15 @@ +Release 2.20-r1061 (27 May 2021) +-------------------------------- + +This release fixed a bug in the Python module and improves the command-line +compatibiliity with v2.18. In v2.19, if `-r` is specified with an `asm*` preset, +users would get alignments more fragmented than v2.18. This could be an issue +for existing pipelines specifying `-r`. This release resolves this issue. + +(2.20: 27 May 2021, r1061) + + + Release 2.19-r1057 (26 May 2021) -------------------------------- @@ -33,7 +45,7 @@ unimap for contig alignment. Unimap will remain an experimental project and is no longer recommended over minimap2. Sorry for reverting the recommendation in short time. -(2.20: 26 May 2021, r1057) +(2.19: 26 May 2021, r1057) diff --git a/README.md b/README.md index 0141a354..6e10935c 100644 --- a/README.md +++ b/README.md @@ -74,8 +74,8 @@ Detailed evaluations are available from the [minimap2 paper][doi] or the Minimap2 is optimized for x86-64 CPUs. You can acquire precompiled binaries from the [release page][release] with: ```sh -curl -L https://github.com/lh3/minimap2/releases/download/v2.19/minimap2-2.19_x64-linux.tar.bz2 | tar -jxvf - -./minimap2-2.19_x64-linux/minimap2 +curl -L https://github.com/lh3/minimap2/releases/download/v2.20/minimap2-2.20_x64-linux.tar.bz2 | tar -jxvf - +./minimap2-2.20_x64-linux/minimap2 ``` If you want to compile from the source, you need to have a C compiler, GNU make and zlib development files installed. Then type `make` in the source code diff --git a/cookbook.md b/cookbook.md index 84e5be88..d72e646c 100644 --- a/cookbook.md +++ b/cookbook.md @@ -31,8 +31,8 @@ To acquire the data used in this cookbook and to install minimap2 and paftools, please follow the command lines below: ```sh # install minimap2 executables -curl -L https://github.com/lh3/minimap2/releases/download/v2.19/minimap2-2.19_x64-linux.tar.bz2 | tar jxf - -cp minimap2-2.19_x64-linux/{minimap2,k8,paftools.js} . # copy executables +curl -L https://github.com/lh3/minimap2/releases/download/v2.20/minimap2-2.20_x64-linux.tar.bz2 | tar jxf - +cp minimap2-2.20_x64-linux/{minimap2,k8,paftools.js} . # copy executables export PATH="$PATH:"`pwd` # put the current directory on PATH # download example datasets curl -L https://github.com/lh3/minimap2/releases/download/v2.10/cookbook-data.tgz | tar zxf - diff --git a/main.c b/main.c index acd573e0..32eb2111 100644 --- a/main.c +++ b/main.c @@ -7,7 +7,7 @@ #include "mmpriv.h" #include "ketopt.h" -#define MM_VERSION "2.19-r1060-dirty" +#define MM_VERSION "2.20-r1061" #ifdef __linux__ #include diff --git a/map.c b/map.c index a41b7a95..a079d9e1 100644 --- a/map.c +++ b/map.c @@ -277,7 +277,7 @@ void mm_map_frag(const mm_idx_t *mi, int n_segs, const int *qlens, const char ** opt->chain_gap_scale * 0.01 * mi->k, 0.0f, is_splice, n_segs, n_a, a, &n_regs0, &u, b->km); } - if (opt->bw_long > opt->bw && (opt->flag & MM_F_NO_LJOIN) == 0 && n_segs == 1 && n_regs0 > 1) { // re-chain/long-join for long sequences + if (opt->bw_long > opt->bw && (opt->flag & (MM_F_SPLICE|MM_F_SR|MM_F_NO_LJOIN)) == 0 && n_segs == 1 && n_regs0 > 1) { // re-chain/long-join for long sequences int32_t st = (int32_t)a[0].y, en = (int32_t)a[(int32_t)u[0] - 1].y; if (qlen_sum - (en - st) > opt->rmq_rescue_size || en - st > qlen_sum * opt->rmq_rescue_ratio) { int32_t i; diff --git a/minimap2.1 b/minimap2.1 index 251ed992..11bc4f58 100644 --- a/minimap2.1 +++ b/minimap2.1 @@ -1,4 +1,4 @@ -.TH minimap2 1 "26 May 2021" "minimap2-2.19 (r1057)" "Bioinformatics tools" +.TH minimap2 1 "27 May 2021" "minimap2-2.20 (r1061)" "Bioinformatics tools" .SH NAME .PP minimap2 - mapping and alignment between collections of DNA sequences diff --git a/misc/paftools.js b/misc/paftools.js index 313e4909..f048b071 100755 --- a/misc/paftools.js +++ b/misc/paftools.js @@ -1,6 +1,6 @@ #!/usr/bin/env k8 -var paftools_version = '2.19-r1057'; +var paftools_version = '2.20-r1061'; /***************************** ***** Library functions ***** diff --git a/options.c b/options.c index 08a4d93b..dfd274d9 100644 --- a/options.c +++ b/options.c @@ -75,7 +75,7 @@ void mm_mapopt_update(mm_mapopt_t *opt, const mm_idx_t *mi) void mm_mapopt_max_intron_len(mm_mapopt_t *opt, int max_intron_len) { if ((opt->flag & MM_F_SPLICE) && max_intron_len > 0) - opt->max_gap_ref = opt->bw = max_intron_len; + opt->max_gap_ref = opt->bw = opt->bw_long = max_intron_len; } int mm_set_opt(const char *preset, mm_idxopt_t *io, mm_mapopt_t *mo) @@ -109,7 +109,7 @@ int mm_set_opt(const char *preset, mm_idxopt_t *io, mm_mapopt_t *mo) io->flag = 0, io->k = 19, io->w = 19; mo->bw = mo->bw_long = 100000; mo->max_gap = 10000; - mo->flag |= MM_F_RMQ | MM_F_NO_LJOIN; + mo->flag |= MM_F_RMQ; mo->min_mid_occ = 50, mo->max_mid_occ = 500; mo->min_dp_max = 200; mo->best_n = 50; diff --git a/python/mappy.pyx b/python/mappy.pyx index bd53bac2..d0bf7f8c 100644 --- a/python/mappy.pyx +++ b/python/mappy.pyx @@ -3,7 +3,7 @@ from libc.stdlib cimport free cimport cmappy import sys -__version__ = '2.19' +__version__ = '2.20' cmappy.mm_reset_timer() diff --git a/setup.py b/setup.py index 8bc1f006..c0b576a2 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ def readme(): setup( name = 'mappy', - version = '2.19', + version = '2.20', url = 'https://github.com/lh3/minimap2', description = 'Minimap2 python binding', long_description = readme(),