aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gn/packages/bioinformatics.scm')
-rw-r--r--gn/packages/bioinformatics.scm87
1 files changed, 87 insertions, 0 deletions
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index d8f4803..5660470 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -15,6 +15,7 @@
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages bioinformatics)
+ #:use-module (gn packages boost)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
@@ -23,9 +24,12 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages jemalloc)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
@@ -1062,3 +1066,86 @@ dictionaries to record a queryable version of the graph.")
(synopsis "")
(description "")
(license license:lgpl2.0+)))) ; README just says "lpgl".
+
+;; TODO: Unbundle BBHash, concurrentqueue, parallel-hashmap zstr
+(define-public graphaligner
+ (package
+ (name "graphaligner")
+ (version "1.0.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/maickrau/GraphAligner/files/"
+ "3879798/GraphAligner.tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0sk0cfjw44wslmlgplzwcqi0w4862vhf75p4x6syalvyi34pw3ck"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags '("all")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((sdsl (assoc-ref inputs "sdsl-lite")))
+ (substitute* "makefile"
+ (("VERSION .*") (string-append "VERSION = " ,version "\n"))
+ (("`pkg-config --libs libdivsufsort`")
+ (string-append sdsl "/lib/libdivsufsort.a"))
+ (("`pkg-config --libs libdivsufsort64`")
+ (string-append sdsl "/lib/libdivsufsort64.a"))))
+ #t))
+ (delete 'configure) ; no configure phase
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (program)
+ (install-file program (string-append out "/bin")))
+ (find-files "bin" "."))
+ (for-each
+ (lambda (header)
+ (install-file header (string-append out "/include")))
+ (find-files "src" "\\.h(pp)?$")))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("protobuf" ,protobuf "static")
+ ("sdsl-lite" ,sdsl-lite-gn)
+ ("sparsehash" ,sparsehash)
+ ("zlib" ,zlib "static")))
+ (inputs
+ `(("boost" ,boost-static)
+ ("jemalloc" ,jemalloc)
+ ("mummer" ,mummer)
+ ("protobuf" ,protobuf)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/maickrau/GraphAligner")
+ (synopsis "Seed-and-extend program for aligning genome graphs")
+ (description "Seed-and-extend program for aligning long error-prone reads to
+genome graphs. For a description of the bitvector alignment extension
+algorithm, see
+@url{https://academic.oup.com/bioinformatics/advance-article/doi/10.1093/bioinformatics/btz162/5372677
+here}.")
+ (license license:expat)))
+
+(define-public mummer
+ (package
+ (name "mummer")
+ (version "4.0.0beta2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/mummer4/mummer/releases/"
+ "download/v" version "/mummer-" version ".tar.gz"))
+ (sha256
+ (base32
+ "14qvrmf0gkl4alnh8zgxlzmvwc027arfawl96i7jk75z33j7dknf"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("gnuplot" ,gnuplot)
+ ("perl" ,perl)))
+ (home-page "http://mummer.sourceforge.net/")
+ (synopsis "Efficient sequence alignment of full genomes")
+ (description "MUMmer is a versatil alignment tool for DNA and protein sequences.")
+ (license license:artistic2.0)))