From 495a78e40af3228c5aaf6ec22556862c1b1bf256 Mon Sep 17 00:00:00 2001 From: Heng Li Date: Tue, 18 Jul 2017 11:04:09 -0400 Subject: [PATCH] Get documentation ready for release --- README.md | 29 ++++++++++++++++++++--------- main.c | 2 +- minimap2.1 | 22 +++++++++++++++------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index e98e352..0ef079f 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ cd minimap2 && make ./minimap2 -x map10k -d MT-human.mmi test/MT-human.fa ./minimap2 -ax map10k MT-human.mmi test/MT-orang.fa > test.sam # long-read overlap (no test data) -./minimap2 -x ava10k your-reads.fa your-reads.fa > overlaps.paf +./minimap2 -x ava-pb your-reads.fa your-reads.fa > overlaps.paf # man page man ./minimap2.1 ``` @@ -21,24 +21,35 @@ reference genome optionally with detailed alignment (i.e. CIGAR). At present, it works efficiently with query sequences from a few kilobases to ~100 megabases in length at an error rate ~15%. Minimap2 outputs in the [PAF][paf] or the [SAM format][sam]. On limited test data sets, minimap2 is over 20 times -faster than most other long-read aligners. +faster than most other long-read aligners. It will replace BWA-MEM for long +reads and contig alignment. Minimap2 is the successor of [minimap][minimap]. It uses a similar minimizer-based indexing and seeding algorithm, and improves the original minimap with homopolyer-compressed k-mers (see also [SMARTdenovo][smartdenovo] and [longISLND][longislnd]), better chaining and the ability to produce CIGAR with fast extension alignment (see also [libgaba][gaba] and [ksw2][ksw2]) and -two-piece affine gap cost. +piece-wise affine gap cost. ## Limitations -At the alignment phase, minimap2 performs global alignments between minimizer -hits. If the positions of these minimizer hits are incorrect, the final alignment -may be suboptimal or broken due to the Z-drop heuristics. In addition, in the -event of a long insertion/deletion, minimap2 may split the long event into -a few smaller events. We will address these issues in future. +* At the alignment phase, minimap2 performs global alignments between minimizer + hits. If the positions of these minimizer hits are incorrect, the final + alignment may be suboptimal or unnecessarily fragmented. + +* Minimap2 may produce poor alignments that may need post-filtering. We are + still exploring a reliable and consistent way to report good alignments. + +* Minimap2 does not work well with Illumina short reads as of now. + +* Minimap2 requires SSE2 instructions to compile. It is possible to add + non-SSE2 support, but it would minimap2 times slower. + +In general, minimap2 is a young project with most code written since June, +2017. It may have bugs and room for improvements. Bug reports and suggestions +are warmly welcomed. + -Minimap2 does not work well with Illumina short reads as of now. [paf]: https://github.com/lh3/miniasm/blob/master/PAF.md [sam]: https://samtools.github.io/hts-specs/SAMv1.pdf diff --git a/main.c b/main.c index a9c3ca2..39a32c9 100644 --- a/main.c +++ b/main.c @@ -10,7 +10,7 @@ #include "minimap.h" #include "mmpriv.h" -#define MM_VERSION "2.0-r180-pre" +#define MM_VERSION "2.0-r180-dirty" void liftrlimit() { diff --git a/minimap2.1 b/minimap2.1 index 8626a0e..150ede2 100644 --- a/minimap2.1 +++ b/minimap2.1 @@ -1,4 +1,4 @@ -.TH minimap2 1 "12 July 2017" "minimap2-2.0-r174-pre" "Bioinformatics tools" +.TH minimap2 1 "18 July 2017" "minimap2-2.0-r180-dirty" "Bioinformatics tools" .SH NAME .PP minimap2 - mapping and alignment between collections of DNA sequences @@ -326,14 +326,22 @@ cg Z CIGAR string (only in PAF) .TE .SH LIMITATIONS -.PP +.TP 2 +* At the alignment phase, minimap2 performs global alignments between minimizer -hits. If the positions of these minimizer hits are incorrect, the final alignment -may be suboptimal or broken due to the Z-drop heuristics. In addition, in the -event of a long insertion/deletion, minimap2 may split the long event into -a few smaller events. We will address these issues in future. -.PP +hits. If the positions of these minimizer hits are incorrect, the final +alignment may be suboptimal or unnecessarily fragmented. +.TP +* +Minimap2 may produce poor alignments that may need post-filtering. We are still +exploring a reliable and consistent way to report good alignments. +.TP +* Minimap2 does not work well with Illumina short reads as of now. +.TP +* +Minimap2 requires SSE2 instructions to compile. It is possible to add +non-SSE2 support, but it would minimap2 times slower. .SH SEE ALSO .PP miniasm(1), minimap(1), bwa(1).