gnu: r-scater: Update to 1.8.4.
[jackhill/guix/guix.git] / gnu / packages / bioinformatics.scm
index a482881..687cb13 100644 (file)
@@ -10,6 +10,8 @@
 ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
+;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
+;;; Copyright © 2018 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -719,7 +721,7 @@ e.g. microbiome samples, genomes, metagenomes.")
       (inputs inputs)
       (native-inputs
        `(("perl-test-most" ,perl-test-most)))
-      (home-page "http://search.cpan.org/dist/BioPerl")
+      (home-page "https://metacpan.org/release/BioPerl")
       (synopsis "Bioinformatics toolkit")
       (description
        "BioPerl is the product of a community effort to produce Perl code which
@@ -766,6 +768,29 @@ into separate processes; and more.")
 (define-public python2-biopython
   (package-with-python2 python-biopython))
 
+(define-public python-fastalite
+  (package
+    (name "python-fastalite")
+    (version "0.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "fastalite" version))
+       (sha256
+        (base32
+         "1qli6pxp77i9xn2wfciq2zaxhl82bdxb33cpzqzj1z25yd036wqj"))))
+    (build-system python-build-system)
+    (arguments
+     `(#:tests? #f)) ; Test data is not distributed.
+    (home-page "https://github.com/nhoffman/fastalite")
+    (synopsis "Simplest possible FASTA parser")
+    (description "This library implements a FASTA and a FASTQ parser without
+relying on a complex dependency tree.")
+    (license license:expat)))
+
+(define-public python2-fastalite
+  (package-with-python2 python-fastalite))
+
 (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.
@@ -1862,42 +1887,33 @@ other types of unwanted sequence from high-throughput sequencing reads.")
 (define-public libbigwig
   (package
     (name "libbigwig")
-    (version "0.1.4")
+    (version "0.4.2")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/dpryan79/libBigWig/"
-                                  "archive/" version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/dpryan79/libBigWig.git")
+                    (commit version)))
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "098rjh35pi4a9q83n8wiwvyzykjqj6l8q189p1xgfw4ghywdlvw1"))))
+                "0h2smg24v5srdcqzrmz2g23cmlp4va465mgx8r2z571sfz8pv454"))))
     (build-system gnu-build-system)
     (arguments
      `(#:test-target "test"
+       #:tests? #f ; tests require access to the web
        #:make-flags
        (list "CC=gcc"
              (string-append "prefix=" (assoc-ref %outputs "out")))
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure)
-         (add-before 'check 'disable-curl-test
-           (lambda _
-             (substitute* "Makefile"
-               (("./test/testRemote.*") ""))
-             #t))
-         ;; This has been fixed with the upstream commit 4ff6959cd8a0, but
-         ;; there has not yet been a release containing this change.
-         (add-before 'install 'create-target-dirs
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (mkdir-p (string-append out "/lib"))
-               (mkdir-p (string-append out "/include"))
-               #t))))))
+         (delete 'configure))))
     (inputs
      `(("zlib" ,zlib)
        ("curl" ,curl)))
     (native-inputs
-     `(("doxygen" ,doxygen)))
+     `(("doxygen" ,doxygen)
+       ;; Need for tests
+       ("python" ,python-2)))
     (home-page "https://github.com/dpryan79/libBigWig")
     (synopsis "C library for handling bigWig files")
     (description
@@ -1908,13 +1924,13 @@ files.")
 (define-public python-pybigwig
   (package
     (name "python-pybigwig")
-    (version "0.2.5")
+    (version "0.3.12")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "pyBigWig" version))
               (sha256
                (base32
-                "0yrpdxg3y0sny25x4w22lv1k47jzccqjmg7j4bp0hywklvp0hg7d"))
+                "00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -1930,6 +1946,8 @@ files.")
              (substitute* "setup.py"
                (("libs=\\[") "libs=[\"BigWig\", "))
              #t)))))
