minimap2 0.2.31.0 → 1.2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +47 -64
  3. data/ext/ruby_minimap2/extconf.rb +47 -0
  4. data/ext/ruby_minimap2/native_main.c +15 -0
  5. data/ext/ruby_minimap2/ruby_minimap2.c +1134 -0
  6. data/lib/minimap2/aligner.rb +66 -383
  7. data/lib/minimap2/alignment.rb +15 -8
  8. data/lib/minimap2/version.rb +2 -1
  9. data/lib/minimap2.rb +39 -110
  10. metadata +8 -89
  11. data/ext/Rakefile +0 -63
  12. data/ext/cmappy/cmappy.c +0 -134
  13. data/ext/cmappy/cmappy.h +0 -46
  14. data/ext/minimap2/FAQ.md +0 -46
  15. data/ext/minimap2/MANIFEST.in +0 -10
  16. data/ext/minimap2/Makefile.simde +0 -97
  17. data/ext/minimap2/NEWS.md +0 -1022
  18. data/ext/minimap2/README.md +0 -429
  19. data/ext/minimap2/code_of_conduct.md +0 -30
  20. data/ext/minimap2/cookbook.md +0 -243
  21. data/ext/minimap2/minimap2.1 +0 -844
  22. data/ext/minimap2/misc/README.md +0 -180
  23. data/ext/minimap2/misc/pafcluster.js +0 -241
  24. data/ext/minimap2/misc/paftools.js +0 -3830
  25. data/ext/minimap2/pyproject.toml +0 -2
  26. data/ext/minimap2/python/README.rst +0 -198
  27. data/ext/minimap2/python/cmappy.h +0 -152
  28. data/ext/minimap2/python/cmappy.pxd +0 -157
  29. data/ext/minimap2/python/mappy.pyx +0 -297
  30. data/ext/minimap2/python/minimap2.py +0 -43
  31. data/ext/minimap2/setup.py +0 -55
  32. data/ext/minimap2/test/MT-human.fa +0 -278
  33. data/ext/minimap2/test/MT-orang.fa +0 -276
  34. data/ext/minimap2/test/q-inv.fa +0 -4
  35. data/ext/minimap2/test/q2.fa +0 -2
  36. data/ext/minimap2/test/t-inv.fa +0 -127
  37. data/ext/minimap2/test/t2.fa +0 -2
  38. data/ext/minimap2/test/x3s-aln.txt +0 -5
  39. data/ext/minimap2/test/x3s-qry.fa +0 -5
  40. data/ext/minimap2/test/x3s-ref.fa +0 -10
  41. data/ext/minimap2/tex/Makefile +0 -21
  42. data/ext/minimap2/tex/bioinfo.cls +0 -930
  43. data/ext/minimap2/tex/blasr-mc.eval +0 -17
  44. data/ext/minimap2/tex/bowtie2-s3.sam.eval +0 -28
  45. data/ext/minimap2/tex/bwa-s3.sam.eval +0 -52
  46. data/ext/minimap2/tex/bwa.eval +0 -55
  47. data/ext/minimap2/tex/eval2roc.pl +0 -33
  48. data/ext/minimap2/tex/graphmap.eval +0 -4
  49. data/ext/minimap2/tex/hs38-simu.sh +0 -10
  50. data/ext/minimap2/tex/minialign.eval +0 -49
  51. data/ext/minimap2/tex/minimap2.bib +0 -460
  52. data/ext/minimap2/tex/minimap2.tex +0 -724
  53. data/ext/minimap2/tex/mm2-s3.sam.eval +0 -62
  54. data/ext/minimap2/tex/mm2-update.tex +0 -240
  55. data/ext/minimap2/tex/mm2.approx.eval +0 -12
  56. data/ext/minimap2/tex/mm2.eval +0 -13
  57. data/ext/minimap2/tex/natbib.bst +0 -1288
  58. data/ext/minimap2/tex/natbib.sty +0 -803
  59. data/ext/minimap2/tex/ngmlr.eval +0 -38
  60. data/ext/minimap2/tex/roc.gp +0 -60
  61. data/ext/minimap2/tex/snap-s3.sam.eval +0 -62
  62. data/ext/minimap2.patch +0 -19
  63. data/lib/minimap2/ffi/constants.rb +0 -267
  64. data/lib/minimap2/ffi/functions.rb +0 -245
  65. data/lib/minimap2/ffi/mappy.rb +0 -104
  66. data/lib/minimap2/ffi.rb +0 -27
