Minimap2 Versions Save

A versatile pairwise aligner for genomic and spliced nucleotide sequences

v2.28

1 month ago

Notable changes to minimap2:

  • Bugfix: --MD was not working properly due to the addition of --ds in the last release (#1181 and #1182).

  • New feature: added an experimental preset lr:hqae for aligning accurate long reads back to their assembly. It has been observed that map-hifi and lr:hq may produce many wrong alignments around centromeres when accurate long reads (PacBio HiFi or Nanopore duplex/Q20+) are mapped to a diploid assembly constructed from them. This new preset produces much more accurate alignment. It is still experimental and may be subjective to changes in future.

  • Change: reduced the default --cap-kalloc to 500m to lower the peak memory consumption (#855).

Notable changes to mappy:

  • Bugfix: mappy option struct was out of sync with minimap2 (#1177).

Minimap2 should output identical alignments to v2.27.

(2.28: 27 March 2024, r1209)

v2.27

2 months ago

Notable changes to minimap2:

  • New feature: added the lr:hq preset for accurate long reads at ~1% error rate. This was suggested by Oxford Nanopore developers (#1127). Whether this preset works well for PacBio HiFi reads has not been tested.

  • New feature: added the map-iclr preset for Illumina Complete Long Reads (#1069), provided by Illumina developers.

  • New feature: added option -b to specify mismatch penalty for base transitions (i.e. A-to-G or C-to-T changes).

  • New feature: added option --ds to generate a new ds:Z tag that indicates uncertainty in INDEL positions. It is an extension to cs. The mgutils-es6.js script in minigraph parses ds.

  • Bugfix: avoided a NULL pointer dereference (#1154). This would not have an effect on most systems but would still be good to fix.

  • Bugfix: reverted the value of ms:i to pre-2.22 versions (#1146). This was an oversight. See fcd4df2 for details.

Notable changes to paftools.js and mappy:

  • New feature: expose bw_long to mappy's Aligner class (#1124).

  • Bugfix: fixed several compatibility issues with k8 v1.0 (#1161 and #1166). Subcommands "call", "pbsim2fq" and "mason2fq" were not working with v1.0.

Minimap2 should output identical alignments to v2.26, except the ms tag.

(2.27: 12 March 2024, r1193)

v2.26

1 year ago

Fixed the broken Python package. This is the only change.

(2.25: 25 April 2023, r1173)

v2.25

1 year ago

Notable changes:

  • Improvement: use the miniprot splice model for RNA-seq alignment by default. This model considers non-GT-AG splice sites and has slightly higher (<0.1%) accuracy and sensitivity on real human data.

  • Change: increased the default -I to 8G such that minimap2 would create a uni-part index for a pair of mammalian genomes. This change may increase the memory for all-vs-all read overlap alignment given large datasets.

  • New feature: output the sequences in secondary alignments with option --secondary-seq (#687).

  • Bugfix: --rmq was not parsed correctly (#1010)

  • Bugfix: possibly incorrect coordinate when applying end bonus to the target sequence (#1025). This is a ksw2 bug. It does not affect minimap2 as minimap2 is not using the affected feature.

  • Improvement: incorporated several changes for better compatibility with Windows (#1051) and for minimap2 integration at Oxford Nanopore Technologies (#1048 and #1033).

  • Improvement: output the HD-line in SAM output (#1019).

  • Improvement: check minimap2 index file in mappy to prevent segmentation fault for certain indices (#1008).

For genomic sequences, minimap2 should give identical output to v2.24. Long-read RNA-seq alignment may occasionally differ from previous versions.

(2.25: 25 April 2023, r1173)

v2.24

2 years ago

This release improves alignment around long poorly aligned regions. Older minimap2 may chain through such regions in rare cases which may result in missing alignments later. The issue has become worse since the the change of the chaining algorithm in v2.19. v2.23 implements an incomplete remedy. This release provides a better solution with a X-drop-like heuristic and by enabling two-bandwidth chaining in the assembly mode.

(2.24: 26 December 2021, r1122)

v2.23

2 years ago

Notable changes:

  • Bugfix: fixed missing alignments around long inversions (#806 and #816). This bug affected v2.19 through v2.22.

  • Improvement: avoid extremely long mapping time for pathologic reads with highly repeated k-mers not in the reference (#771). Use --q-occ-frac=0 to disable the new heuristic.

  • Change: use --cap-kalloc=1g by default.

(2.23: 18 November 2021, r1111)

v2.22

2 years ago

When choosing the best alignment, this release uses logarithm gap penalty and query-specific mismatch penalty. It improves the sensitivity to long INDELs in repetitive regions.

Other notable changes:

  • Bugfix: fixed an indirect memory leak that may waste a large amount of memory given highly repetitive reference such as a 16S RNA database (#749). All versions of minimap2 have this issue.

  • New feature: added --cap-kalloc to reduce the peak memory. This option is not enabled by default but may become the default in future releases.

Known issue:

  • Minimap2 may take a long time to map a read (#771). So far it is not clear if this happens to v2.18 and earlier versions.

(2.22: 7 August 2021, r1101)

v2.21

2 years ago

This release fixed a regression in short-read mapping introduced in v2.19 (#776). It also fixed invalid comparisons of uninitialized variables, though these do not affect final results (#752). Long-read alignment should be identical to v2.20.

(2.21: 6 July 2021)

v2.20

2 years ago

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)

v2.19

2 years ago

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 mapping 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 significant 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)