gnu: Add mash.

* gnu/packages/bioinformatics.scm (mash): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
Marius Bakke 2016-08-30 18:49:21 +01:00 committed by Leo Famulari
parent 0e790a7ce0
commit 84be3b9920
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
1 changed files with 57 additions and 0 deletions

View File

@ -76,6 +76,7 @@
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages statistics) #:use-module (gnu packages statistics)
#:use-module (gnu packages tbb) #:use-module (gnu packages tbb)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
@ -3046,6 +3047,62 @@ sequences).")
"http://mafft.cbrc.jp/alignment/software/license.txt" "http://mafft.cbrc.jp/alignment/software/license.txt"
"BSD-3 with different formatting")))) "BSD-3 with different formatting"))))
(define-public mash
(package
(name "mash")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/marbl/mash/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08znbvqq5xknfhmpp3wcj574zvi4p7i8zifi67c9qw9a6ikp42fj"))
(modules '((guix build utils)))
(snippet
;; Delete bundled kseq.
;; TODO: Also delete bundled murmurhash and open bloom filter.
'(delete-file "src/mash/kseq.h"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests.
#:configure-flags
(list
(string-append "--with-capnp=" (assoc-ref %build-inputs "capnproto"))
(string-append "--with-gsl=" (assoc-ref %build-inputs "gsl")))
#:make-flags (list "CC=gcc")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-includes
(lambda _
(substitute* '("src/mash/Sketch.cpp" "src/mash/CommandFind.cpp")
(("^#include \"kseq\\.h\"")
"#include \"htslib/kseq.h\""))
#t))
(add-before 'configure 'autoconf
(lambda _ (zero? (system* "autoconf")))))))
(native-inputs
`(("autoconf" ,autoconf)
;; Capnproto and htslib are statically embedded in the final
;; application. Therefore we also list their licenses, below.
("capnproto" ,capnproto)
("htslib" ,htslib)))
(inputs
`(("gsl" ,gsl)
("zlib" ,zlib)))
(supported-systems '("x86_64-linux"))
(home-page "https://mash.readthedocs.io")
(synopsis "Fast genome and metagenome distance estimation using MinHash")
(description "Mash is a fast sequence distance estimator that uses the
MinHash algorithm and is designed to work with genomes and metagenomes in the
form of assemblies or reads.")
(license (list license:bsd-3 ; Mash
license:expat ; HTSlib and capnproto
license:public-domain ; MurmurHash 3
license:cpl1.0)))) ; Open Bloom Filter
(define-public metabat (define-public metabat
(package (package
(name "metabat") (name "metabat")