data/ext/minimap2/NEWS.md DELETED
@@ -1,1022 +0,0 @@
1
- Release 2.31-r1302 (19 May 2026)
2
- --------------------------------
3
-
4
- Notable changes to minimap2:
5
-
6
- * Bugfix: supplementary and secondary alignments were occasionally flagged
7
- incorrectly.
8
-
9
- * Bugfix: Smith-Waterman alignment for inversion alignment led to an
10
- out-of-bound access in rare cases.
11
-
12
- Changes to paftools.js:
13
-
14
- * New feature: new `sim2bed` subcommand to get a BED file from simulated
15
- reads.
16
-
17
- * New feature: new `badread2fa` subcommand to format reads simulated by
18
- the Badread simulator.
19
-
20
- Change to the python binding:
21
-
22
- * New feature: mappy optionally writes the `ds` tag.
23
-
24
- * Bugfix: a use-after-free error (#1345)
25
-
26
- The two bugs in minimap2 had existed for years. They were caught by Jeremy Wang
27
- at UNC when he ported minimap2 to Rust. Due to the two bug fixes, this version
28
- occasionally produces alignment different from the last version.
29
-
30
- (2.31: 19 May 2026, r1302)
31
-
32
-
33
-
34
- Release 2.30-r1287 (15 June 2025)
35
- ---------------------------------
36
-
37
- Notable changes:
38
-
39
- * Improvement: consolidated `--spsc`.
40
-
41
- * Deprecation: subcommands `splice2bed`, `gff2bed`, `gff2junc`, `junceval` and
42
- `exoneval` in `paftools.js` are deprecated by minigff. They will remain
43
- indefinitely for backward compatibility.
44
-
45
- (2.30: 15 June 2025, r1287)
46
-
47
-
48
-
49
- Release 2.29-r1283 (18 April 2025)
50
- ----------------------------------
51
-
52
- Notable changes to minimap2:
53
-
54
- * New feature: added the `splice:sr` preset for short RNA-seq read alignment.
55
- Users may use `-j` to specify known gene annotation to improve spliced
56
- alignment close to the ends of short reads. Also added `--write-junc` and
57
- `--pass1` for 2-pass short-read RNA-seq alignment.
58
-
59
- * Experimental feature: read splice scores from a file specified by `--spsc`
60
- and consider the scores during base alignment. The feature makes it possible
61
- to apply advanced splice models and to improve spliced alignment.
62
-
63
- * Change: adjusted the mapping quality calculation for spliced alignment.
64
-
65
- * Bugfixes: a) missing overlap alignment when base alignment is requested
66
- (#969); b) incorrect summary information for long genomes (#1192); c)
67
- missing parameter check for `--score-N` (#1226).
68
-
69
- * Improvement: a) warn about absent junction files (#1229); b) report an error
70
- if a wrong preset prefixed with "splice" is specified (#589).
71
-
72
- Notable changes to mappy:
73
-
74
- * Improvement: allow passing read name (#1260)
75
-
76
- * Improvement: exposed score for ambiguous bases (#1240)
77
-
78
- Minimap2 now supports short/long genomic/RNA-seq read alignment along with
79
- contig alignment and all-vs-all read overlapping. It produces identical genomic
80
- long-read or contig alignment to v2.27. Short genomic read alignment and the
81
- mapping quality of long RNA-seq read alignment may slightly differ in very rare
82
- cases.
83
-
84
- (2.29: 18 April 2025, r1283)
85
-
86
-
87
-
88
- Release 2.28-r1209 (27 March 2024)
89
- ----------------------------------
90
-
91
- Notable changes to minimap2:
92
-
93
- * Bugfix: `--MD` was not working properly due to the addition of `--ds` in the
94
- last release (#1181 and #1182).
95
-
96
- * New feature: added an experimental preset `lq:hqae` for aligning accurate
97
- long reads back to their assembly. It has been observed that `map-hifi` and
98
- `lr:hq` may produce many wrong alignments around centromeres when accurate
99
- long reads (PacBio HiFi or Nanopore duplex/Q20+) are mapped to a diploid
100
- assembly constructed from them. This new preset produces much more accurate
101
- alignment. It is still experimental and may be subjective to changes in
102
- future.
103
-
104
- * Change: reduced the default `--cap-kalloc` to 500m to lower the peak
105
- memory consumption (#855).
106
-
107
- Notable changes to mappy:
108
-
109
- * Bugfix: mappy option struct was out of sync with minimap2 (#1177).
110
-
111
- Minimap2 should output identical alignments to v2.27.
112
-
113
- (2.28: 27 March 2024, r1209)
114
-
115
-
116
-
117
- Release 2.27-r1193 (12 March 2024)
118
- ----------------------------------
119
-
120
- Notable changes to minimap2:
121
-
122
- * New feature: added the `lr:hq` preset for accurate long reads at ~1% error
123
- rate. This was suggested by Oxford Nanopore developers (#1127). It is not
124
- clear if this preset also works well for PacBio HiFi reads.
125
-
126
- * New feature: added the `map-iclr` preset for Illumina Complete Long Reads
127
- (#1069), provided by Illumina developers.
128
-
129
- * New feature: added option `-b` to specify mismatch penalty for base
130
- transitions (i.e. A-to-G or C-to-T changes).
131
-
132
- * New feature: added option `--ds` to generate a new `ds:Z` tag that
133
- indicates uncertainty in INDEL positions. It is an extension to `cs`. The
134
- `mgutils-es6.js` script in minigraph parses `ds`.
135
-
136
- * Bugfix: avoided a NULL pointer dereference (#1154). This would not have an
137
- effect on most systems but would still be good to fix.
138
-
139
- * Bugfix: reverted the value of `ms:i` to pre-2.22 versions (#1146). This was
140
- an oversight. See fcd4df2 for details.
141
-
142
- Notable changes to paftools.js and mappy:
143
-
144
- * New feature: expose `bw_long` to mappy's Aligner class (#1124).
145
-
146
- * Bugfix: fixed several compatibility issues with k8 v1.0 (#1161 and #1166).
147
- Subcommands "call", "pbsim2fq" and "mason2fq" were not working with v1.0.
148
-
149
- Minimap2 should output identical alignments to v2.26, except the ms tag.
150
-
151
- (2.27: 12 March 2024, r1193)
152
-
153
-
154
-
155
- Release 2.26-r1175 (29 April 2023)
156
- ----------------------------------
157
-
158
- Fixed the broken Python package. This is the only change.
159
-
160
- (2.26: 25 April 2023, r1173)
161
-
162
-
163
-
164
- Release 2.25-r1173 (25 April 2023)
165
- ----------------------------------
166
-
167
- Notable changes:
168
-
169
- * Improvement: use the miniprot splice model for RNA-seq alignment by default.
170
- This model considers non-GT-AG splice sites and leads to slightly higher
171
- (<0.1%) accuracy and sensitivity on real human data.
172
-
173
- * Change: increased the default `-I` to `8G` such that minimap2 would create a
174
- uni-part index for a pair of mammalian genomes. This change may increase the
175
- memory for all-vs-all read overlap alignment given large datasets.
176
-
177
- * New feature: output the sequences in secondary alignments with option
178
- `--secondary-seq` (#687).
179
-
180
- * Bugfix: --rmq was not parsed correctly (#1010)
181
-
182
- * Bugfix: possibly incorrect coordinate when applying end bonus to the target
183
- sequence (#1025). This is a ksw2 bug. It does not affect minimap2 as
184
- minimap2 is not using the affected feature.
185
-
186
- * Improvement: incorporated several changes for better compatibility with
187
- Windows (#1051) and for minimap2 integration at Oxford Nanopore Technologies
188
- (#1048 and #1033).
189
-
190
- * Improvement: output the HD-line in SAM output (#1019).
191
-
192
- * Improvement: check minimap2 index file in mappy to prevent segmentation
193
- fault for certain indices (#1008).
194
-
195
- For genomic sequences, minimap2 should give identical output to v2.24.
196
- Long-read RNA-seq alignment may occasionally differ from previous versions.
197
-
198
- (2.25: 25 April 2023, r1173)
199
-
200
-
201
-
202
- Release 2.24-r1122 (26 December 2021)
203
- -------------------------------------
204
-
205
- This release improves alignment around long poorly aligned regions. Older
206
- minimap2 may chain through such regions in rare cases which may result in
207
- missing alignments later. The issue has become worse since the the change of
208
- the chaining algorithm in v2.19. v2.23 implements an incomplete remedy. This
209
- release provides a better solution with a X-drop-like heuristic and by enabling
210
- two-bandwidth chaining in the assembly mode.
211
-
212
- (2.24: 26 December 2021, r1122)
213
-
214
-
215
-
216
- Release 2.23-r1111 (18 November 2021)
217
- -------------------------------------
218
-
219
- Notable changes:
220
-
221
- * Bugfix: fixed missing alignments around long inversions (#806 and #816).
222
- This bug affected v2.19 through v2.22.
223
-
224
- * Improvement: avoid extremely long mapping time for pathologic reads with
225
- highly repeated k-mers not in the reference (#771). Use --q-occ-frac=0
226
- to disable the new heuristic.
227
-
228
- * Change: use --cap-kalloc=1g by default.
229
-
230
- (2.23: 18 November 2021, r1111)
231
-
232
-
233
-
234
- Release 2.22-r1101 (7 August 2021)
235
- ----------------------------------
236
-
237
- When choosing the best alignment, this release uses logarithm gap penalty and
238
- query-specific mismatch penalty. It improves the sensitivity to long INDELs in
239
- repetitive regions.
240
-
241
- Other notable changes:
242
-
243
- * Bugfix: fixed an indirect memory leak that may waste a large amount of
244
- memory given highly repetitive reference such as a 16S RNA database (#749).
245
- All versions of minimap2 have this issue.
246
-
247
- * New feature: added --cap-kalloc to reduce the peak memory. This option is
248
- not enabled by default but may become the default in future releases.
249
-
250
- Known issue:
251
-
252
- * Minimap2 may take a long time to map a read (#771). So far it is not clear
253
- if this happens to v2.18 and earlier versions.
254
-
255
- (2.22: 7 August 2021, r1101)
256
-
257
-
258
-
259
- Release 2.21-r1071 (6 July 2021)
260
- --------------------------------
261
-
262
- This release fixed a regression in short-read mapping introduced in v2.19
263
- (#776). It also fixed invalid comparisons of uninitialized variables, though
264
- these are harmless (#752). Long-read alignment should be identical to v2.20.
265
-
266
- (2.21: 6 July 2021, r1071)
267
-
268
-
269
-
270
- Release 2.20-r1061 (27 May 2021)
271
- --------------------------------
272
-
273
- This release fixed a bug in the Python module and improves the command-line
274
- compatibiliity with v2.18. In v2.19, if `-r` is specified with an `asm*` preset,
275
- users would get alignments more fragmented than v2.18. This could be an issue
276
- for existing pipelines specifying `-r`. This release resolves this issue.
277
-
278
- (2.20: 27 May 2021, r1061)
279
-
280
-
281
-
282
- Release 2.19-r1057 (26 May 2021)
283
- --------------------------------
284
-
285
- This release includes a few important improvements backported from unimap:
286
-
287
- * Improvement: more contiguous alignment through long INDELs. This is enabled
288
- by the minigraph chaining algorithm. All `asm*` presets now use the new
289
- algorithm. They can find INDELs up to 100kb and may be faster for
290
- chromosome-long contigs. The default mode and `map*` presets use this
291
- algorithm to replace the long-join heuristic.
292
-
293
- * Improvement: better alignment in highly repetitive regions by rescuing
294
- high-occurrence seeds. If the distance between two adjacent seeds is too
295
- large, attempt to choose a fraction of high-occurrence seeds in-between.
296
- Minimap2 now produces fewer clippings and alignment break points in long
297
- satellite regions.
298
-
299
- * Improvement: allow to specify an interval of k-mer occurrences with `-U`.
300
- For repeat-rich genomes, the automatic k-mer occurrence threshold determined
301
- by `-f` may be too large and makes alignment impractically slow. The new
302
- option protects against such cases. Enabled for `asm*` and `map-hifi`.
303
-
304
- * New feature: added the `map-hifi` preset for maping PacBio High-Fidelity
305
- (HiFi) reads.
306
-
307
- * Change to the default: apply `--cap-sw-mem=100m` for genomic alignment.
308
-
309
- * Bugfix: minimap2 could not generate an index file with `-xsr` (#734).
310
-
311
- This release represents the most signficant algorithmic change since v2.1 in
312
- 2017. With features backported from unimap, minimap2 now has similar power to
313
- unimap for contig alignment. Unimap will remain an experimental project and is
314
- no longer recommended over minimap2. Sorry for reverting the recommendation in
315
- short time.
316
-
317
- (2.19: 26 May 2021, r1057)
318
-
319
-
320
-
321
- Release 2.18-r1015 (9 April 2021)
322
- ---------------------------------
323
-
324
- This release fixes multiple rare bugs in minimap2 and adds additional
325
- functionality to paftools.js.
326
-
327
- Changes to minimap2:
328
-
329
- * Bugfix: a rare segfault caused by an off-by-one error (#489)
330
-
331
- * Bugfix: minimap2 segfaulted due to an uninitilized variable (#622 and #625).
332
-
333
- * Bugfix: minimap2 parsed spaces as field separators in BED (#721). This led
334
- to issues when the BED name column contains spaces.
335
-
336
- * Bugfix: minimap2 `--split-prefix` did not work with long reference names
337
- (#394).
338
-
339
- * Bugfix: option `--junc-bonus` didn't work (#513)
340
-
341
- * Bugfix: minimap2 didn't return 1 on I/O errors (#532)
342
-
343
- * Bugfix: the `de:f` tag (sequence divergence) could be negative if there were
344
- ambiguous bases
345
-
346
- * Bugfix: fixed two undefined behaviors caused by calling memcpy() on
347
- zero-length blocks (#443)
348
-
349
- * Bugfix: there were duplicated SAM @SQ lines if option `--split-prefix` is in
350
- use (#400 and #527)
351
-
352
- * Bugfix: option -K had to be smaller than 2 billion (#491). This was caused
353
- by a 32-bit integer overflow.
354
-
355
- * Improvement: optionally compile against SIMDe (#597). Minimap2 should work
356
- with IBM POWER CPUs, though this has not been tested. To compile with SIMDe,
357
- please use `make -f Makefile.simde`.
358
-
359
- * Improvement: more informative error message for I/O errors (#454) and for
360
- FASTQ parsing errors (#510)
361
-
362
- * Improvement: abort given malformatted RG line (#541)
363
-
364
- * Improvement: better formula to estimate the `dv:f` tag (approximate sequence
365
- divergence). See DOI:10.1101/2021.01.15.426881.
366
-
367
- * New feature: added the `--mask-len` option to fine control the removal of
368
- redundant hits (#659). The default behavior is unchanged.
369
-
370
- Changes to mappy:
371
-
372
- * Bugfix: mappy caused segmentation fault if the reference index is not
373
- present (#413).
374
-
375
- * Bugfix: fixed a memory leak via 238b6bb3
376
-
377
- * Change: always require Cython to compile the mappy module (#723). Older
378
- mappy packages at PyPI bundled the C source code generated by Cython such
379
- that end users did not need to install Cython to compile mappy. However, as
380
- Python 3.9 is breaking backward compatibility, older mappy does not work
381
- with Python 3.9 anymore. We have to add this Cython dependency as a
382
- workaround.
383
-
384
- Changes to paftools.js:
385
-
386
- * Bugfix: the "part10-" line from asmgene was wrong (#581)
387
-
388
- * Improvement: compatibility with GTF files from GenBank (#422)
389
-
390
- * New feature: asmgene also checks missing multi-copy genes
391
-
392
- * New feature: added the misjoin command to evaluate large-scale misjoins and
393
- megabase-long inversions.
394
-
395
- Although given the many bug fixes and minor improvements, the core algorithm
396
- stays the same. This version of minimap2 produces nearly identical alignments
397
- to v2.17 except very rare corner cases.
398
-
399
- Now unimap is recommended over minimap2 for aligning long contigs against a
400
- reference genome. It often takes less wall-clock time and is much more
401
- sensitive to long insertions and deletions.
402
-
403
- (2.18: 9 April 2021, r1015)
404
-
405
-
406
-
407
- Release 2.17-r941 (4 May 2019)
408
- ------------------------------
409
-
410
- Changes since the last release:
411
-
412
- * Fixed flawed CIGARs like `5I6D7I` (#392).
413
-
414
- * Bugfix: TLEN should be 0 when either end is unmapped (#373 and #365).
415
-
416
- * Bugfix: mappy is unable to write index (#372).
417
-
418
- * Added option `--junc-bed` to load known gene annotations in the BED12
419
- format. Minimap2 prefers annotated junctions over novel junctions (#197 and
420
- #348). GTF can be converted to BED12 with `paftools.js gff2bed`.
421
-
422
- * Added option `--sam-hit-only` to suppress unmapped hits in SAM (#377).
423
-
424
- * Added preset `splice:hq` for high-quality CCS or mRNA sequences. It applies
425
- better scoring and improves the sensitivity to small exons. This preset may
426
- introduce false small introns, but the overall accuracy should be higher.
427
-
428
- This version produces nearly identical alignments to v2.16, except for CIGARs
429
- affected by the bug mentioned above.
430
-
431
- (2.17: 5 May 2019, r941)
432
-
433
-
434
-
435
- Release 2.16-r922 (28 February 2019)
436
- ------------------------------------
437
-
438
- This release is 50% faster for mapping ultra-long nanopore reads at comparable
439
- accuracy. For short-read mapping, long-read overlapping and ordinary long-read
440
- mapping, the performance and accuracy remain similar. This speedup is achieved
441
- with a new heuristic to limit the number of chaining iterations (#324). Users
442
- can disable the heuristic by increasing a new option `--max-chain-iter` to a
443
- huge number.
444
-
445
- Other changes to minimap2:
446
-
447
- * Implemented option `--paf-no-hit` to output unmapped query sequences in PAF.
448
- The strand and reference name columns are both `*` at an unmapped line. The
449
- hidden option is available in earlier minimap2 but had a different 2-column
450
- output format instead of PAF.
451
-
452
- * Fixed a bug that leads to wrongly calculated `de` tags when ambiguous bases
453
- are involved (#309). This bug only affects v2.15.
454
-
455
- * Fixed a bug when parsing command-line option `--splice` (#344). This bug was
456
- introduced in v2.13.
457
-
458
- * Fixed two division-by-zero cases (#326). They don't affect final alignments
459
- because the results of the divisions are not used in both case.
460
-
461
- * Added an option `-o` to output alignments to a specified file. It is still
462
- recommended to use UNIX pipes for on-the-fly conversion or compression.
463
-
464
- * Output a new `rl` tag to give the length of query regions harboring
465
- repetitive seeds.
466
-
467
- Changes to paftool.js:
468
-
469
- * Added a new option to convert the MD tag to the long form of the cs tag.
470
-
471
- Changes to mappy:
472
-
473
- * Added the `mappy.Aligner.seq_names` method to return sequence names (#312).
474
-
475
- For NA12878 ultra-long reads, this release changes the alignments of <0.1% of
476
- reads in comparison to v2.15. All these reads have highly fragmented alignments
477
- and are likely to be problematic anyway. For shorter or well aligned reads,
478
- this release should produce mostly identical alignments to v2.15.
479
-
480
- (2.16: 28 February 2019, r922)
481
-
482
-
483
-
484
- Release 2.15-r905 (10 January 2019)
485
- -----------------------------------
486
-
487
- Changes to minimap2:
488
-
489
- * Fixed a rare segmentation fault when option -H is in use (#307). This may
490
- happen when there are very long homopolymers towards the 5'-end of a read.
491
-
492
- * Fixed wrong CIGARs when option --eqx is used (#266).
493
-
494
- * Fixed a typo in the base encoding table (#264). This should have no
495
- practical effect.
496
-
497
- * Fixed a typo in the example code (#265).
498
-
499
- * Improved the C++ compatibility by removing "register" (#261). However,
500
- minimap2 still can't be compiled in the pedantic C++ mode (#306).
501
-
502
- * Output a new "de" tag for gap-compressed sequence divergence.
503
-
504
- Changes to paftools.js:
505
-
506
- * Added "asmgene" to evaluate the completeness of an assembly by measuring the
507
- uniquely mapped single-copy genes. This command learns the idea of BUSCO.
508
-
509
- * Added "vcfpair" to call a phased VCF from phased whole-genome assemblies. An
510
- earlier version of this script is used to produce the ground truth for the
511
- syndip benchmark [PMID:30013044].
512
-
513
- This release produces identical alignment coordinates and CIGARs in comparison
514
- to v2.14. Users are advised to upgrade due to the several bug fixes.
515
-
516
- (2.15: 10 Janurary 2019, r905)
517
-
518
-
519
-
520
- Release 2.14-r883 (5 November 2018)
521
- -----------------------------------
522
-
523
- Notable changes:
524
-
525
- * Fixed two minor bugs caused by typos (#254 and #266).
526
-
527
- * Fixed a bug that made minimap2 abort when --eqx was used together with --MD
528
- or --cs (#257).
529
-
530
- * Added --cap-sw-mem to cap the size of DP matrices (#259). Base alignment may
531
- take a lot of memory in the splicing mode. This may lead to issues when we
532
- run minimap2 on a cluster with a hard memory limit. The new option avoids
533
- unlimited memory usage at the cost of missing a few long introns.
534
-
535
- * Conforming to C99 and C11 when possible (#261).
536
-
537
- * Warn about malformatted FASTA or FASTQ (#252 and #255).
538
-
539
- This release occasionally produces base alignments different from v2.13. The
540
- overall alignment accuracy remain similar.
541
-
542
- (2.14: 5 November 2018, r883)
543
-
544
-
545
-
546
- Release 2.13-r850 (11 October 2018)
547
- -----------------------------------
548
-
549
- Changes to minimap2:
550
-
551
- * Fixed wrongly formatted SAM when -L is in use (#231 and #233).
552
-
553
- * Fixed an integer overflow in rare cases.
554
-
555
- * Added --hard-mask-level to fine control split alignments (#244).
556
-
557
- * Made --MD work with spliced alignment (#139).
558
-
559
- * Replaced musl's getopt with ketopt for portability.
560
-
561
- * Log peak memory usage on exit.
562
-
563
- This release should produce alignments identical to v2.12 and v2.11.
564
-
565
- (2.13: 11 October 2018, r850)
566
-
567
-
568
-
569
- Release 2.12-r827 (6 August 2018)
570
- ---------------------------------
571
-
572
- Changes to minimap2:
573
-
574
- * Added option --split-prefix to write proper alignments (correct mapping
575
- quality and clustered query sequences) given a multi-part index (#141 and
576
- #189; mostly by @hasindu2008).
577
-
578
- * Fixed a memory leak when option -y is in use.
579
-
580
- Changes to mappy:
581
-
582
- * Support the MD/cs tag (#183 and #203).
583
-
584
- * Allow mappy to index a single sequence, to add extra flags and to change the
585
- scoring system.
586
-
587
- Minimap2 should produce alignments identical to v2.11.
588
-
589
- (2.12: 6 August 2018, r827)
590
-
591
-
592
-
593
- Release 2.11-r797 (20 June 2018)
594
- --------------------------------
595
-
596
- Changes to minimap2:
597
-
598
- * Improved alignment accuracy in low-complexity regions for SV calling. Thank
599
- @armintoepfer for multiple offline examples.
600
-
601
- * Added option --eqx to encode sequence match/mismatch with the =/X CIGAR
602
- operators (#156, #157 and #175).
603
-
604
- * When compiled with VC++, minimap2 generated wrong alignments due to a
605
- comparison between a signed integer and an unsigned integer (#184). Also
606
- fixed warnings reported by "clang -Wextra".
607
-
608
- * Fixed incorrect anchor filtering due to a missing 64- to 32-bit cast.
609
-
610
- * Fixed incorrect mapping quality for inversions (#148).
611
-
612
- * Fixed incorrect alignment involving ambiguous bases (#155).
613
-
614
- * Fixed incorrect presets: option `-r 2000` is intended to be used with
615
- ava-ont, not ava-pb. The bug was introduced in 2.10.
616
-
617
- * Fixed a bug when --for-only/--rev-only is used together with --sr or
618
- --heap-sort=yes (#166).
619
-
620
- * Fixed option -Y that was not working in the previous releases.
621
-
622
- * Added option --lj-min-ratio to fine control the alignment of long gaps
623
- found by the "long-join" heuristic (#128).
624
-
625
- * Exposed `mm_idx_is_idx`, `mm_idx_load` and `mm_idx_dump` C APIs (#177).
626
- Also fixed a bug when indexing without reference names (this feature is not
627
- exposed to the command line).
628
-
629
- Changes to mappy:
630
-
631
- * Added `__version__` (#165).
632
-
633
- * Exposed the maximum fragment length parameter to mappy (#174).
634
-
635
- Changes to paftools:
636
-
637
- * Don't crash when there is no "cg" tag (#153).
638
-
639
- * Fixed wrong coverage report by "paftools.js call" (#145).
640
-
641
- This version may produce slightly different base-level alignment. The overall
642
- alignment statistics should remain similar.
643
-
644
- (2.11: 20 June 2018, r797)
645
-
646
-
647
-
648
- Release 2.10-r761 (27 March 2018)
649
- ---------------------------------
650
-
651
- Changes to minimap2:
652
-
653
- * Optionally output the MD tag for compatibility with existing tools (#63,
654
- #118 and #137).
655
-
656
- * Use SSE compiler flags more precisely to prevent compiling errors on certain
657
- machines (#127).
658
-
659
- * Added option --min-occ-floor to set a minimum occurrence threshold. Presets
660
- intended for assembly-to-reference alignment set this option to 100. This
661
- option alleviates issues with regions having high copy numbers (#107).
662
-
663
- * Exit with non-zero code on file writing errors (e.g. disk full; #103 and
664
- #132).
665
-
666
- * Added option -y to copy FASTA/FASTQ comments in query sequences to the
667
- output (#136).
668
-
669
- * Added the asm20 preset for alignments between genomes at 5-10% sequence
670
- divergence.
671
-
672
- * Changed the band-width in the ava-ont preset from 500 to 2000. Oxford
673
- Nanopore reads may contain long deletion sequencing errors that break
674
- chaining.
675
-
676
- Changes to mappy, the Python binding:
677
-
678
- * Fixed a typo in Align.seq() (#126).
679
-
680
- Changes to paftools.js, the companion script:
681
-
682
- * Command sam2paf now converts the MD tag to cs.
683
-
684
- * Support VCF output for assembly-to-reference variant calling (#109).
685
-
686
- This version should produce identical alignment for read overlapping, RNA-seq
687
- read mapping, and genomic read mapping. We have also added a cook book to show
688
- the variety uses of minimap2 on real datasets. Please see cookbook.md in the
689
- minimap2 source code directory.
690
-
691
- (2.10: 27 March 2017, r761)
692
-
693
-
694
-
695
- Release 2.9-r720 (23 February 2018)
696
- -----------------------------------
697
-
698
- This release fixed multiple minor bugs.
699
-
700
- * Fixed two bugs that lead to incorrect inversion alignment. Also improved the
701
- sensitivity to small inversions by using double Z-drop cutoff (#112).
702
-
703
- * Fixed an issue that may cause the end of a query sequence unmapped (#104).
704
-
705
- * Added a mappy API to retrieve sequences from the index (#126) and to reverse
706
- complement DNA sequences. Fixed a bug where the `best_n` parameter did not
707
- work (#117).
708
-
709
- * Avoided segmentation fault given incorrect FASTQ input (#111).
710
-
711
- * Combined all auxiliary javascripts to paftools.js. Fixed several bugs in
712
- these scripts at the same time.
713
-
714
- (2.9: 24 February 2018, r720)
715
-
716
-
717
-
718
- Release 2.8-r672 (1 February 2018)
719
- ----------------------------------
720
-
721
- Notable changes in this release include:
722
-
723
- * Speed up short-read alignment by ~10%. The overall mapping accuracy stays
724
- the same, but the output alignments are not always identical to v2.7 due to
725
- unstable sorting employed during chaining. Long-read alignment is not
726
- affected by this change as the speedup is short-read specific.
727
-
728
- * Mappy now supports paired-end short-read alignment (#87). Please see
729
- python/README.rst for details.
730
-
731
- * Added option --for-only and --rev-only to perform alignment against the
732
- forward or the reverse strand of the reference genome only (#91).
733
-
734
- * Alleviated the issue with undesired diagonal alignment in the self mapping
735
- mode (#10). Even if the output is not ideal, it should not interfere with
736
- other alignments. Fully resolving the issue is intricate and may require
737
- additional heuristic thresholds.
738
-
739
- * Enhanced error checking against incorrect input (#92 and #96).
740
-
741
- For long query sequences, minimap2 should output identical alignments to v2.7.
742
-
743
- (2.8: 1 February 2018, r672)
744
-
745
-
746
-
747
- Release 2.7-r654 (9 January 2018)
748
- ---------------------------------
749
-
750
- This release fixed a bug in the splice mode and added a few minor features:
751
-
752
- * Fixed a bug that occasionally takes an intron as a long deletion in the
753
- splice mode. This was caused by wrong backtracking at the last CIGAR
754
- operator. The current fix eliminates the error, but it is not optimal in
755
- that it often produces a wrong junction when the last operator is an intron.
756
- A future version of minimap2 may improve upon this.
757
-
758
- * Support high-end ARM CPUs that implement the NEON instruction set (#81).
759
- This enables minimap2 to work on Raspberry Pi 3 and Odroid XU4.
760
-
761
- * Added a C API to construct a minimizer index from a set of C strings (#80).
762
-
763
- * Check scoring specified on the command line (#79). Due to the 8-bit limit,
764
- excessively large score penalties fail minimap2.
765
-
766
- For genomic sequences, minimap2 should give identical alignments to v2.6.
767
-
768
- (2.7: 9 January 2018, r654)
769
-
770
-
771
-
772
- Release 2.6-r623 (12 December 2017)
773
- -----------------------------------
774
-
775
- This release adds several features and fixes two minor bugs:
776
-
777
- * Optionally build an index without sequences. This helps to reduce the
778
- peak memory for read overlapping and is automatically applied when
779
- base-level alignment is not requested.
780
-
781
- * Approximately estimate per-base sequence divergence (i.e. 1-identity)
782
- without performing base-level alignment, using a MashMap-like method. The
783
- estimate is written to a new dv:f tag.
784
-
785
- * Reduced the number of tiny terminal exons in RNA-seq alignment. The current
786
- setting is conservative. Increase --end-seed-pen to drop more such exons.
787
-
788
- * Reduced the peak memory when aligning long query sequences.
789
-
790
- * Fixed a bug that is caused by HPC minimizers longer than 256bp. This should
791
- have no effect in practice, but it is recommended to rebuild HPC indices if
792
- possible.
793
-
794
- * Fixed a bug when identifying identical hits (#71). This should only affect
795
- artifactual reference consisting of near identical sequences.
796
-
797
- For genomic sequences, minimap2 should give nearly identical alignments to
798
- v2.5, except the new dv:f tag.
799
-
800
- (2.6: 12 December 2017, r623)
801
-
802
-
803
-
804
- Release 2.5-r572 (11 November 2017)
805
- -----------------------------------
806
-
807
- This release fixes several bugs and brings a couple of minor improvements:
808
-
809
- * Fixed a severe bug that leads to incorrect mapping coordinates in rare
810
- corner cases.
811
-
812
- * Fixed underestimated mapping quality for chimeric alignments when the whole
813
- query sequence contain many repetitive minimizers, and for chimeric
814
- alignments caused by Z-drop.
815
-
816
- * Fixed two bugs in Python binding: incorrect strand field (#57) and incorrect
817
- sequence names for Python3 (#55).
818
-
819
- * Improved mapping accuracy for highly overlapping paired ends.
820
-
821
- * Added option -Y to use soft clipping for supplementary alignments (#56).
822
-
823
- (2.5: 11 November 2017, r572)
824
-
825
-
826
-
827
- Release 2.4-r555 (6 November 2017)
828
- ----------------------------------
829
-
830
- As is planned, this release focuses on fine tuning the base algorithm. Notable
831
- changes include
832
-
833
- * Changed the mapping quality scale to match the scale of BWA-MEM. This makes
834
- minimap2 and BWA-MEM achieve similar sensitivity-specificity balance on real
835
- short-read data.
836
-
837
- * Improved the accuracy of splice alignment by modeling one additional base
838
- close to the GT-AG signal. This model is used by default with `-x splice`.
839
- For SIRV control data, however, it is recommended to add `--splice-flank=no`
840
- to disable this feature as the SIRV splice signals are slightly different.
841
-
842
- * Tuned the parameters for Nanopore Direct RNA reads. The recommended command
843
- line is `-axsplice -k14 -uf` (#46).
844
-
845
- * Fixed a segmentation fault when aligning PacBio reads (#47 and #48). This
846
- bug is very rare but it affects all versions of minimap2. It is also
847
- recommended to re-index reference genomes created with `map-pb`. For human,
848
- two minimizers in an old index are wrong.
849
-
850
- * Changed option `-L` in sync with the final decision of hts-specs: a fake
851
- CIGAR takes the form of `<readLen>S<refLen>N`. Note that `-L` only enables
852
- future tools to recognize long CIGARs. It is not possible for older tools to
853
- work with such alignments in BAM (#43 and #51).
854
-
855
- * Fixed a tiny issue whereby minimap2 may waste 8 bytes per candidate
856
- alignment.
857
-
858
- The minimap2 technical note hosted at arXiv has also been updated to reflect
859
- recent changes.
860
-
861
- (2.4: 6 November 2017, r555)
862
-
863
-
864
-
865
- Release 2.3-r531 (22 October 2017)
866
- ----------------------------------
867
-
868
- This release come with many improvements and bug fixes:
869
-
870
- * The **sr** preset now supports paired-end short-read alignment. Minimap2 is
871
- 3-4 times as fast as BWA-MEM, but is slightly less accurate on simulated
872
- reads.
873
-
874
- * Meticulous improvements to assembly-to-assembly alignment (special thanks to
875
- Alexey Gurevich from the QUAST team): a) apply a small penalty to matches
876
- between ambiguous bases; b) reduce missing alignments due to spurious
877
- overlaps; c) introduce the short form of the `cs` tag, an improvement to the
878
- SAM MD tag.
879
-
880
- * Make sure gaps are always left-aligned.
881
-
882
- * Recognize `U` bases from Oxford Nanopore Direct RNA-seq (#33).
883
-
884
- * Fixed slightly wrong chaining score. Fixed slightly inaccurate coordinates
885
- for split alignment.
886
-
887
- * Fixed multiple reported bugs: 1) wrong reference name for inversion
888
- alignment (#30); 2) redundant SQ lines when multiple query files are
889
- specified (#39); 3) non-functioning option `-K` (#36).
890
-
891
- This release has implemented all the major features I planned five months ago,
892
- with the addition of spliced long-read alignment. The next couple of releases
893
- will focus on fine tuning of the base algorithms.
894
-
895
- (2.3: 22 October 2017, r531)
896
-
897
-
898
-
899
- Release 2.2-r409 (17 September 2017)
900
- ------------------------------------
901
-
902
- This is a feature release. It improves single-end short-read alignment and
903
- comes with Python bindings. Detailed changes include:
904
-
905
- * Added the **sr** preset for single-end short-read alignment. In this mode,
906
- minimap2 runs faster than BWA-MEM, but is slightly less accurate on
907
- simulated data sets. Paired-end alignment is not supported as of now.
908
-
909
- * Improved mapping quality estimate with more accurate identification of
910
- repetitive hits. This mainly helps short-read alignment.
911
-
912
- * Implemented **mappy**, a Python binding for minimap2, which is available
913
- from PyPI and can be installed with `pip install --user mappy`. Python users
914
- can perform read alignment without the minimap2 executable.
915
-
916
- * Restructured the indexing APIs and documented key minimap2 APIs in the
917
- header file minimap.h. Updated example.c with the new APIs. Old APIs still
918
- work but may become deprecated in future.
919
-
920
- This release may output alignments different from the previous version, though
921
- the overall alignment statistics, such as the number of aligned bases and long
922
- gaps, remain close.
923
-
924
- (2.2: 17 September 2017, r409)
925
-
926
-
927
-
928
- Release 2.1.1-r341 (6 September 2017)
929
- -------------------------------------
930
-
931
- This is a maintenance release that is expected to output identical alignment to
932
- v2.1. Detailed changes include:
933
-
934
- * Support CPU dispatch. By default, minimap2 is compiled with both SSE2 and
935
- SSE4 based implementation of alignment and automatically chooses the right
936
- one at runtime. This avoids unexpected errors on older CPUs (#21).
937
-
938
- * Improved Windows support as is requested by Oxford Nanopore (#19). Minimap2
939
- now avoids variable-length stacked arrays, eliminates alloca(), ships with
940
- getopt_long() and provides timing functions implemented with Windows APIs.
941
-
942
- * Fixed a potential segmentation fault when specifying -k/-w/-H with
943
- multi-part index (#23).
944
-
945
- * Fixed two memory leaks in example.c
946
-
947
- (2.1.1: 6 September 2017, r341)
948
-
949
-
950
-
951
- Release 2.1-r311 (25 August 2017)
952
- ---------------------------------
953
-
954
- This release adds spliced alignment for long noisy RNA-seq reads. On a SMRT
955
- Iso-Seq and a Oxford Nanopore data sets, minimap2 appears to outperform
956
- traditional mRNA aligners. For DNA alignment, this release gives almost
957
- identical output to v2.0. Other changes include:
958
-
959
- * Added option `-R` to set the read group header line in SAM.
960
-
961
- * Optionally output the `cs:Z` tag in PAF to encode both the query and the
962
- reference sequences in the alignment.
963
-
964
- * Fixed an issue where DP alignment uses excessive memory.
965
-
966
- The minimap2 technical report has been updated with more details and the
967
- evaluation of spliced alignment:
968
-
969
- * Li, H. (2017). Minimap2: fast pairwise alignment for long nucleotide
970
- sequences. [arXiv:1708.01492v2](https://arxiv.org/abs/1708.01492v2).
971
-
972
- (2.1: 25 August 2017, r311)
973
-
974
-
975
-
976
- Release 2.0-r275 (8 August 2017)
977
- --------------------------------
978
-
979
- This release is identical to version 2.0rc1, except the version number. It is
980
- described and evaluated in the following technical report:
981
-
982
- * Li, H. (2017). Minimap2: fast pairwise alignment for long DNA sequences.
983
- [arXiv:1708.01492v1](https://arxiv.org/abs/1708.01492v1).
984
-
985
- (2.0: 8 August 2017, r275)
986
-
987
-
988
-
989
- Release 2.0rc1-r232 (30 July 2017)
990
- ----------------------------------
991
-
992
- This release improves the accuracy of long-read alignment and added several
993
- minor features.
994
-
995
- * Improved mapping quality estimate for short alignments containing few seed
996
- hits.
997
-
998
- * Fixed a minor bug that affects the chaining accuracy towards the ends of a
999
- chain. Changed the gap cost for chaining to reduce false seeding.
1000
-
1001
- * Skip potentially wrong seeding and apply dynamic programming more frequently.
1002
- This slightly increases run time, but greatly reduces false long gaps.
1003
-
1004
- * Perform local alignment at Z-drop break point to recover potential inversion
1005
- alignment. Output the SA tag in the SAM format. Added scripts to evaluate
1006
- mapping accuracy for reads simulated with pbsim.
1007
-
1008
- This release completes features intended for v2.0. No major features will be
1009
- added to the master branch before the final v2.0.
1010
-
1011
- (2.0rc1: 30 July 2017, r232)
1012
-
1013
-
1014
-
1015
- Release r191 (19 July 2017)
1016
- ---------------------------
1017
-
1018
- This is the first public release of minimap2, an aligner for long reads and
1019
- assemblies. This release has a few issues and is generally not recommended for
1020
- production uses.
1021
-
1022
- (19 July 2017, r191)