pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/biology/minimap2 biology/minimap2: add minimap 2.18



details:   https://anonhg.NetBSD.org/pkgsrc/rev/fd1ac82ecaff
branches:  trunk
changeset: 453270:fd1ac82ecaff
user:      brook <brook%pkgsrc.org@localhost>
date:      Wed May 26 18:49:20 2021 +0000

description:
biology/minimap2: add minimap 2.18

## Users' Guide

Minimap2 is a versatile sequence alignment program that aligns DNA or
mRNA sequences against a large reference database. Typical use cases
include: (1) mapping PacBio or Oxford Nanopore genomic reads to the
human genome; (2) finding overlaps between long reads with error rate
up to ~15%; (3) splice-aware alignment of PacBio Iso-Seq or Nanopore
cDNA or Direct RNA reads against a reference genome; (4) aligning
Illumina single- or paired-end reads; (5) assembly-to-assembly
alignment; (6) full-genome alignment between two closely related
species with divergence below ~15%.

For ~10kb noisy reads sequences, minimap2 is tens of times faster than
mainstream long-read mappers such as BLASR, BWA-MEM, NGMLR and
GMAP. It is more accurate on simulated long reads and produces
biologically meaningful alignment ready for downstream analyses. For
>100bp Illumina short reads, minimap2 is three times as fast as
BWA-MEM and Bowtie2, and as accurate on simulated data.  Detailed
evaluations are available from the minimap2 paper or the preprint.

Release 2.18-r1015 (9 April 2021)
---------------------------------

This release fixes multiple rare bugs in minimap2 and adds additional
functionality to paftools.js.