+    (propagated-inputs
+     `(("python-numpy" ,python-numpy)))
     (inputs
      `(("libbigwig" ,libbigwig)
        ("zlib" ,zlib)
@@ -1947,15 +1965,18 @@ accessing bigWig files.")
 (define-public python-dendropy
   (package
     (name "python-dendropy")
-    (version "4.2.0")
+    (version "4.4.0")
     (source
      (origin
        (method url-fetch)
-       (uri (pypi-uri "DendroPy" version))
+       ;; Source from GitHub so that tests are included.
+       (uri
+        (string-append "https://github.com/jeetsukumaran/DendroPy/archive/v"
+                       version ".tar.gz"))
+       (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p"))
-       (patches (search-patches "python-dendropy-fix-tests.patch"))))
+         "0v2fccny5xjaah546bsch1mw4kh61qq5frz2ibllxs9mp6ih9bsn"))))
     (build-system python-build-system)
     (home-page "http://packages.python.org/DendroPy/")
     (synopsis "Library for phylogenetics and phylogenetic computing")
@@ -1963,23 +1984,10 @@ accessing bigWig files.")
      "DendroPy is a library for phylogenetics and phylogenetic computing: reading,
 writing, simulation, processing and manipulation of phylogenetic
 trees (phylogenies) and characters.")
-    (license license:bsd-3)
-    (properties `((python2-variant . ,(delay python2-dendropy))))))
+    (license license:bsd-3)))
 
 (define-public python2-dendropy
-  (let ((base (package-with-python2 (strip-python2-variant python-dendropy))))
-    (package
-      (inherit base)
-      (arguments
-       `(#:python ,python-2
-         #:phases
-           (modify-phases %standard-phases
-             (replace 'check
-               ;; There is currently a test failure that only happens on some
-               ;; systems, and only using "setup.py test"
-               (lambda _ (zero? (system* "nosetests")))))))
-      (native-inputs `(("python2-nose" ,python2-nose)
-                       ,@(package-native-inputs base))))))
+  (package-with-python2 python-dendropy))
 
 (define-public python-py2bit
   (package
@@ -3154,6 +3162,8 @@ manipulating HTS data.")
        #:jdk ,icedtea-8
        #:phases
        (modify-phases %standard-phases
+         ;; FIXME: this phase fails with "duplicate entry: htsjdk/samtools/AbstractBAMFileIndex$1.class"
+         (delete 'generate-jar-indices)
          (add-after 'unpack 'use-our-htsjdk
            (lambda* (#:key inputs #:allow-other-keys)
              (substitute* "build.xml"
@@ -3211,6 +3221,8 @@ VCF.")
                   (sxml xpath))
        #:phases
        (modify-phases %standard-phases
+         ;; FIXME: this phase fails with "duplicate entry: htsjdk/samtools/AbstractBAMFileIndex$1.class"
+         (delete 'generate-jar-indices)
          (add-after 'unpack 'remove-useless-build.xml
            (lambda _ (delete-file "build.xml") #t))
          ;; This is necessary to ensure that htsjdk is found when using
@@ -3236,12 +3248,16 @@ VCF.")
                                            (msg (format #f
                                                         "\
 Class-Path: /~a \
- ~a/share/java/htsjdk.jar${line.separator}"
+ ~a/share/java/htsjdk.jar${line.separator}${line.separator}"
                                                         ;; maximum line length is 70
                                                         (string-tabulate (const #\b) 57)
                                                         (assoc-ref inputs "java-htsjdk"))))
                                        (if (member "manifest" name)
                                            `(,tag ,@kids
+                                                  (replaceregexp
+                                                   (@ (file "${manifest.file}")
+                                                      (match "\\r\\n\\r\\n")
+                                                      (replace "${line.separator}")))
                                                   (echo
                                                    (@ (message ,msg)
                                                       (file "${manifest.file}")
@@ -3301,6 +3317,8 @@ VCF.")
        (list "-Dsamjdk.intel_deflater_so_path=lib/jni/libIntelDeflater.so")
        #:phases
        (modify-phases %standard-phases
+         ;; FIXME: This phase fails.
+         (delete 'generate-jar-indices)
          ;; Do not use bundled ant bzip2.
          (add-after 'unpack 'use-ant-bzip
            (lambda* (#:key inputs #:allow-other-keys)
@@ -3577,7 +3595,7 @@ experiments and provide highly stable thresholds based on reproducibility.")
 (define-public jellyfish
   (package
     (name "jellyfish")
-    (version "2.2.7")
+    (version "2.2.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/gmarcais/Jellyfish/"
@@ -3585,7 +3603,7 @@ experiments and provide highly stable thresholds based on reproducibility.")
                                   "/jellyfish-" version ".tar.gz"))
               (sha256
                (base32
-                "1a1iwq9pq54k2m9ypvwl5s0bqfl64gwh9dx5af9i382ajas2016q"))))
+                "1k4pc3fvv6w1km2yph4m5sd78fbxp21d6xyzgmy0gjihzc6mb249"))))
     (build-system gnu-build-system)
     (outputs '("out"      ;for library
                "ruby"     ;for Ruby bindings
@@ -3622,8 +3640,8 @@ DNA sequences.  It outputs its k-mer counts in a binary format, which can be
 translated into a human-readable text format using the @code{jellyfish dump}
 command, or queried for specific k-mers with @code{jellyfish query}.")
     (home-page "http://www.genome.umd.edu/jellyfish.html")
-    ;; From their website: JELLYFISH runs on 64-bit Intel-compatible processors
-    (supported-systems '("x86_64-linux"))
+    ;; JELLYFISH seems to be 64-bit only.
+    (supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
     ;; The combined work is published under the GPLv3 or later.  Individual
     ;; files such as lib/jsoncpp.cpp are released under the Expat license.
     (license (list license:gpl3+ license:expat))))
@@ -3754,13 +3772,13 @@ experiments.")
 (define-public macs
   (package
     (name "macs")
-    (version "2.1.0.20151222")
+    (version "2.1.1.20160309")
     (source (origin
               (method url-fetch)
               (uri (pypi-uri "MACS2" version))
               (sha256
                (base32
-                "1r2hcz6irhcq7lwbafjks98jbn34hv05avgbdjnp6w6mlfjkf8x5"))))
+                "09ixspd1vcqmz1c81ih70xs4m7qml2iy5vyx1y74zww3iy1vl210"))))
     (build-system python-build-system)
     (arguments
      `(#:python ,python-2 ; only compatible with Python 2.7
@@ -5820,15 +5838,16 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
 (define-public star
   (package
     (name "star")
-    (version "2.6.0a")
+    (version "2.6.0c")
     (source (origin
-              (method url-fetch)
-              (uri (string-append "https://github.com/alexdobin/STAR/archive/"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/alexdobin/STAR.git")
+                    (commit version)))
+              (file-name (string-append name "-" version "-checkout"))
               (sha256
                (base32
-                "0yci4ymy4407kjh0lqp021nzccp6r31wgrkixkmix5p130cxvc56"))
+                "04cj6jw8d9q6lk9c78wa4fky6jdlicf1d13plq7182h8vqiz8p59"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -6034,7 +6053,13 @@ Cuffdiff or Ballgown programs.")
      `(("python-sqlalchemy" ,python2-sqlalchemy)
        ("python-decorator" ,python2-decorator)
        ("python-biopython" ,python2-biopython)
-       ("python-pandas" ,python2-pandas)))
+       ("python-pandas" ,python2-pandas)
+       ("python-psycopg2" ,python2-psycopg2)
+       ("python-fastalite" ,python2-fastalite)
+       ("python-pyyaml" ,python2-pyyaml)
+       ("python-six" ,python2-six)
+       ("python-jinja2" ,python2-jinja2)
+       ("python-dendropy" ,python2-dendropy)))
     (home-page "https://github.com/fhcrc/taxtastic")
     (synopsis "Tools for taxonomic naming and annotation")
     (description
@@ -6346,14 +6371,14 @@ exploration of the results.")
 (define-public r-annotationforge
   (package
     (name "r-annotationforge")
-    (version "1.22.0")
+    (version "1.22.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationForge" version))
        (sha256
         (base32
-         "12ffj7h95adiya5mzyjxazqn1qgr434ajpabfcyhrj5v83s4vk65"))))
+         "17kmy7nvpyyj6w5jyrjciw87rydmmmc8q6cnwqjv1j7li9bp09gr"))))
     (properties
      `((upstream-name . "AnnotationForge")))
     (build-system r-build-system)
@@ -6932,13 +6957,13 @@ Bioconductor, CRAN, and Github.")
 (define-public r-biocviews
   (package
     (name "r-biocviews")
-    (version "1.48.0")
+    (version "1.48.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biocViews" version))
               (sha256
                (base32
-                "1yx2lir67ny0j150wyfqca0wsxp84byri8nscbs9qlndkh2jppq9"))))
+                "1rxvwikqivsgxjjcazlszy8xgz346lfh5rw4llxw6fz38fjgb0k5"))))
     (properties
      `((upstream-name . "biocViews")))
     (build-system r-build-system)
@@ -7051,39 +7076,17 @@ functionality.")
 checks on R packages that are to be submitted to the Bioconductor repository.")
     (license license:artistic2.0)))
 
