;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Raoul Bonnal <ilpuccio.febo@gmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
+ #:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpio)
#:use-module (gnu packages cran)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
+ #:use-module (gnu packages jemalloc)
#:use-module (gnu packages ldc)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages parallel)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-web)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
(define-public bedtools
(package
(name "bedtools")
- (version "2.26.0")
+ (version "2.27.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://github.com/arq5x/bedtools2/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (string-append "https://github.com/arq5x/bedtools2/releases/"
+ "download/v" version "/"
+ "bedtools-" version ".tar.gz"))
(sha256
(base32
- "0xvri5hnp2iim1cx6mcd5d9f102p5ql41x69rd6106x1c17pinqm"))))
+ "1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8"))))
(build-system gnu-build-system)
- (native-inputs `(("python" ,python-2)))
- (inputs `(("samtools" ,samtools)
- ("zlib" ,zlib)))
(arguments
'(#:test-target "test"
+ #:make-flags
+ (list (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
- (for-each (lambda (file)
- (install-file file bin))
- (find-files "bin" ".*")))
- #t)))))
+ (delete 'configure))))
+ (native-inputs `(("python" ,python-2)))
+ (inputs
+ `(("samtools" ,samtools)
+ ("zlib" ,zlib)))
(home-page "https://github.com/arq5x/bedtools2")
(synopsis "Tools for genome analysis and arithmetic")
(description
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf"))))))
+ "05vrnr8yp7swfagshzpgqmzk1blnwnq8pq5pckzi1m26w98d63vf"))))
+ (arguments
+ '(#:test-target "test"
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
+ (for-each (lambda (file)
+ (install-file file bin))
+ (find-files "bin" ".*")))
+ #t)))))))
(define-public ribotaper
(package
(base32
"0ykjbps1y3z3085q94npw8i9x5gldc6shy8vlc08v76zljsm07hv"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executables
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out")))
+ (for-each
+ (lambda (script)
+ (wrap-program (string-append out "/bin/" script)
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))
+ '("create_annotations_files.bash"
+ "create_metaplots.bash"
+ "Ribotaper_ORF_find.sh"
+ "Ribotaper.sh"))))))))
(inputs
`(("bedtools" ,bedtools-2.18)
("samtools" ,samtools-0.1)
(define-public python2-biopython
(package-with-python2 python-biopython))
-;; An outdated version of biopython is required for seqmagick, see
-;; https://github.com/fhcrc/seqmagick/issues/59
-;; When that issue has been resolved this package should be removed.
-(define python2-biopython-1.66
- (package
- (inherit python2-biopython)
- (version "1.66")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "biopython" version))
- (sha256
- (base32
- "1gdv92593klimg22icf5j9by7xiq86jnwzkpz4abaa05ylkdf6hp"))))))
-
(define-public bpp-core
;; The last release was in 2014 and the recommended way to install from source
;; is to clone the git repository, so we do this.
(define-public python-pysam
(package
(name "python-pysam")
- (version "0.11.2.2")
+ (version "0.13.0")
(source (origin
(method url-fetch)
;; Test data is missing on PyPi.
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1cfqdxsqs3xhacns9n0271ck6wkc76px66ddjm91wfw2jxxfklvc"))
+ "0dzap2axin9cbbl0d825w294bpn00zagfm1sigamm4v2pm5bj9lp"))
(modules '((guix build utils)))
(snippet
;; Drop bundled htslib. TODO: Also remove samtools and bcftools.
"-2017-0621-source.tar.gz"))
(sha256
(base32
- "1386dg2npx8p62wmv08mjzsd2z3waknb9j1gg3gkvblcy57hymnn"))))
+ "1b4mwm2520ixjbw57sil20f9iixzw4bkdqqwgg1fc3pzm6rz4zmn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests
(define-public cutadapt
(package
(name "cutadapt")
- (version "1.12")
+ (version "1.14")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "19smhh6444ikn4jlmyhvffw4m5aw7yg07rqsk7arg8dkwyga1i4v"))))
+ "16gbpiwy4m48vq2h5wqar3i8vr6vcj9gcl2qvqim19x6ya9dp8kd"))))
(build-system python-build-system)
(arguments
`(#:phases
(define-public diamond
(package
(name "diamond")
- (version "0.9.12")
+ (version "0.9.14")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1zrnr59pqdg56wxfdx3xg4h4d8fa14cxq5kfmc3q88hxrj42rqgs"))))
+ "07li3chjdna0wjyh680j3bhwiqh1fbfq9dy9jxxs82mc0rw0m1yy"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; no "check" target
(method url-fetch)
(uri (string-append
"http://eddylab.org/software/hmmer"
- (version-prefix version 1) "/"
+ (version-major version) "/"
version "/hmmer-" version ".tar.gz"))
(sha256
(base32
(define-public java-htsjdk
(package
(name "java-htsjdk")
- (version "1.129")
+ (version "2.3.0") ; last version without build dependency on gradle
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "0asdk9b8jx2ij7yd6apg9qx03li8q7z3ml0qy2r2qczkra79y6fw"))
+ "1ibhzzxsfc38nqyk9r8zqj6blfc1kh26iirypd4q6n90hs2m6nyq"))
(modules '((guix build utils)))
- ;; remove build dependency on git
- (snippet '(substitute* "build.xml"
- (("failifexecutionfails=\"true\"")
- "failifexecutionfails=\"false\"")))))
+ (snippet
+ ;; Delete pre-built binaries
+ '(begin
+ (delete-file-recursively "lib")
+ (mkdir-p "lib")
+ #t))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; test require Internet access
+ #:jdk ,icedtea-8
#:make-flags
(list (string-append "-Ddist=" (assoc-ref %outputs "out")
"/share/java/htsjdk/"))
(modify-phases %standard-phases
;; The build phase also installs the jars
(delete 'install))))
+ (inputs
+ `(("java-ngs" ,java-ngs)
+ ("java-snappy-1" ,java-snappy-1)
+ ("java-commons-compress" ,java-commons-compress)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+ ("java-commons-jexl-2" ,java-commons-jexl-2)
+ ("java-xz" ,java-xz)))
+ (native-inputs
+ `(("java-testng" ,java-testng)))
(home-page "http://samtools.github.io/htsjdk/")
(synopsis "Java API for high-throughput sequencing data (HTS) formats")
(description
manipulating HTS data.")
(license license:expat)))
+;; This version matches java-htsjdk 2.3.0. Later versions also require a more
+;; recent version of java-htsjdk, which depends on gradle.
+(define-public java-picard
+ (package
+ (name "java-picard")
+ (version "2.3.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/broadinstitute/picard.git")
+ (commit version)))
+ (file-name (string-append "java-picard-" version "-checkout"))
+ (sha256
+ (base32
+ "1ll7mf4r3by92w2nhlmpa591xd1f46xlkwh59mq6fvbb5pdwzvx6"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete pre-built binaries.
+ (delete-file-recursively "lib")
+ (mkdir-p "lib")
+ (substitute* "build.xml"
+ ;; Remove build-time dependency on git.
+ (("failifexecutionfails=\"true\"")
+ "failifexecutionfails=\"false\"")
+ ;; Use our htsjdk.
+ (("depends=\"compile-htsjdk, ")
+ "depends=\"")
+ (("depends=\"compile-htsjdk-tests, ")
+ "depends=\"")
+ ;; Build picard-lib.jar before building picard.jar
+ (("name=\"picard-jar\" depends=\"" line)
+ (string-append line "picard-lib-jar, ")))
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "picard-jar"
+ #:test-target "test"
+ ;; Tests require jacoco:coverage.
+ #:tests? #f
+ #:make-flags
+ (list (string-append "-Dhtsjdk_lib_dir="
+ (assoc-ref %build-inputs "java-htsjdk")
+ "/share/java/htsjdk/")
+ "-Dhtsjdk-classes=dist/tmp"
+ (string-append "-Dhtsjdk-version="
+ ,(package-version java-htsjdk)))
+ #:jdk ,icedtea-8
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'use-our-htsjdk
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("\\$\\{htsjdk\\}/lib")
+ (string-append (assoc-ref inputs "java-htsjdk")
+ "/share/java/htsjdk/")))
+ #t))
+ (add-after 'unpack 'make-test-target-independent
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("name=\"test\" depends=\"compile, ")
+ "name=\"test\" depends=\""))
+ #t))
+ (replace 'install (install-jars "dist")))))
+ (inputs
+ `(("java-htsjdk" ,java-htsjdk)
+ ("java-guava" ,java-guava)))
+ (native-inputs
+ `(("java-testng" ,java-testng)))
+ (home-page "http://broadinstitute.github.io/picard/")
+ (synopsis "Tools for manipulating high-throughput sequencing data and formats")
+ (description "Picard is a set of Java command line tools for manipulating
+high-throughput sequencing (HTS) data and formats. Picard is implemented
+using the HTSJDK Java library to support accessing file formats that are
+commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
+VCF.")
+ (license license:expat)))
+
+;; This is the last version of Picard to provide net.sf.samtools
+(define-public java-picard-1.113
+ (package (inherit java-picard)
+ (name "java-picard")
+ (version "1.113")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/broadinstitute/picard.git")
+ (commit version)))
+ (file-name (string-append "java-picard-" version "-checkout"))
+ (sha256
+ (base32
+ "0lkpvin2fz3hhly4l02kk56fqy8lmlgyzr9kmvljk6ry6l1hw973"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete pre-built binaries.
+ (delete-file-recursively "lib")
+ (mkdir-p "lib")
+ #t))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:build-target "picard-jar"
+ #:test-target "test"
+ ;; FIXME: the class path at test time is wrong.
+ ;; [testng] Error: A JNI error has occurred, please check your installation and try again
+ ;; [testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
+ #:tests? #f
+ #:jdk ,icedtea-8
+ ;; This is only used for tests.
+ #:make-flags
+ (list "-Dsamjdk.intel_deflater_so_path=lib/jni/libIntelDeflater.so")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Do not use bundled ant bzip2.
+ (add-after 'unpack 'use-ant-bzip
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("\\$\\{lib\\}/apache-ant-1.8.2-bzip2.jar")
+ (string-append (assoc-ref inputs "ant")
+ "/lib/ant.jar")))
+ #t))
+ (add-after 'unpack 'make-test-target-independent
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "build.xml"
+ (("name=\"test\" depends=\"compile, ")
+ "name=\"test\" depends=\"compile-tests, ")
+ (("name=\"compile\" depends=\"compile-src, compile-tests\"")
+ "name=\"compile\" depends=\"compile-src\""))
+ #t))
+ (add-after 'unpack 'fix-deflater-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "src/java/net/sf/samtools/Defaults.java"
+ (("getStringProperty\\(\"intel_deflater_so_path\", null\\)")
+ (string-append "getStringProperty(\"intel_deflater_so_path\", \""
+ (assoc-ref outputs "out")
+ "/lib/jni/libIntelDeflater.so"
+ "\")")))
+ #t))
+ ;; Build the deflater library, because we've previously deleted the
+ ;; pre-built one. This can only be built with access to the JDK
+ ;; sources.
+ (add-after 'build 'build-jni
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "lib/jni")
+ (mkdir-p "jdk-src")
+ (and (zero? (system* "tar" "--strip-components=1" "-C" "jdk-src"
+ "-xf" (assoc-ref inputs "jdk-src")))
+ (zero? (system* "javah" "-jni"
+ "-classpath" "classes"
+ "-d" "lib/"
+ "net.sf.samtools.util.zip.IntelDeflater"))
+ (with-directory-excursion "src/c/inteldeflater"
+ (zero? (system* "gcc" "-I../../../lib" "-I."
+ (string-append "-I" (assoc-ref inputs "jdk")
+ "/include/linux")
+ "-I../../../jdk-src/src/share/native/common/"
+ "-I../../../jdk-src/src/solaris/native/common/"
+ "-c" "-O3" "-fPIC" "IntelDeflater.c"))
+ (zero? (system* "gcc" "-shared"
+ "-o" "../../../lib/jni/libIntelDeflater.so"
+ "IntelDeflater.o" "-lz" "-lstdc++"))))))
+ ;; We can only build everything else after building the JNI library.
+ (add-after 'build-jni 'build-rest
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (zero? (apply system* `("ant" "all" ,@make-flags)))))
+ (add-before 'build 'set-JAVA6_HOME
+ (lambda _
+ (setenv "JAVA6_HOME" (getenv "JAVA_HOME"))
+ #t))
+ (replace 'install (install-jars "dist"))
+ (add-after 'install 'install-jni-lib
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((jni (string-append (assoc-ref outputs "out")
+ "/lib/jni")))
+ (mkdir-p jni)
+ (install-file "lib/jni/libIntelDeflater.so" jni)
+ #t))))))
+ (inputs
+ `(("java-snappy-1" ,java-snappy-1)
+ ("java-commons-jexl-2" ,java-commons-jexl-2)
+ ("java-cofoja" ,java-cofoja)
+ ("ant" ,ant) ; for bzip2 support at runtime
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("ant-apache-bcel" ,ant-apache-bcel)
+ ("ant-junit" ,ant-junit)
+ ("java-testng" ,java-testng)
+ ("java-commons-bcel" ,java-commons-bcel)
+ ("java-jcommander" ,java-jcommander)
+ ("jdk" ,icedtea-8 "jdk")
+ ("jdk-src" ,(car (assoc-ref (package-native-inputs icedtea-8) "jdk-drop")))))))
+
(define-public htslib
(package
(name "htslib")
- (version "1.5")
+ (version "1.6")
(source (origin
(method url-fetch)
(uri (string-append
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
- "0bcjmnbwp2bib1z1bkrp95w9v2syzdwdfqww10mkb1hxlmg52ax0"))))
+ "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(synopsis "C library for reading/writing high-throughput sequencing data")
(description
"HTSlib is a C library for reading/writing high-throughput sequencing
-data. It also provides the bgzip, htsfile, and tabix utilities.")
+data. It also provides the @command{bgzip}, @command{htsfile}, and
+@command{tabix} utilities.")
;; Files under cram/ are released under the modified BSD license;
;; the rest is released under the Expat license
(license (list license:expat license:bsd-3))))
(define-public idr
(package
(name "idr")
- (version "2.0.0")
+ (version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1k3x44biak00aiv3hpm1yd6nn4hhp7n0qnbs3zh2q9sw7qr1qj5r"))))
+ "1rjdly6daslw66r43g9md8znizlscn1sphycqyldzsidkc4vxqv3"))
+ ;; Delete generated C code.
+ (snippet
+ '(begin (delete-file "idr/inv_cdf.c") #t))))
(build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; FIXME: "ImportError: No module named 'utility'"
+ ;; There is only one test ("test_inv_cdf.py") and it tests features that
+ ;; are no longer part of this package. It also asserts False, which
+ ;; causes the tests to always fail.
+ (arguments `(#:tests? #f))
(propagated-inputs
`(("python-scipy" ,python-scipy)
("python-sympy" ,python-sympy)
"The IDR (Irreproducible Discovery Rate) framework is a unified approach
to measure the reproducibility of findings identified from replicate
experiments and provide highly stable thresholds based on reproducibility.")
- (license license:gpl3+)))
+ (license license:gpl2+)))
(define-public jellyfish
(package
(name "jellyfish")
- (version "2.2.4")
+ (version "2.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gmarcais/Jellyfish/"
"/jellyfish-" version ".tar.gz"))
(sha256
(base32
- "0a6xnynqy2ibfbfz86b9g2m2dgm7f1469pmymkpam333gi3p26nk"))))
+ "1a1iwq9pq54k2m9ypvwl5s0bqfl64gwh9dx5af9i382ajas2016q"))))
(build-system gnu-build-system)
(outputs '("out" ;for library
"ruby" ;for Ruby bindings
`(("bc" ,bc)
("time" ,time)
("ruby" ,ruby)
- ("python" ,python-2)))
+ ("python" ,python-2)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("htslib" ,htslib)))
(synopsis "Tool for fast counting of k-mers in DNA")
(description
"Jellyfish is a tool for fast, memory-efficient counting of k-mers in
(define-public mafft
(package
(name "mafft")
- (version "7.310")
+ (version "7.313")
(source (origin
(method url-fetch)
(uri (string-append
- "http://mafft.cbrc.jp/alignment/software/mafft-" version
+ "https://mafft.cbrc.jp/alignment/software/mafft-" version
"-without-extensions-src.tgz"))
(file-name (string-append name "-" version ".tgz"))
(sha256
(base32
- "0gbsaz6z2qa307kd7wfb06c3y4ikmv1hsdvlns11f6zq4w1z9pwc"))))
+ "0r83qmg2if8mi6jyx3xdf8ar2gcxl7r9nmj98jr7lxym97v61a2k"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no automated tests, though there are tests in the read me
(base32
"1hmvdalz3zj5sqqklg0l4npjdv37cv2hsdi1al9iby2ndxjs1b73"))
(patches (search-patches "metabat-fix-compilation.patch"))))
- (build-system gnu-build-system)
+ (build-system scons-build-system)
(arguments
- `(#:phases
+ `(#:scons ,scons-python2
+ #:scons-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+ (string-append "BOOST_ROOT=" (assoc-ref %build-inputs "boost")))
+ #:tests? #f ;; Tests are run during the build phase.
+ #:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-includes
(lambda _
"/lib'"))
;; Do not distribute README.
(("^env\\.Install\\(idir_prefix, 'README\\.md'\\)") ""))
- #t))
- (delete 'configure)
- (replace 'build
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (mkdir (assoc-ref outputs "out"))
- (zero? (system* "scons"
- (string-append
- "PREFIX="
- (assoc-ref outputs "out"))
- (string-append
- "BOOST_ROOT="
- (assoc-ref inputs "boost"))
- "install"))))
- ;; Check and install are carried out during build phase.
- (delete 'check)
- (delete 'install))))
+ #t)))))
(inputs
`(("zlib" ,zlib)
("perl" ,perl)
("samtools" ,samtools)
("htslib" ,htslib)
("boost" ,boost)))
- (native-inputs
- `(("scons" ,scons)))
(home-page "https://bitbucket.org/berkeleylab/metabat")
(synopsis
"Reconstruction of single genomes from complex microbial communities")
(version "0.5.4")
(source (origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/m/misopy/misopy-"
- version ".tar.gz"))
+ (uri (pypi-uri "misopy" version))
(sha256
(base32
"1z3x0vd8ma7pdrnywj7i3kgwl89sdkwrrn62zl7r5calqaq2hyip"))
(define-public roary
(package
(name "roary")
- (version "3.8.2")
+ (version "3.11.0")
(source
(origin
(method url-fetch)
version ".tar.gz"))
(sha256
(base32
- "03dfr2cd5fp80bcr65923zpdzrasvcxl7c2vgh8373v25a1yfap7"))))
+ "10lw78x1xzvn7xzvnmh4bm3cak3ah5cssapl0yidvhaj1f44h29i"))))
(build-system perl-build-system)
(arguments
`(#:phases
(inputs
`(("perl-array-utils" ,perl-array-utils)
("bioperl" ,bioperl-minimal)
+ ("perl-digest-md5-file" ,perl-digest-md5-file)
("perl-exception-class" ,perl-exception-class)
("perl-file-find-rule" ,perl-file-find-rule)
("perl-file-grep" ,perl-file-grep)
(define-public seqmagick
(package
(name "seqmagick")
- (version "0.6.1")
+ (version "0.7.0")
(source
(origin
(method url-fetch)
- (uri (string-append
- "https://pypi.python.org/packages/source/s/seqmagick/seqmagick-"
- version ".tar.gz"))
+ (uri (pypi-uri "seqmagick" version))
(sha256
(base32
- "0cgn477n74gsl4qdaakrrhi953kcsd4q3ivk2lr18x74s3g4ma1d"))))
+ "12bfyp8nqi0hd36rmj450aygafp01qy3hkbvlwn3bk39pyjjkgg5"))))
(build-system python-build-system)
- (arguments
- ;; python2 only, see https://github.com/fhcrc/seqmagick/issues/56
- `(#:python ,python-2
- #:phases
- (modify-phases %standard-phases
- ;; Current test in setup.py does not work as of 0.6.1,
- ;; so use nose to run tests instead for now. See
- ;; https://github.com/fhcrc/seqmagick/issues/55
- (replace 'check (lambda _ (zero? (system* "nosetests")))))))
(inputs
- ;; biopython-1.66 is required due to
- ;; https://github.com/fhcrc/seqmagick/issues/59
- ;; When that issue is resolved the 'python2-biopython-1.66' package
- ;; should be removed.
- `(("python-biopython" ,python2-biopython-1.66)))
+ `(("python-biopython" ,python-biopython)))
(native-inputs
- `(("python-nose" ,python2-nose)))
+ `(("python-nose" ,python-nose)))
(home-page "https://github.com/fhcrc/seqmagick")
(synopsis "Tools for converting and modifying sequence files")
(description
(define-public subread
(package
(name "subread")
- (version "1.5.1")
+ (version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/subread/subread-"
version "/subread-" version "-source.tar.gz"))
(sha256
(base32
- "0gn5zhbvllks0mmdg3qlmsbg91p2mpdc2wixwfqpi85yzfrh8hcy"))))
+ "0ah0n4jx6ksk2m2j7xk385x2qzmk1y4rfc6a4mfrdqrlq721w99i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
(define-public r-vegan
(package
(name "r-vegan")
- (version "2.4-4")
+ (version "2.4-5")
(source
(origin
(method url-fetch)
(uri (cran-uri "vegan" version))
(sha256
(base32
- "1n57dzv2aid6iqd9fkqik401sidqanhzsawyak94qbiyh6dbd1x9"))))
+ "0cyyvn3xsjn24w590jn6z4xajafv7yzvj6c51vqi9q6m8v5831ya"))))
(build-system r-build-system)
(native-inputs
`(("gfortran" ,gfortran)))
(define-public r-annotate
(package
(name "r-annotate")
- (version "1.56.0")
+ (version "1.56.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "annotate" version))
(sha256
(base32
- "0wlrp3v2jxw9is98ap39dfi7z97kmw1wv1xi4h7yfh12zpj2r8l0"))))
+ "14c5xd9kasvcwg5gbjys2c1vizxhlqlzxakqc2kml0kw97hmx0rq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
microarrays.")
(license license:artistic2.0)))
+(define-public r-copynumber
+ (package
+ (name "r-copynumber")
+ (version "1.18.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "copynumber" version))
+ (sha256
+ (base32
+ "01kcwzl485yjrkgyg8117b1il957ss0v6rq4bbxf4ksd5fzcjmyx"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-s4vectors" ,r-s4vectors)
+ ("r-iranges" ,r-iranges)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-biocgenerics" ,r-biocgenerics)))
+ (home-page "https://bioconductor.org/packages/copynumber")
+ (synopsis "Segmentation of single- and multi-track copy number data")
+ (description
+ "This package segments single- and multi-track copy number data by a
+penalized least squares regression method.")
+ (license license:artistic2.0)))
+
(define-public r-geneplotter
(package
(name "r-geneplotter")
(define-public r-deseq2
(package
(name "r-deseq2")
- (version "1.18.0")
+ (version "1.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DESeq2" version))
(sha256
(base32
- "1hcxnkkjfvz4hj8iqidshwsjq7jnl1z7wj63dvcwlx1zx5aichyh"))))
+ "1iyimg1s0x5pdmvl8x08s8h0v019y0nhjzs50chagbpk2x91fsmv"))))
(properties `((upstream-name . "DESeq2")))
(build-system r-build-system)
(propagated-inputs
(define-public r-dexseq
(package
(name "r-dexseq")
- (version "1.24.0")
+ (version "1.24.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DEXSeq" version))
(sha256
(base32
- "0qxwnz2ffhav9slcn095k206cfza9i3i5l7w1154plf08gpy1d1d"))))
+ "18nh8ynxirfwkmc4sawdxgl7w1sl9ny5zpv8zbhv9vi5vgb8pxmj"))))
(properties `((upstream-name . "DEXSeq")))
(build-system r-build-system)
(propagated-inputs
(define-public r-gseabase
(package
(name "r-gseabase")
- (version "1.40.0")
+ (version "1.40.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GSEABase" version))
(sha256
(base32
- "0kpkl6c5lrar6ip7wlhvd5axqlb9lb5l3lgbdb3dlih32c3nz0yq"))))
+ "10cmjxahg2plwacfan6g0k8cwyzya96ypc7m1r79gwqkyykxw5fz"))))
(properties `((upstream-name . "GSEABase")))
(build-system r-build-system)
(propagated-inputs
(propagated-inputs
`(("r-rcurl" ,r-rcurl)
("r-xml" ,r-xml)))
- (home-page "http://cran.r-project.org/web/packages/SPARQL")
+ (home-page "https://cran.r-project.org/web/packages/SPARQL")
(synopsis "SPARQL client for R")
(description "This package provides an interface to use SPARQL to pose
SELECT or UPDATE queries to an end-point.")
(define-public vsearch
(package
(name "vsearch")
- (version "2.5.2")
+ (version "2.6.2")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1z10psrwhflchwzw1fvzwnsn59xglf94qrn7msj93fpnjgafvmks"))
+ "02khrgh8hm11cgww2f9mqc6886zqli9ss4pd4kfpqzd0d31vbzv5"))
(patches (search-patches "vsearch-unbundle-cityhash.patch"))
(snippet
'(begin
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)))
- (home-page "http://cran.r-project.org/web/packages/ACSNMineR")
+ (home-page "https://cran.r-project.org/web/packages/ACSNMineR")
(synopsis "Gene enrichment analysis")
(description
"This package provides tools to compute and represent gene set enrichment
(define-public r-biocstyle
(package
(name "r-biocstyle")
- (version "2.6.0")
+ (version "2.6.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocStyle" version))
(sha256
(base32
- "05f2j9fx8s5gh4f8qkl6wcz32ghz04wxhqb3xxcn1bj24qd7x1x8"))))
+ "03pp04pkcq99kdv2spzr995h2cxsza7l6w3d4gp4112m06prcybm"))))
(properties
`((upstream-name . "BiocStyle")))
(build-system r-build-system)
(define-public r-getopt
(package
(name "r-getopt")
- (version "1.20.0")
+ (version "1.20.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "getopt" version))
(sha256
(base32
- "00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"))))
+ "0m463mcvixh54i3ng42n0vxmdlf97dgbfs2sf9wnjm782ddw68hm"))))
(build-system r-build-system)
(home-page "https://github.com/trevorld/getopt")
(synopsis "Command-line option processor for R")
(define-public r-genomeinfodbdata
(package
(name "r-genomeinfodbdata")
- (version "0.99.0")
+ (version "0.99.1")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
version ".tar.gz"))
(sha256
(base32
- "120qvhb0pvkzd65lsgja62vyrgc37si6fh68q4cg4w5x9f04jw25"))))
+ "0hipipvyvrh75n68hsjg35sxbcfzrghzxv547vnkk2f8ya99g01r"))))
(properties
`((upstream-name . "GenomeInfoDbData")))
(build-system r-build-system)
(define-public r-edger
(package
(name "r-edger")
- (version "3.20.1")
+ (version "3.20.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "edgeR" version))
(sha256
(base32
- "01qnxwr9rmz8r5ga3hvjk632365ga2aygx71mxkk7jiad2pjznsp"))))
+ "0j5s3i33qmld9l7gs1rzpv601zxyqz711x8mq35hml088c8s99w9"))))
(properties `((upstream-name . "edgeR")))
(build-system r-build-system)
(propagated-inputs
(define-public r-variantannotation
(package
(name "r-variantannotation")
- (version "1.24.0")
+ (version "1.24.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version))
(sha256
(base32
- "1lllp2vgyfbrar1yg28ji7am470hfzrzxm1bgdk68xpnrwcgcl25"))))
+ "19wgb2kcqy97pm3xgqc781id9fbmzp1hdwzkkhdzpvyf29w4n29j"))))
(properties
`((upstream-name . "VariantAnnotation")))
(inputs
(define-public r-limma
(package
(name "r-limma")
- (version "3.34.0")
+ (version "3.34.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
- "0a15gsaky0hfrkx8wrrmp0labzxpq6m2hrd33zl206wyas8bqzcs"))))
+ "1vcxf9jg8xngxg5kb9bp8rw5sghpnkpj320iq309m2fp41ahsk3f"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
(define-public r-biomart
(package
(name "r-biomart")
- (version "2.34.0")
+ (version "2.34.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
- "1dn3ysf0vb3mmg2b3380g0j1ajf88x4rh7fddfp990h2xlnsy2cx"))))
+ "0jzv8b86vpvavwnzi5xf7y18xmn72zkabkn2kclg1mgl847cq13k"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
+ ("r-httr" ,r-httr)
("r-progress" ,r-progress)
("r-rcurl" ,r-rcurl)
("r-stringr" ,r-stringr)
(define-public r-genomicalignments
(package
(name "r-genomicalignments")
- (version "1.14.0")
+ (version "1.14.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicAlignments" version))
(sha256
(base32
- "0sw30lj11wv7ifzypqm04lcah987crqwvj48wz3flaw3biw41zfi"))))
+ "033p6fw46sn7w2yyn14nb9qcnkf30cl0nv6zh014ixflm3iifz39"))))
(properties
`((upstream-name . "GenomicAlignments")))
(build-system r-build-system)
(define-public r-rtracklayer
(package
(name "r-rtracklayer")
- (version "1.38.0")
+ (version "1.38.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "rtracklayer" version))
(sha256
(base32
- "12al1ygzy9p4myxa1fd817m28x2fj6f863znk9bw3hp7knbi98dh"))))
+ "1sjn3976f1sqvrq6jq2hgc60ffxgfr3jlklaxfrk3xad5cv2kr2d"))))
(build-system r-build-system)
(arguments
`(#:phases
(define-public r-go-db
(package
(name "r-go-db")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.bioconductor.org/packages/"
version ".tar.gz"))
(sha256
(base32
- "02cj8kqi5w39jwcs8gp1dgj08sah262ppxnkz4h3qd0w191y8yyl"))))
+ "02d1mn1al3q7qvhx1ylrr3ar4w4iw0qyi5d89v2336rzwk9maq35"))))
(properties
`((upstream-name . "GO.db")))
(build-system r-build-system)
(define-public r-genomationdata
(package
(name "r-genomationdata")
- (version "1.6.0")
+ (version "1.10.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
"genomationData_" version ".tar.gz"))
(sha256
(base32
- "16dqwb7wx1igx77zdbcskx5m1hs4g4gp2hl56zzm70hcagnlkz8y"))))
+ "0h7g5x3kyb50qlblz5hc85lfm6n6f5nb68i146way3ggs04sqvla"))))
(build-system r-build-system)
;; As this package provides little more than large data files, it doesn't
;; make sense to build substitutes.
(define-public r-org-hs-eg-db
(package
(name "r-org-hs-eg-db")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
"org.Hs.eg.db_" version ".tar.gz"))
(sha256
(base32
- "19mg64pw8zcvb9yxzzyf7caz1kvdrkfsj1hd84bzq7crrh8kc4y6"))))
+ "1v6wa5613cjq59xd7x1qz8lr9nb2abm9abl2cci1khrnrlpla927"))))
(properties
`((upstream-name . "org.Hs.eg.db")))
(build-system r-build-system)
(home-page "https://www.bioconductor.org/packages/org.Hs.eg.db/")
(synopsis "Genome wide annotation for Human")
(description
- "This package provides mappings from Entrez gene identifiers to various
-annotations for the human genome.")
+ "This package contains genome-wide annotations for Human, primarily based
+on mapping using Entrez Gene identifiers.")
(license license:artistic2.0)))
(define-public r-org-ce-eg-db
(package
(name "r-org-ce-eg-db")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
"org.Ce.eg.db_" version ".tar.gz"))
(sha256
(base32
- "12llfzrrc09kj2wzbisdspv38qzkzgpsbn8kv7qkwg746k3pq436"))))
+ "02ggchixlmzywhsbr0h2ms4dravv7m5964cjxqcjxqs16vjwlbk9"))))
(properties
`((upstream-name . "org.Ce.eg.db")))
(build-system r-build-system)
(define-public r-org-dm-eg-db
(package
(name "r-org-dm-eg-db")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
"org.Dm.eg.db_" version ".tar.gz"))
(sha256
(base32
- "1vzbphbrh1cf7xi5cksia9xy9a9l42js2z2qsajvjxvddiphrb7j"))))
+ "033qak1d3wwz17va0bh8z8p8arx0aw2va6gm1qfwsvdkj9cd9d7d"))))
(properties
`((upstream-name . "org.Dm.eg.db")))
(build-system r-build-system)
(define-public r-org-mm-eg-db
(package
(name "r-org-mm-eg-db")
- (version "3.4.0")
+ (version "3.5.0")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
"org.Mm.eg.db_" version ".tar.gz"))
(sha256
(base32
- "1lykjqjaf01fmgg3cvfcvwd5xjq6zc5vbxnm5r4l32fzvl89q50c"))))
+ "11q21p3ki4bn4hb3aix0g775l45l66jmas6m94nfhqqnpjhv4d6g"))))
(properties
`((upstream-name . "org.Mm.eg.db")))
(build-system r-build-system)
(define-public r-mutationalpatterns
(package
(name "r-mutationalpatterns")
- (version "1.4.0")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MutationalPatterns" version))
(sha256
(base32
- "0sqbrswg8ylkjb9q3vqcb5ggwixynwj6hyv2n4sk7snyk61z3fq9"))))
+ "08ay9h5cqsi8ypb6r0g4rfa5l1g06jgfzl64wmhgz134yqbl7vfv"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-seqinr" ,r-seqinr)))
- (home-page "http://cran.r-project.org/web/packages/gkmSVM")
+ (home-page "https://cran.r-project.org/web/packages/gkmSVM")
(synopsis "Gapped-kmer support vector machine")
(description
"This R package provides tools for training gapped-kmer SVM classifiers
(lambda* (#:key outputs #:allow-other-keys)
(system* "tar" "-xzvf"
"src/hdf5source/hdf5small.tgz" "-C" "src/" )
- (substitute* "src/Makevars"
- (("^.*cd hdf5source &&.*$") "")
- (("^.*gunzip -dc hdf5small.tgz.*$") "")
- (("^.*rm -rf hdf5.*$") "")
- (("^.*mv hdf5source/hdf5 ..*$") ""))
(substitute* "src/hdf5/configure"
(("/bin/mv") "mv"))
#t)))))
("r-zlibbioc" ,r-zlibbioc)))
(inputs
`(("zlib" ,zlib)))
- (home-page "http://code.google.com/p/methylkit/")
+ (home-page "https://github.com/al2na/methylKit")
(synopsis
"DNA methylation analysis from high-throughput bisulfite sequencing results")
(description
(define-public r-maldiquant
(package
(name "r-maldiquant")
- (version "1.16.4")
+ (version "1.17")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
- "1pmhsfvd45a44xdiml4zx3zd5fhygqyziqvygahkk9yibnyhv4cv"))))
+ "047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
- (home-page "http://cran.r-project.org/web/packages/MALDIquant")
+ (home-page "https://cran.r-project.org/web/packages/MALDIquant")
(synopsis "Quantitative analysis of mass spectrometry data")
(description
"This package provides a complete analysis pipeline for matrix-assisted
(define-public r-msnid
(package
(name "r-msnid")
- (version "1.11.0")
+ (version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnID" version))
(sha256
(base32
- "1vi4ngwbayrv2jkfb4pbmdp37xn04y07rh1jcklqfh0fcrm1jdig"))))
+ "1zw508kk4f8brg69674wp18gqkpx2kpya5f6x9cl3qng7v4h5pxx"))))
(properties `((upstream-name . "MSnID")))
(build-system r-build-system)
(propagated-inputs
(license license:artistic2.0)))
(define-public r-seurat
- ;; Source releases are only made for new x.0 versions. All newer versions
- ;; are only released as pre-built binaries. At the time of this writing the
- ;; latest binary release is 1.4.0.12, which is equivalent to this commit.
- (let ((commit "fccb77d1452c35ee47e47ebf8e87bddb59f3b08d")
- (revision "1"))
- (package
- (name "r-seurat")
- (version (string-append "1.4.0.12-" revision "." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/satijalab/seurat")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "101wq3aqrdmbfi3lqmq4iivk9iwbf10d4z216ss25hf7n9091cyl"))
- ;; Delete pre-built jar.
- (snippet
- '(begin (delete-file "inst/java/ModularityOptimizer.jar")
- #t))))
- (build-system r-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'build-jar
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((classesdir "tmp-classes"))
- (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
- (mkdir classesdir)
- (and (zero? (apply system* `("javac" "-d" ,classesdir
- ,@(find-files "java" "\\.java$"))))
- (zero? (system* "jar"
- "-cf" "inst/java/ModularityOptimizer.jar"
- "-C" classesdir ".")))))))))
- (native-inputs
- `(("jdk" ,icedtea "jdk")))
- (propagated-inputs
- `(("r-ape" ,r-ape)
- ("r-caret" ,r-caret)
- ("r-cowplot" ,r-cowplot)
- ("r-dplyr" ,r-dplyr)
- ("r-fastica" ,r-fastica)
- ("r-fnn" ,r-fnn)
- ("r-fpc" ,r-fpc)
- ("r-gdata" ,r-gdata)
- ("r-ggplot2" ,r-ggplot2)
- ("r-gplots" ,r-gplots)
- ("r-gridextra" ,r-gridextra)
- ("r-igraph" ,r-igraph)
- ("r-irlba" ,r-irlba)
- ("r-lars" ,r-lars)
- ("r-mixtools" ,r-mixtools)
- ("r-pbapply" ,r-pbapply)
- ("r-plyr" ,r-plyr)
- ("r-ranger" ,r-ranger)
- ("r-rcolorbrewer" ,r-rcolorbrewer)
- ("r-rcpp" ,r-rcpp)
- ("r-rcppeigen" ,r-rcppeigen)
- ("r-rcppprogress" ,r-rcppprogress)
- ("r-reshape2" ,r-reshape2)
- ("r-rocr" ,r-rocr)
- ("r-rtsne" ,r-rtsne)
- ("r-stringr" ,r-stringr)
- ("r-tclust" ,r-tclust)
- ("r-tsne" ,r-tsne)
- ("r-vgam" ,r-vgam)))
- (home-page "http://www.satijalab.org/seurat")
- (synopsis "Seurat is an R toolkit for single cell genomics")
- (description
- "This package is an R package designed for QC, analysis, and
+ (package
+ (name "r-seurat")
+ (version "2.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (cran-uri "Seurat" version))
+ (sha256
+ (base32
+ "1hqaq6bciikrsyw157w8fn4jw885air7xbkxrmism93rp4qx483x"))
+ ;; Delete pre-built jar.
+ (snippet
+ '(begin (delete-file "inst/java/ModularityOptimizer.jar")
+ #t))))
+ (properties `((upstream-name . "Seurat")))
+ (build-system r-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'build-jar
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((classesdir "tmp-classes"))
+ (setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
+ (mkdir classesdir)
+ (with-output-to-file "manifest"
+ (lambda _
+ (display "Manifest-Version: 1.0
+Main-Class: ModularityOptimizer\n")))
+ (and (zero? (apply system* `("javac" "-d" ,classesdir
+ ,@(find-files "java" "\\.java$"))))
+ (zero? (system* "jar"
+ "-cmf" "manifest"
+ "inst/java/ModularityOptimizer.jar"
+ "-C" classesdir ".")))))))))
+ (native-inputs
+ `(("jdk" ,icedtea "jdk")))
+ (propagated-inputs
+ `(("r-ape" ,r-ape)
+ ("r-caret" ,r-caret)
+ ("r-cowplot" ,r-cowplot)
+ ("r-diffusionmap" ,r-diffusionmap)
+ ("r-dplyr" ,r-dplyr)
+ ("r-dtw" ,r-dtw)
+ ("r-fnn" ,r-fnn)
+ ("r-fpc" ,r-fpc)
+ ("r-gdata" ,r-gdata)
+ ("r-ggjoy" ,r-ggjoy)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-gplots" ,r-gplots)
+ ("r-gridextra" ,r-gridextra)
+ ("r-hmisc" ,r-hmisc)
+ ("r-ica" ,r-ica)
+ ("r-igraph" ,r-igraph)
+ ("r-irlba" ,r-irlba)
+ ("r-lars" ,r-lars)
+ ("r-mass" ,r-mass)
+ ("r-matrix" ,r-matrix)
+ ("r-mixtools" ,r-mixtools)
+ ("r-nmf" ,r-nmf)
+ ("r-pbapply" ,r-pbapply)
+ ("r-plotly" ,r-plotly)
+ ("r-ranger" ,r-ranger)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-rcpp" ,r-rcpp)
+ ("r-rcppprogress" ,r-rcppprogress)
+ ("r-reshape2" ,r-reshape2)
+ ("r-rocr" ,r-rocr)
+ ("r-rtsne" ,r-rtsne)
+ ("r-sdmtools" ,r-sdmtools)
+ ("r-stringr" ,r-stringr)
+ ("r-tclust" ,r-tclust)
+ ("r-tidyr" ,r-tidyr)
+ ("r-tsne" ,r-tsne)
+ ("r-vgam" ,r-vgam)))
+ (home-page "http://www.satijalab.org/seurat")
+ (synopsis "Seurat is an R toolkit for single cell genomics")
+ (description
+ "This package is an R package designed for QC, analysis, and
exploration of single cell RNA-seq data. It easily enables widely-used
analytical techniques, including the identification of highly variable genes,
dimensionality reduction; PCA, ICA, t-SNE, standard unsupervised clustering
algorithms; density clustering, hierarchical clustering, k-means, and the
discovery of differentially expressed genes and markers.")
- (license license:gpl3))))
+ (license license:gpl3)))
(define-public r-aroma-light
(package
(define-public r-annotationhub
(package
(name "r-annotationhub")
- (version "2.10.0")
+ (version "2.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationHub" version))
(sha256
(base32
- "1arfka3czw8hkv6n2d85bgibq81s2rgkwhmpaxzhy6nw39vv7y8b"))))
+ "14v8g44a6zg9j2rwn9x9y8509k0wr2cw8yccliz24glplb40wva4"))))
(properties `((upstream-name . "AnnotationHub")))
(build-system r-build-system)
(propagated-inputs
1-15.")
(license license:lgpl3)))
-(define-public r-annotationfilter
- (package
- (name "r-annotationfilter")
- (version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (bioconductor-uri "AnnotationFilter" version))
- (sha256
- (base32
- "04zf864c1fvdlaay2r5cn30fc1n5i3czh31fs62qlrvs61wjiscs"))))
- (properties
- `((upstream-name . "AnnotationFilter")))
- (build-system r-build-system)
- (propagated-inputs
- `(("r-genomicranges" ,r-genomicranges)
- ("r-lazyeval" ,r-lazyeval)))
- (home-page "https://github.com/Bioconductor/AnnotationFilter")
- (synopsis "Facilities for filtering Bioconductor annotation resources")
- (description
- "This package provides classes and other infrastructure to implement
-filters for manipulating Bioconductor annotation resources. The filters are
-used by @code{ensembldb}, @code{Organism.dplyr}, and other packages.")
- (license license:artistic2.0)))
-
(define-public r-ensembldb
(package
(name "r-ensembldb")
(propagated-inputs
`(("r-plyr" ,r-plyr)
("r-rcurl" ,r-rcurl)))
- (home-page "http://cran.r-project.org/web/packages/gProfileR/")
+ (home-page "https://cran.r-project.org/web/packages/gProfileR/")
(synopsis "Interface to the g:Profiler toolkit")
(description
"This package provides tools for functional enrichment analysis,
the earlier snpMatrix package, allowing for uncertainty in genotypes.")
(license license:gpl3)))
-(define-public r-org-hs-eg-db
+(define-public r-homo-sapiens
(package
- (name "r-org-hs-eg-db")
- (version "3.4.2")
+ (name "r-homo-sapiens")
+ (version "1.3.1")
(source (origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/annotation/" instead of "bioc/".
(uri (string-append "http://www.bioconductor.org/packages/"
"release/data/annotation/src/contrib/"
- "org.Hs.eg.db_"
+ "Homo.sapiens_"
version ".tar.gz"))
(sha256
(base32
- "0izzmas99j64sc4x8pxi09xw0ra1941kjrsl8sjxl0cjw1d2b32z"))))
+ "151vj7h5p1c8yd5swrchk46z469p135wk50hvkl0nhgndvy0jj01"))))
(properties
- `((upstream-name . "org.Hs.eg.db")))
- (build-system r-build-system)
- (propagated-inputs
- `(("r-annotationdbi" ,r-annotationdbi)))
- (home-page "https://bioconductor.org/packages/org.Hs.eg.db/")
- (synopsis "Genome-wide annotation for Human")
- (description
- "This package contains genome-wide annotations for Human, primarily based
-on mapping using Entrez Gene identifiers.")
- (license license:artistic2.0)))
-
-(define-public r-homo-sapiens
- (package
- (name "r-homo-sapiens")
- (version "1.3.1")
- (source (origin
- (method url-fetch)
- ;; We cannot use bioconductor-uri here because this tarball is
- ;; located under "data/annotation/" instead of "bioc/".
- (uri (string-append "http://www.bioconductor.org/packages/"
- "release/data/annotation/src/contrib/"
- "Homo.sapiens_"
- version ".tar.gz"))
- (sha256
- (base32
- "151vj7h5p1c8yd5swrchk46z469p135wk50hvkl0nhgndvy0jj01"))))
- (properties
- `((upstream-name . "Homo.sapiens")))
+ `((upstream-name . "Homo.sapiens")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicfeatures" ,r-genomicfeatures)
defining LD blocks.")
(license license:artistic2.0)))
+(define-public r-gqtlstats
+ (package
+ (name "r-gqtlstats")
+ (version "1.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "gQTLstats" version))
+ (sha256
+ (base32
+ "0gvq1sf2zjbkk431x40z6wql3c1rpclnnwa2f1hvykb8mmw70kmq"))))
+ (properties `((upstream-name . "gQTLstats")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-annotationdbi" ,r-annotationdbi)
+ ("r-batchjobs" ,r-batchjobs)
+ ("r-bbmisc" ,r-bbmisc)
+ ("r-beeswarm" ,r-beeswarm)
+ ("r-biobase" ,r-biobase)
+ ("r-biocgenerics" ,r-biocgenerics)
+ ("r-doparallel" ,r-doparallel)
+ ("r-dplyr" ,r-dplyr)
+ ("r-erma" ,r-erma)
+ ("r-ffbase" ,r-ffbase)
+ ("r-foreach" ,r-foreach)
+ ("r-genomeinfodb" ,r-genomeinfodb)
+ ("r-genomicfeatures" ,r-genomicfeatures)
+ ("r-genomicfiles" ,r-genomicfiles)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-ggbeeswarm" ,r-ggbeeswarm)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-gqtlbase" ,r-gqtlbase)
+ ("r-hardyweinberg" ,r-hardyweinberg)
+ ("r-iranges" ,r-iranges)
+ ("r-ldblock" ,r-ldblock)
+ ("r-limma" ,r-limma)
+ ("r-mgcv" ,r-mgcv)
+ ("r-plotly" ,r-plotly)
+ ("r-reshape2" ,r-reshape2)
+ ("r-s4vectors" ,r-s4vectors)
+ ("r-shiny" ,r-shiny)
+ ("r-snpstats" ,r-snpstats)
+ ("r-summarizedexperiment" ,r-summarizedexperiment)
+ ("r-variantannotation" ,r-variantannotation)))
+ (home-page "https://bioconductor.org/packages/gQTLstats")
+ (synopsis "Computationally efficient analysis for eQTL and allied studies")
+ (description
+ "This package provides tools for the computationally efficient analysis
+of @dfn{quantitative trait loci} (QTL) data, including eQTL, mQTL, dsQTL, etc.
+The software in this package aims to support refinements and functional
+interpretation of members of a collection of association statistics on a
+family of feature/genome hypotheses.")
+ (license license:artistic2.0)))
+
+(define-public r-gviz
+ (package
+ (name "r-gviz")
+ (version "1.22.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "Gviz" version))
+ (sha256
+ (base32
+ "173n99mc95sij2vb8n3xd016x7mxhjs961q3l29xkg1lrnnm2sva"))))
+ (properties `((upstream-name . "Gviz")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-annotationdbi" ,r-annotationdbi)
+ ("r-biobase" ,r-biobase)
+ ("r-biocgenerics" ,r-biocgenerics)
+ ("r-biomart" ,r-biomart)
+ ("r-biostrings" ,r-biostrings)
+ ("r-biovizbase" ,r-biovizbase)
+ ("r-bsgenome" ,r-bsgenome)
+ ("r-digest" ,r-digest)
+ ("r-genomeinfodb" ,r-genomeinfodb)
+ ("r-genomicalignments" ,r-genomicalignments)
+ ("r-genomicfeatures" ,r-genomicfeatures)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-iranges" ,r-iranges)
+ ("r-lattice" ,r-lattice)
+ ("r-latticeextra" ,r-latticeextra)
+ ("r-matrixstats" ,r-matrixstats)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-rsamtools" ,r-rsamtools)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-s4vectors" ,r-s4vectors)
+ ("r-xvector" ,r-xvector)))
+ (home-page "https://bioconductor.org/packages/Gviz")
+ (synopsis "Plotting data and annotation information along genomic coordinates")
+ (description
+ "Genomic data analyses requires integrated visualization of known genomic
+information and new experimental data. Gviz uses the biomaRt and the
+rtracklayer packages to perform live annotation queries to Ensembl and UCSC
+and translates this to e.g. gene/transcript structures in viewports of the
+grid graphics package. This results in genomic information plotted together
+with your data.")
+ (license license:artistic2.0)))
+
+(define-public r-gwascat
+ (package
+ (name "r-gwascat")
+ (version "2.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "gwascat" version))
+ (sha256
+ (base32
+ "0n5x5i5v6a8wpn5mxmlpkl34b4kyypmymiwww6g61zch7xqrgywi"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-annotationdbi" ,r-annotationdbi)
+ ("r-annotationhub" ,r-annotationhub)
+ ("r-biocgenerics" ,r-biocgenerics)
+ ("r-biostrings" ,r-biostrings)
+ ("r-genomeinfodb" ,r-genomeinfodb)
+ ("r-genomicfeatures" ,r-genomicfeatures)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-ggbio" ,r-ggbio)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-gqtlstats" ,r-gqtlstats)
+ ("r-graph" ,r-graph)
+ ("r-gviz" ,r-gviz)
+ ("r-homo-sapiens" ,r-homo-sapiens)
+ ("r-iranges" ,r-iranges)
+ ("r-rsamtools" ,r-rsamtools)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-s4vectors" ,r-s4vectors)
+ ("r-snpstats" ,r-snpstats)
+ ("r-summarizedexperiment" ,r-summarizedexperiment)
+ ("r-variantannotation" ,r-variantannotation)))
+ (home-page "https://bioconductor.org/packages/gwascat")
+ (synopsis "Tools for data in the EMBL-EBI GWAS catalog")
+ (description
+ "This package provides tools for representing and modeling data in the
+EMBL-EBI GWAS catalog.")
+ (license license:artistic2.0)))
+
+(define-public r-sushi
+ (package
+ (name "r-sushi")
+ (version "1.16.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "Sushi" version))
+ (sha256
+ (base32
+ "0axaqm480z8d0b2ldgxwm0swava1p4irc62bpl17p2k8k78g687g"))))
+ (properties `((upstream-name . "Sushi")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-biomart" ,r-biomart)
+ ("r-zoo" ,r-zoo)))
+ (home-page "https://bioconductor.org/packages/Sushi")
+ (synopsis "Tools for visualizing genomics data")
+ (description
+ "This package provides flexible, quantitative, and integrative genomic
+visualizations for publication-quality multi-panel figures.")
+ (license license:gpl2+)))
+
+(define-public r-fithic
+ (package
+ (name "r-fithic")
+ (version "1.4.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "FitHiC" version))
+ (sha256
+ (base32
+ "12ylhrppi051m7nqsgq95kzd9g9wmp34i0zzfi55cjqawlpx7c6n"))))
+ (properties `((upstream-name . "FitHiC")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-data-table" ,r-data-table)
+ ("r-fdrtool" ,r-fdrtool)
+ ("r-rcpp" ,r-rcpp)))
+ (home-page "https://bioconductor.org/packages/FitHiC")
+ (synopsis "Confidence estimation for intra-chromosomal contact maps")
+ (description
+ "Fit-Hi-C is a tool for assigning statistical confidence estimates to
+intra-chromosomal contact maps produced by genome-wide genome architecture
+assays such as Hi-C.")
+ (license license:gpl2+)))
+
+(define-public r-hitc
+ (package
+ (name "r-hitc")
+ (version "1.22.0")
+ (source (origin
+ (method url-fetch)
+ (uri (bioconductor-uri "HiTC" version))
+ (sha256
+ (base32
+ "0288xa1jy6nzvz2ha07csmp6dirjw5r7p9vy69q2wsbyzr02ymkp"))))
+ (properties `((upstream-name . "HiTC")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-biostrings" ,r-biostrings)
+ ("r-genomeinfodb" ,r-genomeinfodb)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-iranges" ,r-iranges)
+ ("r-matrix" ,r-matrix)
+ ("r-rcolorbrewer" ,r-rcolorbrewer)
+ ("r-rtracklayer" ,r-rtracklayer)))
+ (home-page "https://bioconductor.org/packages/HiTC")
+ (synopsis "High throughput chromosome conformation capture analysis")
+ (description
+ "The HiTC package was developed to explore high-throughput \"C\" data
+such as 5C or Hi-C. Dedicated R classes as well as standard methods for
+quality controls, normalization, visualization, and further analysis are also
+provided.")
+ (license license:artistic2.0)))
+
(define-public r-qvalue
(package
(name "r-qvalue")
using nucleotide or amino-acid sequence data.")
;; GPLv3 only
(license license:gpl3)))
+
+(define-public kallisto
+ (package
+ (name "kallisto")
+ (version "0.43.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/pachterlab/"
+ "kallisto/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03j3iqhvq7ya3c91gidly3k3jvgm97vjq4scihrlxh315j696r11"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; no "check" target
+ (inputs
+ `(("hdf5" ,hdf5)
+ ("zlib" ,zlib)))
+ (home-page "http://pachterlab.github.io/kallisto/")
+ (synopsis "Near-optimal RNA-Seq quantification")
+ (description
+ "Kallisto is a program for quantifying abundances of transcripts from
+RNA-Seq data, or more generally of target sequences using high-throughput
+sequencing reads. It is based on the novel idea of pseudoalignment for
+rapidly determining the compatibility of reads with targets, without the need
+for alignment. Pseudoalignment of reads preserves the key information needed
+for quantification, and kallisto is therefore not only fast, but also as
+accurate as existing quantification tools.")
+ (license license:bsd-2)))
+
+(define-public libgff
+ (package
+ (name "libgff")
+ (version "1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/Kingsford-Group/"
+ "libgff/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0vc4nxyhlm6g9vvmx5l4lfs5pnvixsv1hiiy4kddf2y3p6jna8ls"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; no tests included
+ (home-page "https://github.com/Kingsford-Group/libgff")
+ (synopsis "Parser library for reading/writing GFF files")
+ (description "This is a simple \"libraryfication\" of the GFF/GTF parsing
+code that is used in the Cufflinks codebase. The goal of this library is to
+provide this functionality without the necessity of drawing in a heavy-weight
+dependency like SeqAn.")
+ (license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"))))
+
+(define-public libdivsufsort
+ (package
+ (name "libdivsufsort")
+ (version "2.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/y-256/libdivsufsort.git")
+ (commit version)))
+ (sha256
+ (base32
+ "0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; there are no tests
+ #:configure-flags
+ ;; Needed for rapmap and sailfish.
+ '("-DBUILD_DIVSUFSORT64=ON")))
+ (home-page "https://github.com/y-256/libdivsufsort")
+ (synopsis "Lightweight suffix-sorting library")
+ (description "libdivsufsort is a software library that implements a
+lightweight suffix array construction algorithm. This library provides a
+simple and an efficient C API to construct a suffix array and a
+Burrows-Wheeler transformed string from a given string over a constant-size
+alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
+bytes of memory space, where n is the length of the string.")
+ (license license:expat)))
+
+(define-public sailfish
+ (package
+ (name "sailfish")
+ (version "0.10.1")
+ (source (origin
+ (method url-fetch)
+ (uri
+ (string-append "https://github.com/kingsfordgroup/"
+ "sailfish/archive/v" version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1inn60dxiwsz8g9w7kvfhjxj4bwfb0r12dyhpzzhfbig712dkmm0"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled headers for eigen3.
+ (delete-file-recursively "include/eigen3/")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DBOOST_INCLUDEDIR="
+ (assoc-ref %build-inputs "boost")
+ "/include/")
+ (string-append "-DBOOST_LIBRARYDIR="
+ (assoc-ref %build-inputs "boost")
+ "/lib/")
+ (string-append "-DBoost_LIBRARIES="
+ "-lboost_iostreams "
+ "-lboost_filesystem "
+ "-lboost_system "
+ "-lboost_thread "
+ "-lboost_timer "
+ "-lboost_chrono "
+ "-lboost_program_options")
+ "-DBoost_FOUND=TRUE"
+ ;; Don't download RapMap---we already have it!
+ "-DFETCHED_RAPMAP=1")
+ ;; Tests must be run after installation and the location of the test
+ ;; data file must be overridden. But the tests fail. It looks like
+ ;; they are not really meant to be run.
+ #:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ ;; Boost cannot be found, even though it's right there.
+ (add-after 'unpack 'do-not-look-for-boost
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("find_package\\(Boost 1\\.53\\.0") "#"))))
+ (add-after 'unpack 'do-not-assign-to-macro
+ (lambda _
+ (substitute* "include/spdlog/details/format.cc"
+ (("const unsigned CHAR_WIDTH = 1;") ""))))
+ (add-after 'unpack 'prepare-rapmap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((src "external/install/src/rapmap/")
+ (include "external/install/include/rapmap/")
+ (rapmap (assoc-ref inputs "rapmap")))
+ (mkdir-p "/tmp/rapmap")
+ (system* "tar" "xf"
+ (assoc-ref inputs "rapmap")
+ "-C" "/tmp/rapmap"
+ "--strip-components=1")
+ (mkdir-p src)
+ (mkdir-p include)
+ (for-each (lambda (file)
+ (install-file file src))
+ (find-files "/tmp/rapmap/src" "\\.(c|cpp)"))
+ (copy-recursively "/tmp/rapmap/include" include))))
+ (add-after 'unpack 'use-system-libraries
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("src/SailfishIndexer.cpp"
+ "src/SailfishUtils.cpp"
+ "src/SailfishQuantify.cpp"
+ "src/FASTAParser.cpp"
+ "include/PCA.hpp"
+ "include/SailfishUtils.hpp"
+ "include/SailfishIndex.hpp"
+ "include/CollapsedEMOptimizer.hpp"
+ "src/CollapsedEMOptimizer.cpp")
+ (("#include \"jellyfish/config.h\"") ""))
+ (substitute* "src/CMakeLists.txt"
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
+ (string-append (assoc-ref inputs "jellyfish")
+ "/include/jellyfish-" ,(package-version jellyfish)))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
+ (string-append (assoc-ref inputs "jellyfish")
+ "/lib/libjellyfish-2.0.a"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
+ (string-append (assoc-ref inputs "libdivsufsort")
+ "/lib/libdivsufsort.so"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
+ (string-append (assoc-ref inputs "libdivsufsort")
+ "/lib/libdivsufsort64.so")))
+ (substitute* "CMakeLists.txt"
+ ;; Don't prefer static libs
+ (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
+ (("find_package\\(Jellyfish.*") "")
+ (("ExternalProject_Add\\(libjellyfish") "message(")
+ (("ExternalProject_Add\\(libgff") "message(")
+ (("ExternalProject_Add\\(libsparsehash") "message(")
+ (("ExternalProject_Add\\(libdivsufsort") "message("))
+
+ ;; Ensure that Eigen headers can be found
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-append (getenv "CPLUS_INCLUDE_PATH")
+ ":"
+ (assoc-ref inputs "eigen")
+ "/include/eigen3")))))))
+ (inputs
+ `(("boost" ,boost)
+ ("eigen" ,eigen)
+ ("jemalloc" ,jemalloc)
+ ("jellyfish" ,jellyfish)
+ ("sparsehash" ,sparsehash)
+ ("rapmap" ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/RapMap.git")
+ (commit (string-append "sf-v" version))))
+ (file-name (string-append "rapmap-sf-v" version "-checkout"))
+ (sha256
+ (base32
+ "1hv79l5i576ykv5a1srj2p0q36yvyl5966m0fcy2lbi169ipjakf"))
+ (modules '((guix build utils)))
+ ;; These files are expected to be excluded.
+ (snippet
+ '(begin (delete-file-recursively "include/spdlog")
+ (for-each delete-file '("include/xxhash.h"
+ "src/xxhash.c"))))))
+ ("libdivsufsort" ,libdivsufsort)
+ ("libgff" ,libgff)
+ ("tbb" ,tbb)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (home-page "http://www.cs.cmu.edu/~ckingsf/software/sailfish")
+ (synopsis "Mapping-based isoform quantification from RNA-Seq reads")
+ (description "Sailfish is a tool for genomic transcript quantification
+from RNA-seq data. It requires a set of target transcripts (either from a
+reference or de-novo assembly) to quantify. All you need to run sailfish is a
+fasta file containing your reference transcripts and a (set of) fasta/fastq
+file(s) containing your reads.")
+ (license license:gpl3+)))
+
+(define libstadenio-for-salmon
+ (package
+ (name "libstadenio")
+ (version "1.14.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/staden-io_lib.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1x8kxxqxl892vwfbprlbyfwkkv7c34ggkc94892x9x0g37x5nbwx"))))
+ (build-system gnu-build-system)
+ (arguments '(#:parallel-tests? #f)) ; not supported
+ (inputs
+ `(("zlib" ,zlib)))
+ (native-inputs
+ `(("perl" ,perl))) ; for tests
+ (home-page "https://github.com/COMBINE-lab/staden-io_lib")
+ (synopsis "General purpose trace and experiment file library")
+ (description "This package provides a library of file reading and writing
+code to provide a general purpose Trace file (and Experiment File) reading
+interface.
+
+The following file formats are supported:
+
+@enumerate
+@item SCF trace files
+@item ABI trace files
+@item ALF trace files
+@item ZTR trace files
+@item SFF trace archives
+@item SRF trace archives
+@item Experiment files
+@item Plain text files
+@item SAM/BAM sequence files
+@item CRAM sequence files
+@end enumerate\n")
+ (license license:bsd-3)))
+
+(define spdlog-for-salmon
+ (package
+ (name "spdlog")
+ (version "0.14.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/spdlog.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q"))))
+ (build-system cmake-build-system)
+ (home-page "https://github.com/COMBINE-lab/spdlog")
+ (synopsis "Very fast C++ logging library")
+ (description "Spdlog is a very fast header-only C++ logging library with
+performance as its primary goal.")
+ (license license:expat)))
+
+;; This is a modified variant of bwa for use with Salmon. It installs a
+;; library to avoid having to build this as part of Salmon.
+(define bwa-for-salmon
+ (package (inherit bwa)
+ (name "bwa")
+ (version "0.7.12.5")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/bwa.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append "bwa-for-salmon-" version "-checkout"))
+ (sha256
+ (base32
+ "1z2qa64y0c5hky10510x137mnzlhz6k8qf27csw4w9j6qihq95gb"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ;no "check" target
+ #:phases
+ (modify-phases %standard-phases
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (lib (string-append out "/lib"))
+ (doc (string-append out "/share/doc/bwa"))
+ (man (string-append out "/share/man/man1"))
+ (inc (string-append out "/include/bwa")))
+ (install-file "bwa" bin)
+ (install-file "README.md" doc)
+ (install-file "bwa.1" man)
+ (install-file "libbwa.a" lib)
+ (mkdir-p lib)
+ (mkdir-p inc)
+ (for-each (lambda (file)
+ (install-file file inc))
+ (find-files "." "\\.h$")))
+ #t))
+ ;; no "configure" script
+ (delete 'configure))))))
+
+(define-public salmon
+ (package
+ (name "salmon")
+ (version "0.9.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/salmon.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1zi1ff4i7y2ykk0vdzysgwzzzv166vg2x77pj1mf4baclavxj87a"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Delete bundled headers for eigen3.
+ (delete-file-recursively "include/eigen3/")
+ #t))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "-DBOOST_INCLUDEDIR="
+ (assoc-ref %build-inputs "boost")
+ "/include/")
+ (string-append "-DBOOST_LIBRARYDIR="
+ (assoc-ref %build-inputs "boost")
+ "/lib/")
+ (string-append "-DBoost_LIBRARIES="
+ "-lboost_iostreams "
+ "-lboost_filesystem "
+ "-lboost_system "
+ "-lboost_thread "
+ "-lboost_timer "
+ "-lboost_chrono "
+ "-lboost_program_options")
+ "-DBoost_FOUND=TRUE"
+ "-DTBB_LIBRARIES=tbb tbbmalloc"
+ ;; Don't download RapMap---we already have it!
+ "-DFETCHED_RAPMAP=1")
+ #:phases
+ (modify-phases %standard-phases
+ ;; Boost cannot be found, even though it's right there.
+ (add-after 'unpack 'do-not-look-for-boost
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "CMakeLists.txt"
+ (("find_package\\(Boost 1\\.53\\.0") "#"))))
+ (add-after 'unpack 'do-not-phone-home
+ (lambda _
+ (substitute* "src/Salmon.cpp"
+ (("getVersionMessage\\(\\)") "\"\""))))
+ (add-after 'unpack 'prepare-rapmap
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((src "external/install/src/rapmap/")
+ (include "external/install/include/rapmap/")
+ (rapmap (assoc-ref inputs "rapmap")))
+ (mkdir-p src)
+ (mkdir-p include)
+ (for-each (lambda (file)
+ (install-file file src))
+ (find-files (string-append rapmap "/src") "\\.(c|cpp)"))
+ (copy-recursively (string-append rapmap "/include") include)
+ (for-each delete-file '("external/install/include/rapmap/xxhash.h"
+ "external/install/include/rapmap/FastxParser.hpp"
+ "external/install/include/rapmap/concurrentqueue.h"
+ "external/install/include/rapmap/FastxParserThreadUtils.hpp"
+ "external/install/src/rapmap/FastxParser.cpp"
+ "external/install/src/rapmap/xxhash.c")))))
+ (add-after 'unpack 'use-system-libraries
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/CMakeLists.txt"
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
+ (string-append (assoc-ref inputs "jellyfish")
+ "/include/jellyfish-" ,(package-version jellyfish)))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
+ (string-append (assoc-ref inputs "jellyfish")
+ "/lib/libjellyfish-2.0.a"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
+ (string-append (assoc-ref inputs "libdivsufsort")
+ "/lib/libdivsufsort.so"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
+ (string-append (assoc-ref inputs "libstadenio-for-salmon")
+ "/lib/libstaden-read.a"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libbwa.a")
+ (string-append (assoc-ref inputs "bwa") "/lib/libbwa.a"))
+ (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
+ (string-append (assoc-ref inputs "libdivsufsort")
+ "/lib/libdivsufsort64.so")))
+ (substitute* "CMakeLists.txt"
+ ;; Don't prefer static libs
+ (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
+ (("set\\(TBB_LIBRARIES") "message(")
+ (("find_package\\(Jellyfish.*") "")
+ (("ExternalProject_Add\\(libcereal") "message(")
+ (("ExternalProject_Add\\(libbwa") "message(")
+ (("ExternalProject_Add\\(libjellyfish") "message(")
+ (("ExternalProject_Add\\(libgff") "message(")
+ (("ExternalProject_Add\\(libtbb") "message(")
+ (("ExternalProject_Add\\(libspdlog") "message(")
+ (("ExternalProject_Add\\(libdivsufsort") "message(")
+ (("ExternalProject_Add\\(libstadenio") "message(")
+ (("ExternalProject_Add_Step\\(") "message("))
+
+ ;; Ensure that all headers can be found
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-append (getenv "CPLUS_INCLUDE_PATH")
+ ":"
+ (assoc-ref inputs "bwa")
+ "/include/bwa"
+ ":"
+ (assoc-ref inputs "eigen")
+ "/include/eigen3"))
+ (setenv "CPATH"
+ (string-append (assoc-ref inputs "bwa")
+ "/include/bwa"
+ ":"
+ (assoc-ref inputs "eigen")
+ "/include/eigen3"))
+ #t))
+ ;; CMAKE_INSTALL_PREFIX does not exist when the tests are
+ ;; run. It only exists after the install phase.
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "src/CMakeLists.txt"
+ (("DTOPLEVEL_DIR=\\$\\{CMAKE_INSTALL_PREFIX")
+ "DTOPLEVEL_DIR=${GAT_SOURCE_DIR"))
+ #t)))))
+ (inputs
+ `(("boost" ,boost)
+ ("bwa" ,bwa-for-salmon)
+ ("bzip2" ,bzip2)
+ ("cereal" ,cereal)
+ ("eigen" ,eigen)
+ ("rapmap" ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/RapMap.git")
+ (commit (string-append "salmon-v" version))))
+ (file-name (string-append "rapmap-salmon-v" version "-checkout"))
+ (sha256
+ (base32
+ "1yc12yqsz6f0r8sg1qnk57xg34aqwc9jbqq6gd5ys28xw3plj98p"))))
+ ("jemalloc" ,jemalloc)
+ ("jellyfish" ,jellyfish)
+ ("libgff" ,libgff)
+ ("tbb" ,tbb)
+ ("libdivsufsort" ,libdivsufsort)
+ ("libstadenio-for-salmon" ,libstadenio-for-salmon)
+ ("spdlog-for-salmon" ,spdlog-for-salmon)
+ ("xz" ,xz)
+ ("zlib" ,zlib)))
+ (home-page "https://github.com/COMBINE-lab/salmon")
+ (synopsis "Quantification from RNA-seq reads using lightweight alignments")
+ (description "Salmon is a program to produce highly-accurate,
+transcript-level quantification estimates from RNA-seq data. Salmon achieves
+its accuracy and speed via a number of different innovations, including the
+use of lightweight alignments (accurate but fast-to-compute proxies for
+traditional read alignments) and massively-parallel stochastic collapsed
+variational inference.")
+ (license license:gpl3+)))