From ef09ccf1044492eebaa190a784a5ad1800dcfc0b Mon Sep 17 00:00:00 2001 From: Heng Li Date: Wed, 26 May 2021 21:01:03 -0400 Subject: [PATCH] Release minimap2-2.19 (r1055) --- NEWS.md | 39 +++++++++++++++++++++++++++++++++++++++ README.md | 11 ++++------- cookbook.md | 4 ++-- main.c | 2 +- minimap2.1 | 2 +- misc/paftools.js | 2 +- python/mappy.pyx | 2 +- setup.py | 2 +- 8 files changed, 50 insertions(+), 14 deletions(-) diff --git a/NEWS.md b/NEWS.md index b823cb5..b02b80b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,42 @@ +Release 2.19-r1055 (26 May 2021) +-------------------------------- + +This release includes a few important improvements backported from unimap: + + * Improvement: more contiguous alignment through long INDELs. This is enabled + by the minigraph chaining algorithm. All `asm*` presets now use the new + algorithm. They can find INDELs up to 100kb and may be faster for + chromosome-long contigs. The default mode and `map*` presets use this + algorithm to replace the long-join heuristic. + + * Improvement: better alignment in highly repetitive regions by rescuing + high-occurrence seeds. If the distance between two adjacent seeds is too + large, attempt to choose a fraction of high-occurrence seeds in-between. + Minimap2 now produces fewer clippings and alignment break points in long + satellite regions. + + * Improvement: allow to specify an interval of k-mer occurrences with `-U`. + For repeat-rich genomes, the automatic k-mer occurrence threshold determined + by `-f` may be too large and makes alignment impractically slow. The new + option protects against such cases. Enabled for `asm*` and `map-hifi`. + + * New feature: added the `map-hifi` preset for maping PacBio High-Fidelity + (HiFi) reads. + + * Change to the default: apply `--cap-sw-mem=100m` for genomic alignment. + + * Bugfix: minimap2 could not generate an index file with `-xsr` (#734). + +This release represents the most signficant algorithmic change since v2.1 in +2017. With features backported from unimap, minimap2 now has similar power to +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, r1055) + + + Release 2.18-r1015 (9 April 2021) --------------------------------- diff --git a/README.md b/README.md index 10514a8..0141a35 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ cd minimap2 && make # use presets (no test data) ./minimap2 -ax map-pb ref.fa pacbio.fq.gz > aln.sam # PacBio CLR genomic reads ./minimap2 -ax map-ont ref.fa ont.fq.gz > aln.sam # Oxford Nanopore genomic reads -./minimap2 -ax asm20 ref.fa pacbio-ccs.fq.gz > aln.sam # PacBio HiFi/CCS genomic reads (v2.18) -./minimap2 -ax map-hifi ref.fa pacbio-ccs.fq.gz > aln.sam # PacBio HiFi/CCS genomic reads (GitHub HEAD) +./minimap2 -ax map-hifi ref.fa pacbio-ccs.fq.gz > aln.sam # PacBio HiFi/CCS genomic reads (v2.19 or lateer) +./minimap2 -ax asm20 ref.fa pacbio-ccs.fq.gz > aln.sam # PacBio HiFi/CCS genomic reads (v2.18 or earlier) ./minimap2 -ax sr ref.fa read1.fa read2.fa > aln.sam # short genomic paired-end reads ./minimap2 -ax splice ref.fa rna-reads.fa > aln.sam # spliced long reads (strand unknown) ./minimap2 -ax splice -uf -k14 ref.fa reads.fa > aln.sam # noisy Nanopore Direct RNA-seq @@ -27,9 +27,6 @@ cd minimap2 && make # man page for detailed command line options man ./minimap2.1 ``` -[Unimap][unimap] is recommended for aligning long contigs against a reference -genome. It often takes less wall-clock time and is much more sensitive to long -insertions and deletions. ## Table of Contents @@ -77,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.18/minimap2-2.18_x64-linux.tar.bz2 | tar -jxvf - -./minimap2-2.18_x64-linux/minimap2 +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 ``` 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 f963ccc..84e5be8 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.18/minimap2-2.18_x64-linux.tar.bz2 | tar jxf - -cp minimap2-2.18_x64-linux/{minimap2,k8,paftools.js} . # copy 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 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 79a5131..fd86826 100644 --- a/main.c +++ b/main.c @@ -7,7 +7,7 @@ #include "mmpriv.h" #include "ketopt.h" -#define MM_VERSION "2.18-r1054-dirty" +#define MM_VERSION "2.19-r1055" #ifdef __linux__ #include diff --git a/minimap2.1 b/minimap2.1 index ba154a6..c93d67a 100644 --- a/minimap2.1 +++ b/minimap2.1 @@ -1,4 +1,4 @@ -.TH minimap2 1 "9 April 2021" "minimap2-2.18 (r1015)" "Bioinformatics tools" +.TH minimap2 1 "26 May 2021" "minimap2-2.19 (r1055)" "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 dada919..e258dbc 100755 --- a/misc/paftools.js +++ b/misc/paftools.js @@ -1,6 +1,6 @@ #!/usr/bin/env k8 -var paftools_version = '2.18-r1053-dirty'; +var paftools_version = '2.19-r1055'; /***************************** ***** Library functions ***** diff --git a/python/mappy.pyx b/python/mappy.pyx index fbbc8ab..bd53bac 100644 --- a/python/mappy.pyx +++ b/python/mappy.pyx @@ -3,7 +3,7 @@ from libc.stdlib cimport free cimport cmappy import sys -__version__ = '2.18' +__version__ = '2.19' cmappy.mm_reset_timer() diff --git a/setup.py b/setup.py index 960775a..7551fe9 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ def readme(): setup( name = 'mappy', - version = '2.18', + version = '2.19', url = 'https://github.com/lh3/minimap2', description = 'Minimap2 python binding', long_description = readme(),