-(define-public r-getopt
-  (package
-    (name "r-getopt")
-    (version "1.20.2")
-    (source
-     (origin
-       (method url-fetch)
-       (uri (cran-uri "getopt" version))
-       (sha256
-        (base32
-         "13p35lbpy7i578752fa71sbfvcsqw5qfa9p6kf8b5m3c5p9i4v1x"))))
-    (build-system r-build-system)
-    (home-page "https://github.com/trevorld/getopt")
-    (synopsis "Command-line option processor for R")
-    (description
-     "This package is designed to be used with Rscript to write shebang
-scripts that accept short and long options.  Many users will prefer to
-use the packages @code{optparse} or @code{argparse} which add extra
-features like automatically generated help options and usage texts,
-support for default values, positional argument support, etc.")
-    (license license:gpl2+)))
-
 (define-public r-optparse
   (package
     (name "r-optparse")
-    (version "1.4.4")
+    (version "1.6.0")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "optparse" version))
        (sha256
         (base32
-         "1ff4wmsszrb3spwfp7ynfs8w11qpy1sdzfxm1wk8dqqvdwris7qb"))))
+         "1d7v5gl45x4amsfmzn5zyyffyqlc7a82h01szlnda22viyxids0h"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-getopt" ,r-getopt)))
@@ -7121,13 +7124,13 @@ abnormal copy number.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.18.2")
+    (version "0.18.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "0qvj2j0zl4djjl7vrwc6xak6h8dxr53iwypfbcvfb3sh7jwhdiz5"))))
+                "02bps2rpjqx2npwxq3x62ncwi9ggr165cwi56h6hld28bw2gddy8"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -7173,13 +7176,13 @@ utilities for sequence data management under the ACNUC system.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.14.10")
+    (version "2.14.11")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "10ccw930vfmkskkrzbps14xglqlkxf588623dr7f1a9ckx7yr2p6"))))
+                "0wz63hysspyjihqadg91dbvllc5a61zzjrsz0b9498lihqc6m1la"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -7253,13 +7256,13 @@ names in their natural, rather than lexicographic, order.")
 (define-public r-edger
   (package
     (name "r-edger")
-    (version "3.22.2")
+    (version "3.22.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "edgeR" version))
               (sha256
                (base32
-                "07py2g6vg9jbflwhc1hnzr2silbinrjwxq3mkq30nzjgf0n0hrf3"))))
+                "0w3jv29n0kkaiig8dbbdqy2dkng8xfaihch82mj9ci5hphrx3nng"))))
     (properties `((upstream-name . "edgeR")))
     (build-system r-build-system)
     (propagated-inputs
@@ -7281,13 +7284,13 @@ CAGE.")
 (define-public r-variantannotation
   (package
     (name "r-variantannotation")
-    (version "1.26.0")
+    (version "1.26.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "VariantAnnotation" version))
               (sha256
                (base32
-                "06bccdf57vja7m63chmgc4539lwng3q3b8zxn285fj8524l6mcn7"))))
+                "1r55ki951dj81qvy73knfcy69ik5vzkd56wnk3f6vvf9vngqb8jr"))))
     (properties
      `((upstream-name . "VariantAnnotation")))
     (inputs
@@ -7319,13 +7322,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.36.1")
+    (version "3.36.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "1982g5v35ilfgxm2vkq1p3j1bbir795pjvfzx4nzam2rlqqymbqm"))))
+                "0iiifszr6hcqih6kszdsbkx3gacfg3d7v8hdx0lbjqnjqgqz7pwk"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -7374,13 +7377,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.32.3")
+    (version "1.32.6")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "03gmka6rlz18vd4229796l5l3l6446v5cb90sn2nb5knjbp84hni"))))
+                "0p58yk2i5gqvjlkx548mnrr49wvs0xfcl06l9rqj2hi6hkkbvnp3"))))
     (properties
      `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
@@ -7485,13 +7488,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.14.1")
+    (version "1.14.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "00qg1kg2l9qqpyjaw5q910cmf84vwfiw1fhsx3ig784gwinwgj6n"))))
+                "1llb5a62hn4yxpdgqdh2l7i5zd06mjkk8hagsna69cq65wv6iifm"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -7536,13 +7539,13 @@ biological sequences or sets of sequences.")
 (define-public r-rsamtools
   (package
     (name "r-rsamtools")
-    (version "1.32.0")
+    (version "1.32.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Rsamtools" version))
               (sha256
                (base32
-                "1s65y5wn4d0x8zsljg2kmhcl6r9884h95kr041j7hp49bmxg3an6"))))
+                "1hpjr22h33pf4fgv0sj83rqzv6l5l7s6fpmmqvchh45ikks1mnhq"))))
     (properties
      `((upstream-name . "Rsamtools")))
     (build-system r-build-system)