Changes to minimap2:

 * Bugfix: a rare segfault caused by an off-by-one error (#489)

 * Bugfix: minimap2 segfaulted due to an uninitilized variable (#622 and #625).

 * Bugfix: minimap2 parsed spaces as field separators in BED (#721). This led
   to issues when the BED name column contains spaces.

 * Bugfix: minimap2 `--split-prefix` did not work with long reference names
   (#394).

 * Bugfix: option `--junc-bonus` didn't work (#513)

 * Bugfix: minimap2 didn't return 1 on I/O errors (#532)

 * Bugfix: the `de:f` tag (sequence divergence) could be negative if there were
   ambiguous bases

 * Bugfix: fixed two undefined behaviors caused by calling memcpy() on
   zero-length blocks (#443)

 * Bugfix: there were duplicated SAM @SQ lines if option `--split-prefix` is in
   use (#400 and #527)

 * Bugfix: option -K had to be smaller than 2 billion (#491). This was caused
   by a 32-bit integer overflow.

 * Improvement: optionally compile against SIMDe (#597). Minimap2 should work
   with IBM POWER CPUs, though this has not been tested. To compile with SIMDe,
   please use `make -f Makefile.simde`.

 * Improvement: more informative error message for I/O errors (#454) and for
   FASTQ parsing errors (#510)

 * Improvement: abort given malformatted RG line (#541)

 * Improvement: better formula to estimate the `dv:f` tag (approximate sequence
   divergence). See DOI:10.1101/2021.01.15.426881.

 * New feature: added the `--mask-len` option to fine control the removal of
   redundant hits (#659). The default behavior is unchanged.

Changes to mappy:

 * Bugfix: mappy caused segmentation fault if the reference index is not
   present (#413).

 * Bugfix: fixed a memory leak via 238b6bb3

 * Change: always require Cython to compile the mappy module (#723). Older
   mappy packages at PyPI bundled the C source code generated by Cython such
   that end users did not need to install Cython to compile mappy. However, as
   Python 3.9 is breaking backward compatibility, older mappy does not work
   with Python 3.9 anymore. We have to add this Cython dependency as a
   workaround.

Changes to paftools.js:

 * Bugfix: the "part10-" line from asmgene was wrong (#581)

 * Improvement: compatibility with GTF files from GenBank (#422)

 * New feature: asmgene also checks missing multi-copy genes

 * New feature: added the misjoin command to evaluate large-scale misjoins and
   megabase-long inversions.

Although given the many bug fixes and minor improvements, the core algorithm
stays the same. This version of minimap2 produces nearly identical alignments
to v2.17 except very rare corner cases.

Now unimap is recommended over minimap2 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.

(2.18: 9 April 2021, r1015)

diffstat:

 biology/minimap2/DESCR    |  18 ++++++++++++++++++
 biology/minimap2/Makefile |  29 +++++++++++++++++++++++++++++
 biology/minimap2/PLIST    |   9 +++++++++
 biology/minimap2/distinfo |   6 ++++++
 4 files changed, 62 insertions(+), 0 deletions(-)

diffs (78 lines):

diff -r 8155730c188a -r fd1ac82ecaff biology/minimap2/DESCR
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/biology/minimap2/DESCR    Wed May 26 18:49:20 2021 +0000
@@ -0,0 +1,18 @@
+Minimap2 is a versatile sequence alignment program that aligns DNA or
+mRNA sequences against a large reference database. Typical use cases
+include: (1) mapping PacBio or Oxford Nanopore genomic reads to the
+human genome; (2) finding overlaps between long reads with error rate
+up to ~15%; (3) splice-aware alignment of PacBio Iso-Seq or Nanopore
+cDNA or Direct RNA reads against a reference genome; (4) aligning
+Illumina single- or paired-end reads; (5) assembly-to-assembly
+alignment; (6) full-genome alignment between two closely related
+species with divergence below ~15%.
+
+For ~10kb noisy reads sequences, minimap2 is tens of times faster than
+mainstream long-read mappers such as BLASR, BWA-MEM, NGMLR and
+GMAP. It is more accurate on simulated long reads and produces
+biologically meaningful alignment ready for downstream analyses. For
+>100bp Illumina short reads, minimap2 is three times as fast as
+BWA-MEM and Bowtie2, and as accurate on simulated data.  Detailed
+evaluations are available from the minimap2 paper
+(https://doi.org/10.1093/bioinformatics/bty191).
diff -r 8155730c188a -r fd1ac82ecaff biology/minimap2/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/biology/minimap2/Makefile Wed May 26 18:49:20 2021 +0000
@@ -0,0 +1,29 @@
+# $NetBSD: Makefile,v 1.1 2021/05/26 18:49:20 brook Exp $
+
+GITHUB_PROJECT=        minimap2
+GITHUB_TAG=    refs/tags/v2.18
+DISTNAME=      v2.18
+PKGNAME=       ${GITHUB_PROJECT}-${DISTNAME:S,^v,,}
+CATEGORIES=    biology python
+MASTER_SITES=  ${MASTER_SITE_GITHUB:=lh3/}
+DIST_SUBDIR=   ${GITHUB_PROJECT}
+
+MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=      https://github.com/lh3/minimap2
+COMMENT=       Minimap2 python binding
+LICENSE=       mit
+
+WRKSRC=                ${WRKDIR}/minimap2-2.18
+USE_TOOLS+=    gmake
+
+INSTALLATION_DIRS+=    share/examples/minimap2
+
+post-install:
+       ${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/share/examples/minimap2
+       ${INSTALL_DATA} ${WRKSRC}/cookbook.md ${DESTDIR}${PREFIX}/share/examples/minimap2
+
+BUILDLINK_DEPENDS.py-cython+=  build
+BUILDLINK_API_DEPENDS.py-cython+=      ${PYPKGPREFIX}-cython>=0.29.23
+.include "../../devel/py-cython/buildlink3.mk"
+.include "../../lang/python/egg.mk"
+.include "../../mk/bsd.pkg.mk"
diff -r 8155730c188a -r fd1ac82ecaff biology/minimap2/PLIST
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/biology/minimap2/PLIST    Wed May 26 18:49:20 2021 +0000
@@ -0,0 +1,9 @@
+@comment $NetBSD: PLIST,v 1.1 2021/05/26 18:49:20 brook Exp $
+bin/minimap2.py
+${PYSITELIB}/mappy-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/PKG-INFO
+${PYSITELIB}/mappy-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/SOURCES.txt
+${PYSITELIB}/mappy-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/dependency_links.txt
+${PYSITELIB}/mappy-${PKGVERSION}-py${PYVERSSUFFIX}.egg-info/top_level.txt
+${PYSITELIB}/mappy.so
+share/examples/minimap2/README.md
+share/examples/minimap2/cookbook.md
diff -r 8155730c188a -r fd1ac82ecaff biology/minimap2/distinfo
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/biology/minimap2/distinfo Wed May 26 18:49:20 2021 +0000
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2021/05/26 18:49:20 brook Exp $
+
+SHA1 (minimap2/v2.18.tar.gz) = 77a4a1f955f0f8aaab7553b0d1b3bf3c102ea086
+RMD160 (minimap2/v2.18.tar.gz) = 33ff96cbdf5c4bd98a543ab8be644c337060d496
+SHA512 (minimap2/v2.18.tar.gz) = b2521ec453b836330eb6dcf87969e6171e7c1d53cee2767e6a36a0c422a9fa14c83a085b75371343ae119d719829bfe26b5d9f0008ccad1ac0f51b391a984860
+Size (minimap2/v2.18.tar.gz) = 231187 bytes



Home | Main Index | Thread Index | Old Index