@@ -7580,13 +7583,13 @@ files.")
 (define-public r-delayedarray
   (package
     (name "r-delayedarray")
-    (version "0.6.0")
+    (version "0.6.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "DelayedArray" version))
               (sha256
                (base32
-                "0n3w57cwy911q812wc8658y0v3xgpmg379sj98kfqdxa80z1mxdf"))))
+                "10b03zrnvz5isfh4z55hasya2m71lrfx10l5lm2sdmqs0gwkanrd"))))
     (properties
      `((upstream-name . "DelayedArray")))
     (build-system r-build-system)
@@ -7675,13 +7678,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.40.2")
+    (version "1.40.6")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "0l90jn4df3akxl0n1i9wvnbjqrzjc0d15r8vqr7b15q2117mrn5r"))))
+                "1wxxxlyps19dw3i0pw4mlm3kinnswsc35rgvlnbwvpnpjbca6w4l"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -7722,13 +7725,13 @@ as well as query and modify the browser state, such as the current viewport.")
 (define-public r-genomicfeatures
   (package
     (name "r-genomicfeatures")
-    (version "1.32.0")
+    (version "1.32.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "1cqcl72q0k5wylw1brn4g4h7xzys1v06piry19cvp0gjcvm5sp7a"))))
+                "0kfyyg1ib8fkq2hxraal10z4bx3rg8figdskw4yhn1mbh6l42q5f"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -8492,14 +8495,14 @@ of other R packages who wish to make use of HTSlib.")
 (define-public r-bamsignals
   (package
     (name "r-bamsignals")
-    (version "1.12.0")
+    (version "1.12.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "bamsignals" version))
        (sha256
         (base32
-         "09l4v414ijkjpkvcv2580v13v18ky196f0lv27ldblpa8bddvmns"))))
+         "141q3p4lzwiqk1mfxi8q1q84axjl0gyiqg59xd3sp4viny4jqmgv"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
@@ -8522,43 +8525,51 @@ paired-end data.")
 (define-public r-rcas
   (package
     (name "r-rcas")
-    (version "1.3.4")
+    (version "1.6.0")
     (source (origin
               (method url-fetch)
-              (uri (string-append "https://github.com/BIMSBbioinfo/RCAS/archive/v"
-                                  version ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
+              (uri (bioconductor-uri "RCAS" version))
               (sha256
                (base32
-                "1qgc7vi6fpzl440yg7jhiycg5q336kd4pxqzx10yx2zcq3bq3msg"))))
+                "0vmn7a0rm2ban0kaxrf5danhss2r4hfhnwh5889fjcgqy300fdd5"))))
     (build-system r-build-system)
     (native-inputs
-     `(("r-knitr" ,r-knitr)
-       ("r-testthat" ,r-testthat)
+     `(("r-testthat" ,r-testthat)
        ;; During vignette building knitr checks that "pandoc-citeproc"
        ;; is in the PATH.
        ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)))
     (propagated-inputs
-     `(("r-data-table" ,r-data-table)
+     `(("r-biocgenerics" ,r-biocgenerics)
        ("r-biomart" ,r-biomart)
-       ("r-org-hs-eg-db" ,r-org-hs-eg-db)
-       ("r-org-ce-eg-db" ,r-org-ce-eg-db)
-       ("r-org-dm-eg-db" ,r-org-dm-eg-db)
-       ("r-org-mm-eg-db" ,r-org-mm-eg-db)
+       ("r-biostrings" ,r-biostrings)
        ("r-bsgenome-hsapiens-ucsc-hg19" ,r-bsgenome-hsapiens-ucsc-hg19)
        ("r-bsgenome-mmusculus-ucsc-mm9" ,r-bsgenome-mmusculus-ucsc-mm9)
        ("r-bsgenome-celegans-ucsc-ce10" ,r-bsgenome-celegans-ucsc-ce10)
        ("r-bsgenome-dmelanogaster-ucsc-dm3" ,r-bsgenome-dmelanogaster-ucsc-dm3)
-       ("r-topgo" ,r-topgo)
+       ("r-cowplot" ,r-cowplot)
+       ("r-data-table" ,r-data-table)
+       ("r-dbi" ,r-dbi)
        ("r-dt" ,r-dt)
+       ("r-genomation" ,r-genomation)
+       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-ggseqlogo" ,r-ggseqlogo)
+       ("r-knitr" ,r-knitr)
+       ("r-motifrg" ,r-motifrg)
+       ("r-org-hs-eg-db" ,r-org-hs-eg-db)
+       ("r-org-ce-eg-db" ,r-org-ce-eg-db)
+       ("r-org-dm-eg-db" ,r-org-dm-eg-db)
+       ("r-org-mm-eg-db" ,r-org-mm-eg-db)
        ("r-pbapply" ,r-pbapply)
+       ("r-pheatmap" ,r-pheatmap)
        ("r-plotly" ,r-plotly)
        ("r-plotrix" ,r-plotrix)
-       ("r-motifrg" ,r-motifrg)
-       ("r-genomation" ,r-genomation)
-       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-proxy" ,r-proxy)
+       ("r-rsqlite" ,r-rsqlite)
        ("r-rtracklayer" ,r-rtracklayer)
-       ("r-rmarkdown" ,r-rmarkdown)))
+       ("r-rmarkdown" ,r-rmarkdown)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-topgo" ,r-topgo)))
     (synopsis "RNA-centric annotation system")
     (description
      "RCAS aims to be a standalone RNA-centric annotation system that provides
@@ -8570,7 +8581,7 @@ library implementing most of the pipeline's features.")
 (define-public rcas-web
   (package
     (name "rcas-web")
-    (version "0.0.4")
+    (version "0.0.5")
     (source
      (origin
        (method url-fetch)
@@ -8579,7 +8590,7 @@ library implementing most of the pipeline's features.")
                            "/rcas-web-" version ".tar.gz"))
        (sha256
         (base32
-         "1p16frfys41a8yaa4gkm457nzkqhqs2pc3lkac0ds457w9w5j1gm"))))
+         "0igz7jpcf7cm9800zcag6p3gd1i649figrhbdba6cjkm8f4gfspr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -9234,13 +9245,13 @@ number detection tools.")
 (define-public r-methylkit
   (package
     (name "r-methylkit")
-    (version "1.6.0")
+    (version "1.6.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "methylKit" version))
               (sha256
                (base32
-                "01qmndm5z21p78w7xfp8ynan6jpfg54rnkpj8b86rc081qh0sgjj"))))
+                "1hr2czi5ybdf7hdmqsv39d17f3mvmw94wa38bc14zzm9mgy9gfy7"))))
     (properties `((upstream-name . "methylKit")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9310,14 +9321,14 @@ unmodeled, or latent sources of noise.")
 (define-public r-seqminer
   (package
     (name "r-seqminer")
-    (version "6.0")
+    (version "6.1")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seqminer" version))
        (sha256
         (base32
-         "057j1l6dip35l1aivilapl2zv9db677b3di2pb3sfgq2sxg0ps3l"))))
+         "15yhg4vfc7jg1jnqb3371j00pgbmbyc9l1xx63hq1l3p34lazq2l"))))
     (build-system r-build-system)
     (inputs
      `(("zlib" ,zlib)))
@@ -9364,14 +9375,14 @@ trait.")
 (define-public r-maldiquant
   (package
     (name "r-maldiquant")
-    (version "1.17")
+    (version "1.18")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MALDIquant" version))
        (sha256
         (base32
-         "047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z"))))
+         "18nl214xjsxkcpbg79jkmw0yznwm5szyh2qb84n7ip46mm779ha6"))))
     (properties `((upstream-name . "MALDIquant")))
     (build-system r-build-system)
     (home-page "https://cran.r-project.org/web/packages/MALDIquant")
@@ -9608,14 +9619,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.6.1")
+    (version "2.6.3")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "0zrpx9r93q5ca2zdak5rs2m9sjm0wjdra1xfj3d3sx6p5gzfyg6n"))))
+         "15jhqg02ypmznc0wxksw56yij02csy678vqy531fdv86fsmypwa0"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9690,57 +9701,31 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
 (define-public r-seurat
   (package
     (name "r-seurat")
-    (version "2.3.1")
+    (version "2.3.4")
     (source (origin
               (method url-fetch)
               (uri (cran-uri "Seurat" version))
               (sha256
                (base32
-                "0hi59rgdrr2iqfvx5bq7yq02hbjxkjl1fzidqj14z0ypq0nzbjys"))
-              ;; Delete pre-built jar.
-              (snippet
-               '(begin (delete-file "inst/java/ModularityOptimizer.jar")
-                       #t))))
+                "0l8bv4i9nzz26mirnva10mq6pimibj24vk7vpvfypgn7xk4942hd"))))
     (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-cluster" ,r-cluster)
        ("r-cowplot" ,r-cowplot)
-       ("r-diffusionmap" ,r-diffusionmap)
        ("r-dosnow" ,r-dosnow)
        ("r-dplyr" ,r-dplyr)
        ("r-dtw" ,r-dtw)
        ("r-fitdistrplus" ,r-fitdistrplus)
-       ("r-fnn" ,r-fnn)
        ("r-foreach" ,r-foreach)
        ("r-fpc" ,r-fpc)
-       ("r-gdata" ,r-gdata)
        ("r-ggplot2" ,r-ggplot2)
        ("r-ggridges" ,r-ggridges)
        ("r-gplots" ,r-gplots)
+       ("r-hdf5r" ,r-hdf5r)
        ("r-hmisc" ,r-hmisc)
+       ("r-httr" ,r-httr)
        ("r-ica" ,r-ica)
        ("r-igraph" ,r-igraph)
        ("r-irlba" ,r-irlba)
@@ -9753,7 +9738,6 @@ Main-Class: ModularityOptimizer\n")))
        ("r-pbapply" ,r-pbapply)
        ("r-plotly" ,r-plotly)
        ("r-png" ,r-png)
-       ("r-ranger" ,r-ranger)
        ("r-rann" ,r-rann)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
        ("r-rcpp" ,r-rcpp)
@@ -9764,11 +9748,8 @@ Main-Class: ModularityOptimizer\n")))
        ("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)))
+       ("r-tsne" ,r-tsne)))
     (home-page "http://www.satijalab.org/seurat")
     (synopsis "Seurat is an R toolkit for single cell genomics")
     (description
@@ -9841,14 +9822,14 @@ distribution.")
 (define-public r-edaseq
   (package
     (name "r-edaseq")
-    (version "2.14.0")
+    (version "2.14.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "EDASeq" version))
        (sha256
         (base32
-         "1832pb3jkim4vrqzb8lajwx9r482bhww5n9nz3s6crvyamlp2dj0"))))
+         "0970w9d5ddqw1qxqqafdidkxh6hmcv9j5djwgnpz3fgl05kmysg8"))))
     (properties `((upstream-name . "EDASeq")))
     (build-system r-build-system)
     (propagated-inputs
@@ -9968,14 +9949,14 @@ microarrays or GRanges for sequencing data.")
 (define-public r-keggrest
   (package
     (name "r-keggrest")
-    (version "1.20.0")
+    (version "1.20.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "KEGGREST" version))
        (sha256
         (base32
-         "1349vidgl9m10l1rbrp3pkwwgi2xcbsw9h9z2xqbvg97lmqc4r8j"))))
+         "1ss0xd5570x570v01r6lp64rr1apjrzp0j62520pvm3g8knjhfvs"))))
     (properties `((upstream-name . "KEGGREST")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10054,14 +10035,14 @@ provide added flexibility for data combination and manipulation.")
 (define-public r-complexheatmap
   (package
     (name "r-complexheatmap")
-    (version "1.18.0")
+    (version "1.18.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ComplexHeatmap" version))
        (sha256
         (base32
-         "0z57mrginzd40niy51dvnyqgbrij05ji0dbwqs3x2as80sq28i3q"))))
+         "0qjwz1hzpjnc90jiinjkikfnr0shi72q3zfdjjz7pxydy0mglq8n"))))
     (properties
      `((upstream-name . "ComplexHeatmap")))
     (build-system r-build-system)
@@ -10188,14 +10169,14 @@ the fact that each of these packages implements a select methods.")
 (define-public r-biovizbase
   (package
     (name "r-biovizbase")
-    (version "1.28.0")
+    (version "1.28.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "biovizBase" version))
        (sha256
         (base32
-         "0lkiqdr3ics6hgv47lwkykcy761823bbkhffbn4ykyfzyqwl4p67"))))
+         "0wc45j3hfn01i44bkkxjj3n8b8xzbkkcdv35mrkzb1f9yprkf8gq"))))
     (properties `((upstream-name . "biovizBase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10212,6 +10193,7 @@ the fact that each of these packages implements a select methods.")
        ("r-hmisc" ,r-hmisc)
        ("r-iranges" ,r-iranges)
        ("r-rcolorbrewer" ,r-rcolorbrewer)
+       ("r-rlang" ,r-rlang)
        ("r-rsamtools" ,r-rsamtools)
        ("r-s4vectors" ,r-s4vectors)
        ("r-scales" ,r-scales)
@@ -10229,14 +10211,14 @@ effort and encourages consistency.")
 (define-public r-ggbio
   (package
     (name "r-ggbio")
-    (version "1.28.0")
+    (version "1.28.5")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ggbio" version))
        (sha256
         (base32
-         "0wszh3w8yia5zw758h837i1q35k99sn444y2hahcxqbdmmlbf7in"))))
+         "19s2v40fycwf44fl3lm791y635xzw67b30sq2g0qq4a6phjik42d"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -10259,6 +10241,7 @@ effort and encourages consistency.")
        ("r-iranges" ,r-iranges)
        ("r-organismdbi" ,r-organismdbi)
        ("r-reshape2" ,r-reshape2)
+       ("r-rlang" ,r-rlang)
        ("r-rsamtools" ,r-rsamtools)
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-s4vectors" ,r-s4vectors)
@@ -10713,14 +10696,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
 (define-public r-hdf5array
   (package
     (name "r-hdf5array")
-    (version "1.8.0")
+    (version "1.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "HDF5Array" version))
        (sha256
         (base32
-         "1l0276qxkhgdxsfck3jmi8jvnsr20g10gjki53g0mqa45wnhm3ck"))))
+         "1s44zgm9jg82bk4b8k3dh7xw7mxychlfm3grs8516mxnw91zpvy5"))))
     (properties `((upstream-name . "HDF5Array")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10859,13 +10842,13 @@ libraries.")
 (define-public r-scater
   (package
     (name "r-scater")
-    (version "1.8.0")
+    (version "1.8.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "scater" version))
               (sha256
                (base32
-                "0bhpikgz3b9f510dawsay4zry9rlp8vjx5n6zvwbcpwrd94p3903"))))
+                "173lfpas2fqsp4xxsw01wkxd4496c5p8himw9b4r9z4npxkfyv16"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-beachmat" ,r-beachmat)
@@ -11433,7 +11416,7 @@ applications for tackling some common problems in a user-friendly way.")
        ("python2-numpy" ,python2-numpy)
        ("python2-matplotlib" ,python2-matplotlib)
        ("python2-pysam" ,python2-pysam)))
-    (home-page "http://3dgenomes.github.io/TADbit/")
+    (home-page "https://3dgenomes.github.io/TADbit/")
     (synopsis "Analyze, model, and explore 3C-based data")
     (description
      "TADbit is a complete Python library to deal with all steps to analyze,
@@ -12708,6 +12691,9 @@ contains
                   (guix build ant-build-system))
        #:phases
        (modify-phases %standard-phases
+         ;; FIXME: fails with "java.io.FileNotFoundException:
+         ;; /gnu/store/…-dropseq-tools-1.13/share/java/lib/biojava-alignment.jar"
+         (delete 'generate-jar-indices)
          ;; All dependencies must be linked to "lib", because that's where
          ;; they will be searched for when the Class-Path property of the
          ;; manifest is computed.
@@ -12812,7 +12798,7 @@ once.  This package provides tools to perform Drop-seq analyses.")
 (define-public pigx-rnaseq
   (package
     (name "pigx-rnaseq")
-    (version "0.0.3")
+    (version "0.0.4")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@@ -12820,7 +12806,7 @@ once.  This package provides tools to perform Drop-seq analyses.")
                                   "/pigx_rnaseq-" version ".tar.gz"))
               (sha256
                (base32
-                "0pz080k4ajlc4rlznkn3najy2a6874gb56rf9g4ag9wqz31q174j"))))
+                "16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-tests? #f             ; not supported
@@ -12831,19 +12817,12 @@ once.  This package provides tools to perform Drop-seq analyses.")
            (lambda _
              (substitute* "Makefile.in"
                (("(^  tests/test_trim_galore/test.sh).*" _ m) m)
+               (("^  tests/test_multiqc/test.sh") "")
                (("^  test.sh") ""))
-             #t))
-         (add-after 'install 'wrap-executable
-           ;; Make sure the executable finds all R modules.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/pigx-rnaseq")
-                 `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
-                 `("PYTHONPATH"  ":" = (,(getenv "PYTHONPATH")))))
              #t)))))
     (inputs
      `(("gzip" ,gzip)
-       ("snakemake" ,snakemake)
+       ("snakemake" ,snakemake-4)
        ("fastqc" ,fastqc)
        ("multiqc" ,multiqc)
        ("star" ,star)
@@ -12887,7 +12866,7 @@ expression report comparing samples in an easily configurable manner.")
 (define-public pigx-chipseq
   (package
     (name "pigx-chipseq")
-    (version "0.0.15")
+    (version "0.0.20")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@@ -12895,20 +12874,10 @@ expression report comparing samples in an easily configurable manner.")
                                   "/pigx_chipseq-" version ".tar.gz"))
               (sha256
                (base32
-                "11v9v3vyda0sv4cl45nki7mm4v4bjfcdq7a70kcvi9h465nq66wg"))))
+                "19a7dclqq0b4kqg3phiz4d4arlwfp34nm3z0rf1gkqdpsy7gghp3"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:tests? #f ; parts of the tests rely on access to the network
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-executable
-           ;; Make sure the executable finds all R modules.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/pigx-chipseq")
-                 `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
-                 `("PYTHONPATH"  ":" = (,(getenv "PYTHONPATH")))))
-             #t)))))
+    ;; parts of the tests rely on access to the network
+    (arguments '(#:tests? #f))
     (inputs
      `(("grep" ,grep)
        ("coreutils" ,coreutils)
@@ -12947,7 +12916,7 @@ expression report comparing samples in an easily configurable manner.")
        ("fastqc" ,fastqc)
        ("bowtie" ,bowtie)
        ("idr" ,idr)
-       ("snakemake" ,snakemake)
+       ("snakemake" ,snakemake-4)
        ("samtools" ,samtools)
        ("bedtools" ,bedtools)
        ("kentutils" ,kentutils)))
@@ -12967,7 +12936,7 @@ in an easily configurable manner.")
 (define-public pigx-bsseq
   (package
     (name "pigx-bsseq")
-    (version "0.0.8")
+    (version "0.0.10")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@@ -12975,7 +12944,7 @@ in an easily configurable manner.")
                                   "/pigx_bsseq-" version ".tar.gz"))
               (sha256
                (base32
-                "0irlnlhhw9fd4ha7hksrxn3y7j76mz5qq1wjswbs9p364laqg69y"))))
+                "0l97wvkq4diq8lcarraj33bby1zzf0w804jwi8mlc5qddp8idwhy"))))
     (build-system gnu-build-system)
     (arguments
      `(#:phases
@@ -12987,14 +12956,6 @@ in an easily configurable manner.")
              (setenv "TZDIR"
                      (string-append (assoc-ref inputs "tzdata")
                                     "/share/zoneinfo"))
-             #t))
-         (add-after 'install 'wrap-executable
-           ;; Make sure the executable finds all R modules.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/pigx-bsseq")
-                 `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
-                 `("PYTHONPATH"  ":" = (,(getenv "PYTHONPATH")))))
              #t)))))
     (native-inputs
      `(("tzdata" ,tzdata)))
@@ -13016,7 +12977,7 @@ in an easily configurable manner.")
        ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
        ("python-wrapper" ,python-wrapper)
        ("python-pyyaml" ,python-pyyaml)
-       ("snakemake" ,snakemake)
+       ("snakemake" ,snakemake-4)
        ("bismark" ,bismark)
        ("fastqc" ,fastqc)
        ("bowtie" ,bowtie)
@@ -13034,7 +12995,7 @@ methylation and segmentation.")
 (define-public pigx-scrnaseq
   (package
     (name "pigx-scrnaseq")
-    (version "0.0.4")
+    (version "0.0.7")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
@@ -13042,39 +13003,31 @@ methylation and segmentation.")
                                   "/pigx_scrnaseq-" version ".tar.gz"))
               (sha256
                (base32
-                "1pvjm6f3mascprs65vflggwwg5v925knvgal7k7a6nnlmw5qndrf"))))
+                "131zarirv16w8653m0d66jgjnwqfsxqc0hix0rypssz4d83bl51j"))))
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
        (list (string-append "PICARDJAR=" (assoc-ref %build-inputs "java-picard")
                            "/share/java/picard.jar")
             (string-append "DROPSEQJAR=" (assoc-ref %build-inputs "dropseq-tools")
-                           "/share/java/dropseq.jar"))
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'install 'wrap-executable
-           ;; Make sure the executable finds all R modules.
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let ((out (assoc-ref outputs "out")))
-               (wrap-program (string-append out "/bin/pigx-scrnaseq")
-                 `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
-                 `("PYTHONPATH"  ":" = (,(getenv "PYTHONPATH")))))
-             #t)))))
+                           "/share/java/dropseq.jar"))))
     (inputs
      `(("coreutils" ,coreutils)
        ("perl" ,perl)
        ("dropseq-tools" ,dropseq-tools)
        ("fastqc" ,fastqc)
-       ("java-picard" ,java-picard)
+       ("java-picard" ,java-picard-2.10.3) ; same as for dropseq
        ("java" ,icedtea-8)
        ("python-wrapper" ,python-wrapper)
        ("python-pyyaml" ,python-pyyaml)
        ("python-pandas" ,python-pandas)
+       ("python-magic" ,python-magic)
        ("python-numpy" ,python-numpy)
        ("python-loompy" ,python-loompy)
        ("ghc-pandoc" ,ghc-pandoc-1)
        ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
-       ("snakemake" ,snakemake)
+       ("samtools" ,samtools)
+       ("snakemake" ,snakemake-4)
        ("star" ,star)
        ("r-minimal" ,r-minimal)
        ("r-argparser" ,r-argparser)
@@ -13113,7 +13066,7 @@ based methods.")
 (define-public pigx
   (package
     (name "pigx")
-    (version "0.0.2")
+    (version "0.0.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/BIMSBbioinfo/pigx/"
@@ -13121,7 +13074,7 @@ based methods.")
                                   "/pigx-" version ".tar.gz"))
               (sha256
                (base32
-                "0sb708sl42h3s5z872jb1w70bbqplwapnsc1wm27zcsvi7li4gw8"))))
+                "1i5njdy1clj5ncw45d16p7mwmqvb1ilikl9n797pxklc3f4s7mq7"))))
     (build-system gnu-build-system)
     (inputs
      `(("python" ,python)
@@ -13176,3 +13129,396 @@ Extinction), \"QuaSSE\", \"GeoSSE\", and \"BiSSE-ness\" Other included methods
 include Markov models of discrete and continuous trait evolution and constant
 rate speciation and extinction.")
     (license license:gpl2+)))
+
+(define-public sjcount
+  ;; There is no tag for version 3.2, nor is there a release archive.
+  (let ((commit "292d3917cadb3f6834c81e509c30e61cd7ead6e5")
+        (revision "1"))
+    (package
+      (name "sjcount")
+      (version (git-version "3.2" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/pervouchine/sjcount-full.git")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "0gdgj35j249f04rqgq8ymcc1xg1vi9kzbajnjqpaq2wpbh8bl234"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; requires a 1.4G test file
+         #:make-flags
+         (list (string-append "SAMTOOLS_DIR="
+                              (assoc-ref %build-inputs "samtools")
+                              "/lib/"))
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'configure
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "makefile"
+                 (("-I \\$\\{SAMTOOLS_DIR\\}")
+                  (string-append "-I" (assoc-ref inputs "samtools")
+                                 "/include/samtools"))
+                 (("-lz ") "-lz -lpthread "))
+               #t))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (for-each (lambda (tool)
+                           (install-file tool
+                                         (string-append (assoc-ref outputs "out")
+                                                        "/bin")))
+                         '("j_count" "b_count" "sjcount"))
+               #t)))))
+      (inputs
+       `(("samtools" ,samtools-0.1)
+         ("zlib" ,zlib)))
+      (home-page "https://github.com/pervouchine/sjcount-full/")
+      (synopsis "Annotation-agnostic splice junction counting pipeline")
+      (description "Sjcount is a utility for fast quantification of splice
+junctions in RNA-seq data.  It is annotation-agnostic and offset-aware.  This
+version does count multisplits.")
+      (license license:gpl3+))))
+
+(define-public minimap2
+  (package
+    (name "minimap2")
+    (version "2.10")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/lh3/minimap2/"
+                           "releases/download/v" version "/"
+                           "minimap2-" version ".tar.bz2"))
+       (sha256
+        (base32
+         "080w9066irkbhbyr4nmf19pzkdd2s4v31hpzlajgq2y0drr6zcsj"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f                      ; there are none
+       #:make-flags
+       (list "CC=gcc"
+             (let ((system ,(or (%current-target-system)
+                                (%current-system))))
+               (cond
+                ((string-prefix? "x86_64" system)
+                 "all")
+                ((or (string-prefix? "armhf" system)
+                     (string-prefix? "aarch64" system))
+                 "arm_neon=1")
+                (_ "sse2only=1"))))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'install
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin"))
+                    (man (string-append out "/share/man/man1")))
+               (install-file "minimap2" bin)
+               (mkdir-p man)
+               (install-file "minimap2.1" man))
+             #t)))))
+    (inputs
+     `(("zlib" ,zlib)))
+    (home-page "https://lh3.github.io/minimap2/")
+    (synopsis "Pairwise aligner for genomic and spliced nucleotide sequences")
+    (description "Minimap2 is a versatile sequence alignment program that
+aligns DNA or mRNA sequences against a large reference database.  Typical use
+cases include:
+
+@enumerate
+@item mapping PacBio or Oxford Nanopore genomic reads to the human genome;
+@item finding overlaps between long reads with error rate up to ~15%;
+@item splice-aware alignment of PacBio Iso-Seq or Nanopore cDNA or Direct RNA
+  reads against a reference genome;
+@item aligning Illumina single- or paired-end reads;
+@item assembly-to-assembly alignment;
+@item full-genome alignment between two closely related species with
+  divergence below ~15%.
+@end enumerate\n")
+    (license license:expat)))
+
+(define-public r-circus
+  (package
+    (name "r-circus")
+    (version "0.1.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/BIMSBbioinfo/ciRcus.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0jhjn3ilb057hbf6yzrihj13ifxxs32y7nkby8l3lkm28dg4p97h"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-annotationdbi" ,r-annotationdbi)
+       ("r-annotationhub" ,r-annotationhub)
+       ("r-biomart" ,r-biomart)
+       ("r-data-table" ,r-data-table)
+       ("r-dbi" ,r-dbi)
+       ("r-genomicfeatures" ,r-genomicfeatures)
+       ("r-genomicranges" ,r-genomicranges)
+       ("r-ggplot2" ,r-ggplot2)
+       ("r-hash" ,r-hash)
+       ("r-iranges" ,r-iranges)
+       ("r-rcolorbrewer" ,r-rcolorbrewer)
+       ("r-rmysql" ,r-rmysql)
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-stringr" ,r-stringr)
+       ("r-summarizedexperiment" ,r-summarizedexperiment)))
+    (native-inputs
+     `(("r-knitr" ,r-knitr)))
+    (home-page "https://github.com/BIMSBbioinfo/ciRcus")
+    (synopsis "Annotation, analysis and visualization of circRNA data")
+    (description "Circus is an R package for annotation, analysis and
+visualization of circRNA data.  Users can annotate their circRNA candidates
+with host genes, gene featrues they are spliced from, and discriminate between
+known and yet unknown splice junctions.  Circular-to-linear ratios of circRNAs
+can be calculated, and a number of descriptive plots easily generated.")
+    (license license:artistic2.0)))
+
+(define-public r-loomr
+  (let ((commit "df0144bd2bbceca6fadef9edc1bbc5ca672d4739")
+        (revision "1"))
+    (package
+      (name "r-loomr")
+      (version (git-version "0.2.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/mojaveazure/loomR.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1b1g4dlmfdyhn56bz1mkh9ymirri43wiz7rjhs7py3y7bdw1s3yr"))))
+      (build-system r-build-system)
+      (propagated-inputs
+       `(("r-r6" ,r-r6)
+         ("r-hdf5r" ,r-hdf5r)
+         ("r-iterators" ,r-iterators)
+         ("r-itertools" ,r-itertools)
+         ("r-matrix" ,r-matrix)))
+      (home-page "https://github.com/mojaveazure/loomR")
+      (synopsis "R interface for loom files")
+      (description "This package provides an R interface to access, create,
+and modify loom files.  loomR aims to be completely compatible with loompy.")
+      (license license:gpl3))))
+
+(define-public gffread
+  ;; We cannot use the tagged release because it is not in sync with gclib.
+  ;; See https://github.com/gpertea/gffread/issues/26
+  (let ((commit "ba7535fcb3cea55a6e5a491d916e93b454e87fd0")
+        (revision "1"))
+    (package
+      (name "gffread")
+      (version (git-version "0.9.12" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gpertea/gffread.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "1dl2nbcg96lxpd0drg48ssa8343nf7pw9s9mkrc4mjjmfwsin3ki"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f ; no check target
+         #:make-flags
+         (list "GCLDIR=gclib")
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-after 'unpack 'copy-gclib-source
+             (lambda* (#:key inputs #:allow-other-keys)
+               (mkdir-p "gclib")
+               (copy-recursively (assoc-ref inputs "gclib-source") "gclib")
+               #t))
+           ;; There is no install target
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin")))
+                 (install-file "gffread" bin))
+               #t)))))
+      (native-inputs
+       `(("gclib-source"
+          ,(let ((version "0.10.3")
+                 (commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f")
+                 (revision "1"))
+             (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/gpertea/gclib.git")
+                     (commit commit)))
+               (file-name (git-file-name "gclib" version))
+               (sha256
+                (base32
+                 "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr")))))))
+      (home-page "https://github.com/gpertea/gffread/")
+      (synopsis "Parse and convert GFF/GTF files")
+      (description
+       "This package provides a GFF/GTF file parsing utility providing format
+conversions, region filtering, FASTA sequence extraction and more.")
+      ;; gffread is under Expat, but gclib is under Artistic 2.0
+      (license (list license:expat
+                     license:artistic2.0)))))
+
+(define-public find-circ
+  ;; The last release was in 2015.  The license was clarified in 2017, so we
+  ;; take the latest commit.
+  (let ((commit "8655dca54970fcf7e92e22fbf57e1188724dda7d")
+        (revision "1"))
+    (package
+      (name "find-circ")
+      (version (git-version "1.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/marvin-jens/find_circ.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32
+           "0p77pbqbclqr4srms34y1b9b4njybfpjiknc11ki84f3p8skb3cg"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; there are none
+         #:phases
+         ;; There is no actual build system.
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (delete 'build)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (path (getenv "PYTHONPATH")))
+                 (for-each (lambda (script)
+                             (install-file script bin)
+                             (wrap-program (string-append bin "/" script)
+                               `("PYTHONPATH" ":" prefix (,path))))
+                           '("cmp_bed.py"
+                             "find_circ.py"
+                             "maxlength.py"
+                             "merge_bed.py"
+                             "unmapped2anchors.py")))
+               #t)))))
+      (inputs
+       `(("python2" ,python-2)
+         ("python2-pysam" ,python2-pysam)
+         ("python2-numpy" ,python2-numpy)))
+      (home-page "https://github.com/marvin-jens/find_circ")
+      (synopsis "circRNA detection from RNA-seq reads")
+      (description "This package provides tools to detect head-to-tail
+spliced (back-spliced) sequencing reads, indicative of circular RNA (circRNA)
+in RNA-seq data.")
+      (license license:gpl3))))
+
+(define-public python-scanpy
+  (package
+    (name "python-scanpy")
+    (version "1.2.2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "scanpy" version))
+       (sha256
+        (base32
+         "1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-anndata" ,python-anndata)
+       ("python-igraph" ,python-igraph)
+       ("python-numba" ,python-numba)
+       ("python-joblib" ,python-joblib)
+       ("python-natsort" ,python-natsort)
+       ("python-networkx" ,python-networkx)
+       ("python-statsmodels" ,python-statsmodels)
+       ("python-scikit-learn" ,python-scikit-learn)
+       ("python-matplotlib" ,python-matplotlib)
+       ("python-pandas" ,python-pandas)
+       ("python-scipy" ,python-scipy)
+       ("python-seaborn" ,python-seaborn)
+       ("python-h5py" ,python-h5py)
+       ("python-tables" ,python-tables)))
+    (home-page "http://github.com/theislab/scanpy")
+    (synopsis "Single-Cell Analysis in Python.")
+    (description "Scanpy is a scalable toolkit for analyzing single-cell gene
+expression data.  It includes preprocessing, visualization, clustering,
+pseudotime and trajectory inference and differential expression testing.  The
+Python-based implementation efficiently deals with datasets of more than one
+million cells.")
+    (license license:bsd-3)))
+
+(define-public gffcompare
+  (let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41")
+        (revision "1"))
+    (package
+      (name "gffcompare")
+      (version (git-version "0.10.15" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/gpertea/gffcompare/")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0cp5qpxdhw4mxpya5dld8wi3jk00zyklm6rcri426wydinrnfmkg"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:tests? #f                    ; no check target
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (add-before 'build 'copy-gclib-source
+             (lambda* (#:key inputs #:allow-other-keys)
+               (mkdir "../gclib")
+               (copy-recursively
+                (assoc-ref inputs "gclib-source") "../gclib")
+               #t))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+                 (install-file "gffcompare" bin)
+                 #t))))))
+      (native-inputs
+       `(("gclib-source" ; see 'README.md' of gffcompare
+          ,(let ((commit "54917d0849c1e83cfb057b5f712e5cb6a35d948f")
+                 (revision "1")
+                 (name "gclib")
+                 (version (git-version "0.10.3" revision commit)))
+             (origin
+               (method git-fetch)
+               (uri (git-reference
+                     (url "https://github.com/gpertea/gclib/")
+                     (commit commit)))
+               (file-name (git-file-name name version))
+               (sha256
+                (base32 "0b51lc0b8syrv7186fd7n8f15rwnf264qgfmm2palrwks1px24mr")))))))
+      (home-page "https://github.com/gpertea/gffcompare/")
+      (synopsis "Tool for comparing or classifing transcripts of RNA-Seq")
+      (description
+       "@code{gffcompare} is a tool that can:
+@enumerate
+@item compare and evaluate the accuracy of RNA-Seq transcript assemblers
+(Cufflinks, Stringtie);
+@item collapse (merge) duplicate transcripts from multiple GTF/GFF3 files (e.g.
+resulted from assembly of different samples);
+@item classify transcripts from one or multiple GTF/GFF3 files as they relate to
+reference transcripts provided in a annotation file (also in GTF/GFF3 format).
+@end enumerate")
+      (license
+       (list
+        license:expat                   ;license for gffcompare
+        license:artistic2.0)))))        ;license for gclib