gnu: Fix typos in descriptions.
[jackhill/guix/guix.git] / gnu / packages / bioinformatics.scm
index b6f753e..2b0303b 100644 (file)
   #:use-module (gnu packages zip)
   #:use-module (srfi srfi-1))
 
+(define-public r-ape
+  (package
+    (name "r-ape")
+    (version "4.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "ape" version))
+       (sha256
+        (base32
+         "0959fiiy11rzfzrzaknmgrx64bhszj02l0ycz79k5a6bmpfzanlk"))))
+    (build-system r-build-system)
+    (propagated-inputs
+     `(("r-lattice" ,r-lattice)
+       ("r-nlme" ,r-nlme)))
+    (home-page "http://ape-package.ird.fr/")
+    (synopsis "Analyses of phylogenetics and evolution")
+    (description
+     "This package provides functions for reading, writing, plotting, and
+manipulating phylogenetic trees, analyses of comparative data in a
+phylogenetic framework, ancestral character analyses, analyses of
+diversification and macroevolution, computing distances from DNA sequences,
+and several other tools.")
+    (license license:gpl2+)))
+
 (define-public aragorn
   (package
     (name "aragorn")
                            (bin (string-append out "/bin"))
                            (man (string-append out "/share/man/man1")))
                       (mkdir-p bin)
-                      (copy-file "aragorn"
-                                 (string-append bin "/aragorn"))
+                      (install-file "aragorn" bin)
                       (mkdir-p man)
-                      (copy-file "aragorn.1"
-                                 (string-append man "/aragorn.1")))
+                      (install-file "aragorn.1" man))
                     #t)))))
     (home-page "http://mbio-serv2.mbioekol.lu.se/ARAGORN")
     (synopsis "Detect tRNA, mtRNA and tmRNA genes in nucleotide sequences")
@@ -455,7 +478,7 @@ BED, GFF/GTF, VCF.")
     (inputs
      `(("bedtools" ,bedtools-2.18)
        ("samtools" ,samtools-0.1)
-       ("r" ,r)
+       ("r-minimal" ,r-minimal)
        ("r-foreach" ,r-foreach)
        ("r-xnomial" ,r-xnomial)
        ("r-domc" ,r-domc)
@@ -1390,7 +1413,7 @@ multiple sequence alignments.")
 (define-public python-pysam
   (package
     (name "python-pysam")
-    (version "0.9.1.4")
+    (version "0.10.0")
     (source (origin
               (method url-fetch)
               ;; Test data is missing on PyPi.
@@ -1400,14 +1423,18 @@ multiple sequence alignments.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "0y41ssbg6nvn2jgcbnrvkzblpjcwszaiv1rgyd8dwzjkrbfsgsmc"))
+                "1mmvn91agr238kwz7226xq0i7k84lg2nxywn9712mzj7gvgqhfy8"))
               (modules '((guix build utils)))
               (snippet
                ;; Drop bundled htslib. TODO: Also remove samtools and bcftools.
                '(delete-file-recursively "htslib"))))
     (build-system python-build-system)
     (arguments
-     `(#:phases
+     `(#:modules ((ice-9 ftw)
+                  (srfi srfi-26)
+                  (guix build python-build-system)
+                  (guix build utils))
+       #:phases
        (modify-phases %standard-phases
          (add-before 'build 'set-flags
            (lambda* (#:key inputs #:allow-other-keys)
@@ -1419,23 +1446,23 @@ multiple sequence alignments.")
              (setenv "LDFLAGS" "-lncurses")
              (setenv "CFLAGS" "-D_CURSES_LIB=1")
              #t))
-         (delete 'check)
-         (add-after 'install 'check
+         (replace 'check
            (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; Add first subdirectory of "build" directory to PYTHONPATH.
              (setenv "PYTHONPATH"
                      (string-append
                       (getenv "PYTHONPATH")
-                      ":" (assoc-ref outputs "out")
-                      "/lib/python"
-                      (string-take (string-take-right
-                                    (assoc-ref inputs "python") 5) 3)
-                      "/site-packages"))
+                      ":" (getcwd) "/build/"
+                      (car (scandir "build"
+                                    (negate (cut string-prefix? "." <>))))))
              ;; Step out of source dir so python does not import from CWD.
-             (chdir "tests")
-             (setenv "HOME" "/tmp")
-             (and (zero? (system* "make" "-C" "pysam_data"))
-                  (zero? (system* "make" "-C" "cbcf_data"))
-                  (zero? (system* "nosetests" "-v"))))))))
+             (with-directory-excursion "tests"
+               (setenv "HOME" "/tmp")
+               (and (zero? (system* "make" "-C" "pysam_data"))
+                    (zero? (system* "make" "-C" "cbcf_data"))
+                    (zero? (system* "nosetests" "-v"
+                                    "--processes"
+                                    (number->string (parallel-job-count)))))))))))
     (propagated-inputs
      `(("htslib"            ,htslib))) ; Included from installed header files.
     (inputs
@@ -1678,15 +1705,16 @@ gene predictor designed to work with assembled, aligned RNA-seq transcripts.")
          (replace
           'install
           (lambda* (#:key outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out")))
+            (let* ((out (assoc-ref outputs "out"))
+                   (bin (string-append out "/bin")))
               (copy-recursively "src" (string-append out "/src"))
-              (mkdir (string-append out "/bin"))
+              (mkdir bin)
               ;; Add "src" directory to module lookup path.
               (substitute* "couger"
                 (("from argparse")
                  (string-append "import sys\nsys.path.append(\""
                                 out "\")\nfrom argparse")))
-              (copy-file "couger" (string-append out "/bin/couger")))
+              (install-file "couger" bin))
             #t))
          (add-after
           'install 'wrap-program
@@ -1704,7 +1732,7 @@ gene predictor designed to work with assembled, aligned RNA-seq transcripts.")
        ("python2-scipy" ,python2-scipy)
        ("python2-matplotlib" ,python2-matplotlib)))
     (propagated-inputs
-     `(("r" ,r)
+     `(("r-minimal" ,r-minimal)
        ("libsvm" ,libsvm)
        ("randomjungle" ,randomjungle)))
     (native-inputs
@@ -2056,7 +2084,7 @@ identify enrichments with functional annotations of the genome.")
 (define-public diamond
   (package
     (name "diamond")
-    (version "0.8.36")
+    (version "0.8.37")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -2065,7 +2093,7 @@ identify enrichments with functional annotations of the genome.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "092smzzjcg51n3x4h84k52ijpz9m40ri838j9k2i463ribc3c8rh"))))
+                "1zn7q8m41ayfnjvf9snrsnq00mm68alf9rhdadx5q1sk23lyvp2l"))))
     (build-system cmake-build-system)
     (arguments
      '(#:tests? #f ; no "check" target
@@ -2105,7 +2133,19 @@ data and settings.")
         (base32
          "0rah9ja4m0rl5mldd6vag9rwrivw1zrqxssfq8qx64m7961fp68k"))))
     (build-system cmake-build-system)
-    (arguments `(#:tests? #f)) ; there are no tests
+    (arguments
+     `(#:tests? #f                      ; there are no tests
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'add-missing-includes
+           (lambda _
+             (substitute* "src/executioninformation.hpp"
+               (("#define EXECUTIONINFORMATION_HPP" line)
+                (string-append line "\n#include <random>")))
+             (substitute* "src/plasma/fasta.hpp"
+               (("#define FASTA_HPP" line)
+                (string-append line "\n#include <random>")))
+             #t)))))
     (inputs
      `(("boost" ,boost)
        ("cairo" ,cairo)))
@@ -2209,8 +2249,7 @@ quantitative phenotypes.")
                     (let ((target (string-append (assoc-ref outputs "out")
                                                  "/bin")))
                       (mkdir-p target)
-                      (copy-file "edirect.pl"
-                                 (string-append target "/edirect.pl"))
+                      (install-file "edirect.pl" target)
                       #t)))
          (add-after
           'install 'wrap-program
@@ -2356,10 +2395,8 @@ ChIP-Seq, and analysis of metagenomic data.")
                    (let ((bin (string-append (assoc-ref outputs "out")
                                              "/bin")))
                      (mkdir-p bin)
-                     (copy-file "scripts/convertToEBD.py"
-                                (string-append bin "/convertToEBD.py"))
-                     (copy-file "bin/ExpressBetaDiversity"
-                                (string-append bin "/ExpressBetaDiversity"))
+                     (install-file "scripts/convertToEBD.py" bin)
+                     (install-file "bin/ExpressBetaDiversity" bin)
                      #t))))))
    (inputs
     `(("python" ,python-2)))
@@ -2418,10 +2455,8 @@ similarity of community members.")
             (let ((bin (string-append (assoc-ref outputs "out")
                                       "/bin")))
               (mkdir-p bin)
-              (copy-file "FastTree"
-                         (string-append bin "/FastTree"))
-              (copy-file "FastTreeMP"
-                         (string-append bin "/FastTreeMP"))
+              (install-file "FastTree" bin)
+              (install-file "FastTreeMP" bin)
               #t))))))
    (home-page "http://www.microbesonline.org/fasttree")
    (synopsis "Infers approximately-maximum-likelihood phylogenetic trees")
@@ -2839,15 +2874,17 @@ indexing scheme is called a @dfn{Hierarchical Graph FM index} (HGFM).")
   (package
     (name "hmmer")
     (version "3.1b2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://eddylab.org/software/hmmer"
-                    (version-prefix version 1) "/"
-                    version "/hmmer-" version ".tar.gz"))
-              (sha256
-               (base32
-                "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx"))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "http://eddylab.org/software/hmmer"
+             (version-prefix version 1) "/"
+             version "/hmmer-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0djmgc0pfli0jilfx8hql1axhwhqxqb8rxg2r5rg07aw73sfs5nx"))
+       (patches (search-patches "hmmer-remove-cpu-specificity.patch"))))
     (build-system gnu-build-system)
     (native-inputs `(("perl" ,perl)))
     (home-page "http://hmmer.org/")
@@ -3113,7 +3150,10 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
      `(("zlib" ,zlib)
        ("bzip2" ,bzip2)
        ("python-screed" ,python-screed)
-       ("python-bz2file" ,python-bz2file)))
+       ("python-bz2file" ,python-bz2file)
+       ;; Tests fail when gcc-5 is used for compilation.  Use gcc-4.9 at least
+       ;; until the next version of khmer (likely 2.1) is released.
+       ("gcc" ,gcc-4.9)))
     (home-page "https://khmer.readthedocs.org/")
     (synopsis "K-mer counting, filtering and graph traversal library")
     (description "The khmer software is a set of command-line tools for
@@ -3142,7 +3182,7 @@ data.")
        #:tests? #f)) ; no test target
     (inputs
      `(("python-numpy" ,python2-numpy)))
-    (home-page "http://github.com/taoliu/MACS/")
+    (home-page "https://github.com/taoliu/MACS/")
     (synopsis "Model based analysis for ChIP-Seq data")
     (description
      "MACS is an implementation of a ChIP-Seq analysis algorithm for
@@ -3156,7 +3196,7 @@ sequencing tag position and orientation.")
 (define-public mafft
   (package
     (name "mafft")
-    (version "7.305")
+    (version "7.310")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -3165,7 +3205,7 @@ sequencing tag position and orientation.")
               (file-name (string-append name "-" version ".tgz"))
               (sha256
                (base32
-                "0ziim7g58n3z8gppsa713f5fxprl60ldj3xck186z0n9dpp06i8r"))))
+                "0gbsaz6z2qa307kd7wfb06c3y4ikmv1hsdvlns11f6zq4w1z9pwc"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; no automated tests, though there are tests in the read me
@@ -3983,7 +4023,7 @@ partial genes, and identifies translation initiation sites.")
        ("grep" ,grep)
        ("sed" ,sed)
        ("gawk" ,gawk)
-       ("r" ,r)
+       ("r-minimal" ,r-minimal)
        ("r-ggplot2" ,r-ggplot2)
        ("coreutils" ,coreutils)))
     (home-page "http://sanger-pathogens.github.io/Roary")
@@ -4001,7 +4041,7 @@ extremely diverse sets of genomes.")
 (define-public raxml
   (package
     (name "raxml")
-    (version "8.2.9")
+    (version "8.2.10")
     (source
      (origin
        (method url-fetch)
@@ -4012,7 +4052,7 @@ extremely diverse sets of genomes.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "1pv8p2fy67y21a9y4cm7xpvxqjwz2v4201flfjshdq1p8j52rqf7"))))
+         "13s7aspfdcfr6asynwdg1x6vznys6pzap5f8wsffbnnwpkkg9ya8"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f ; There are no tests.
@@ -4077,11 +4117,9 @@ phylogenies.")
                       (mkdir-p bin)
                       (mkdir-p perl)
                       (for-each (lambda (file)
-                                  (copy-file file
-                                             (string-append bin (basename file))))
+                                  (install-file file bin))
                                 (find-files "." "rsem-.*"))
-                      (copy-file "rsem_perl_utils.pm"
-                                 (string-append perl "/rsem_perl_utils.pm")))
+                      (install-file "rsem_perl_utils.pm" perl))
                     #t))
          (add-after
           'install 'wrap-program
@@ -4100,7 +4138,7 @@ phylogenies.")
     (inputs
      `(("boost" ,boost)
        ("ncurses" ,ncurses)
-       ("r" ,r)
+       ("r-minimal" ,r-minimal)
        ("perl" ,perl)
        ("samtools" ,samtools-0.1)
        ("zlib" ,zlib)))
@@ -4260,7 +4298,8 @@ to the user's query of interest.")
          'install 'install-library
          (lambda* (#:key outputs #:allow-other-keys)
            (let ((lib (string-append (assoc-ref outputs "out") "/lib")))
-             (install-file "libbam.a" lib)))
+             (install-file "libbam.a" lib)
+             #t))
          (alist-cons-after
           'install 'install-headers
           (lambda* (#:key outputs #:allow-other-keys)
@@ -4311,8 +4350,8 @@ viewer.")
                    (let ((bin (string-append
                                (assoc-ref outputs "out") "/bin")))
                      (mkdir-p bin)
-                     (copy-file "samtools"
-                                (string-append bin "/samtools")))))
+                     (install-file "samtools" bin)
+                     #t)))
                (delete 'patch-tests)
                (delete 'configure))))))))
 
@@ -4366,7 +4405,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
 (define-public ngs-sdk
   (package
     (name "ngs-sdk")
-    (version "1.2.5")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
@@ -4376,7 +4415,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "04y1fsmdnb5y86m3gg6f5g9wcscr6r25n7m8mdlcxy0i2q6w6cia"))))
+         "1wiyf4c6nm2j87pv015cbi0qny5byf3pbvcw3likifz5dl56ag40"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
@@ -4430,7 +4469,7 @@ simultaneously.")
 (define-public ncbi-vdb
   (package
     (name "ncbi-vdb")
-    (version "2.7.0")
+    (version "2.8.2")
     (source
      (origin
        (method url-fetch)
@@ -4440,67 +4479,77 @@ simultaneously.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "0x1cg1x8vy0yjlkp0snc1533zcjhxqzqsaiwqk598n7vvw37n8lf"))))
+         "1acn4bv81mfl137qnbn9995mjjhwd36pm0b7qli1iw5skrxa9j8m"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
        #:tests? #f ; no "check" target
        #:phases
-       (alist-replace
-        'configure
-        (lambda* (#:key inputs outputs #:allow-other-keys)
-          (let ((out (assoc-ref outputs "out")))
-            ;; Override include path for libmagic
-            (substitute* "setup/package.prl"
-              (("name => 'magic', Include => '/usr/include'")
-               (string-append "name=> 'magic', Include => '"
-                              (assoc-ref inputs "libmagic")
-                              "/include" "'")))
-
-            ;; Install kdf5 library (needed by sra-tools)
-            (substitute* "build/Makefile.install"
-              (("LIBRARIES_TO_INSTALL =")
-               "LIBRARIES_TO_INSTALL = kdf5.$(VERSION_LIBX) kdf5.$(VERSION_SHLX)"))
-
-            (substitute* "build/Makefile.env"
-              (("CFLAGS        =" prefix)
-               (string-append prefix "-msse2 ")))
-
-            ;; The 'configure' script doesn't recognize things like
-            ;; '--enable-fast-install'.
-            (zero? (system*
-                    "./configure"
-                    (string-append "--build-prefix=" (getcwd) "/build")
-                    (string-append "--prefix=" (assoc-ref outputs "out"))
-                    (string-append "--debug")
-                    (string-append "--with-xml2-prefix="
-                                   (assoc-ref inputs "libxml2"))
-                    (string-append "--with-ngs-sdk-prefix="
-                                   (assoc-ref inputs "ngs-sdk"))
-                    (string-append "--with-ngs-java-prefix="
-                                   (assoc-ref inputs "java-ngs"))
-                    (string-append "--with-hdf5-prefix="
-                                   (assoc-ref inputs "hdf5"))))))
-        (alist-cons-after
-         'install 'install-interfaces
-         (lambda* (#:key outputs #:allow-other-keys)
-           ;; Install interface libraries.  On i686 the interface libraries
-           ;; are installed to "linux/gcc/i386", so we need to use the Linux
-           ;; architecture name ("i386") instead of the target system prefix
-           ;; ("i686").
-           (mkdir (string-append (assoc-ref outputs "out") "/ilib"))
-           (copy-recursively (string-append "build/ncbi-vdb/linux/gcc/"
-                                            ,(system->linux-architecture
-                                              (or (%current-target-system)
-                                                  (%current-system)))
-                                            "/rel/ilib")
-                             (string-append (assoc-ref outputs "out")
-                                            "/ilib"))
-           ;; Install interface headers
-           (copy-recursively "interfaces"
-                             (string-append (assoc-ref outputs "out")
-                                            "/include")))
-         %standard-phases))))
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out")))
+               ;; Override include path for libmagic
+               (substitute* "setup/package.prl"
+                 (("name => 'magic', Include => '/usr/include'")
+                  (string-append "name=> 'magic', Include => '"
+                                 (assoc-ref inputs "libmagic")
+                                 "/include" "'")))
+
+               ;; Install kdf5 library (needed by sra-tools)
+               (substitute* "build/Makefile.install"
+                 (("LIBRARIES_TO_INSTALL =")
+                  "LIBRARIES_TO_INSTALL = kdf5.$(VERSION_LIBX) kdf5.$(VERSION_SHLX)"))
+
+               (substitute* "build/Makefile.env"
+                 (("CFLAGS     =" prefix)
+                  (string-append prefix "-msse2 ")))
+
+               ;; Override search path for ngs-java
+               (substitute* "setup/package.prl"
+                 (("/usr/local/ngs/ngs-java")
+                  (assoc-ref inputs "java-ngs")))
+
+               ;; The 'configure' script doesn't recognize things like
+               ;; '--enable-fast-install'.
+               (zero? (system*
+                       "./configure"
+                       (string-append "--build-prefix=" (getcwd) "/build")
+                       (string-append "--prefix=" (assoc-ref outputs "out"))
+                       (string-append "--debug")
+                       (string-append "--with-xml2-prefix="
+                                      (assoc-ref inputs "libxml2"))
+                       (string-append "--with-ngs-sdk-prefix="
+                                      (assoc-ref inputs "ngs-sdk"))
+                       (string-append "--with-hdf5-prefix="
+                                      (assoc-ref inputs "hdf5")))))))
+         (add-after 'install 'install-interfaces
+           (lambda* (#:key outputs #:allow-other-keys)
+             ;; Install interface libraries.  On i686 the interface libraries
+             ;; are installed to "linux/gcc/i386", so we need to use the Linux
+             ;; architecture name ("i386") instead of the target system prefix
+             ;; ("i686").
+             (mkdir (string-append (assoc-ref outputs "out") "/ilib"))
+             (copy-recursively (string-append "build/ncbi-vdb/linux/gcc/"
+                                              ,(system->linux-architecture
+                                                (or (%current-target-system)
+                                                    (%current-system)))
+                                              "/rel/ilib")
+                               (string-append (assoc-ref outputs "out")
+                                              "/ilib"))
+             ;; Install interface headers
+             (copy-recursively "interfaces"
+                               (string-append (assoc-ref outputs "out")
+                                              "/include"))
+             #t))
+         ;; These files are needed by sra-tools.
+         (add-after 'install 'install-configuration-files
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((target (string-append (assoc-ref outputs "out") "/kfg")))
+               (mkdir target)
+               (install-file "libs/kfg/default.kfg" target)
+               (install-file "libs/kfg/certs.kfg" target))
+             #t)))))
     (inputs
      `(("libxml2" ,libxml2)
        ("ngs-sdk" ,ngs-sdk)
@@ -4698,7 +4747,7 @@ complexity samples.")
      `(("python-nose" ,python-nose)))
     (inputs
      `(("python-bz2file" ,python-bz2file)))
-    (home-page "http://github.com/dib-lab/screed/")
+    (home-page "https://github.com/dib-lab/screed/")
     (synopsis "Short read sequence database utilities")
     (description "Screed parses FASTA and FASTQ files and generates databases.
 Values such as sequence name, sequence description, sequence quality and the
@@ -4711,7 +4760,7 @@ sequence itself can be retrieved from these databases.")
 (define-public sra-tools
   (package
     (name "sra-tools")
-    (version "2.7.0")
+    (version "2.8.2-1")
     (source
      (origin
        (method url-fetch)
@@ -4721,13 +4770,19 @@ sequence itself can be retrieved from these databases.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "13paw7bq6y47d2pl0ac5gpgcqp1xsy1g7v1fwysm3hr8lb2dck17"))))
+         "1camsijmvv2s45mb4iyf44ghl4gkd4rl0viphpcgl3ccchy32a0g"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
        #:tests? #f ; no "check" target
        #:make-flags
-       (list (string-append "VDB_LIBDIR="
+       (list (string-append "DEFAULT_CRT="
+                            (assoc-ref %build-inputs "ncbi-vdb")
+                            "/kfg/certs.kfg")
+             (string-append "DEFAULT_KFG="
+                            (assoc-ref %build-inputs "ncbi-vdb")
+                            "/kfg/default.kfg")
+             (string-append "VDB_LIBDIR="
                             (assoc-ref %build-inputs "ncbi-vdb")
                             ,(if (string-prefix? "x86_64"
                                                  (or (%current-target-system)
@@ -4735,50 +4790,61 @@ sequence itself can be retrieved from these databases.")
                                  "/lib64"
                                  "/lib32")))
        #:phases
-       (alist-replace
-        'configure
-        (lambda* (#:key inputs outputs #:allow-other-keys)
-          ;; The build system expects a directory containing the sources and
-          ;; raw build output of ncbi-vdb, including files that are not
-          ;; installed.  Since we are building against an installed version of
-          ;; ncbi-vdb, the following modifications are needed.
-          (substitute* "setup/konfigure.perl"
-            ;; Make the configure script look for the "ilib" directory of
-            ;; "ncbi-vdb" without first checking for the existence of a
-            ;; matching library in its "lib" directory.
-            (("^            my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);")
-             "my $f = File::Spec->catdir($ilibdir, $ilib);")
-            ;; Look for interface libraries in ncbi-vdb's "ilib" directory.
-            (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);")
-             "my $ilibdir = File::Spec->catdir($dir, 'ilib');"))
-
-          ;; Dynamic linking
-          (substitute* "tools/copycat/Makefile"
-            (("smagic-static") "lmagic"))
-
-          ;; The 'configure' script doesn't recognize things like
-          ;; '--enable-fast-install'.
-          (zero? (system*
-                  "./configure"
-                  (string-append "--build-prefix=" (getcwd) "/build")
-                  (string-append "--prefix=" (assoc-ref outputs "out"))
-                  (string-append "--debug")
-                  (string-append "--with-fuse-prefix="
-                                 (assoc-ref inputs "fuse"))
-                  (string-append "--with-magic-prefix="
-                                 (assoc-ref inputs "libmagic"))
-                  ;; TODO: building with libxml2 fails with linker errors
-                  ;; (string-append "--with-xml2-prefix="
-                  ;;                (assoc-ref inputs "libxml2"))
-                  (string-append "--with-ncbi-vdb-sources="
-                                 (assoc-ref inputs "ncbi-vdb"))
-                  (string-append "--with-ncbi-vdb-build="
-                                 (assoc-ref inputs "ncbi-vdb"))
-                  (string-append "--with-ngs-sdk-prefix="
-                                 (assoc-ref inputs "ngs-sdk"))
-                  (string-append "--with-hdf5-prefix="
-                                 (assoc-ref inputs "hdf5")))))
-        %standard-phases)))
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             ;; The build system expects a directory containing the sources and
+             ;; raw build output of ncbi-vdb, including files that are not
+             ;; installed.  Since we are building against an installed version of
+             ;; ncbi-vdb, the following modifications are needed.
+             (substitute* "setup/konfigure.perl"
+               ;; Make the configure script look for the "ilib" directory of
+               ;; "ncbi-vdb" without first checking for the existence of a
+               ;; matching library in its "lib" directory.
+               (("^            my \\$f = File::Spec->catdir\\(\\$libdir, \\$lib\\);")
+                "my $f = File::Spec->catdir($ilibdir, $ilib);")
+               ;; Look for interface libraries in ncbi-vdb's "ilib" directory.
+               (("my \\$ilibdir = File::Spec->catdir\\(\\$builddir, 'ilib'\\);")
+                "my $ilibdir = File::Spec->catdir($dir, 'ilib');"))
+
+             ;; Dynamic linking
+             (substitute* "tools/copycat/Makefile"
+               (("smagic-static") "lmagic"))
+
+             ;; The 'configure' script doesn't recognize things like
+             ;; '--enable-fast-install'.
+             (zero? (system*
+                     "./configure"
+                     (string-append "--build-prefix=" (getcwd) "/build")
+                     (string-append "--prefix=" (assoc-ref outputs "out"))
+                     (string-append "--debug")
+                     (string-append "--with-fuse-prefix="
+                                    (assoc-ref inputs "fuse"))
+                     (string-append "--with-magic-prefix="
+                                    (assoc-ref inputs "libmagic"))
+                     ;; TODO: building with libxml2 fails with linker errors
+                     ;; (string-append "--with-xml2-prefix="
+                     ;;                (assoc-ref inputs "libxml2"))
+                     (string-append "--with-ncbi-vdb-sources="
+                                    (assoc-ref inputs "ncbi-vdb"))
+                     (string-append "--with-ncbi-vdb-build="
+                                    (assoc-ref inputs "ncbi-vdb"))
+                     (string-append "--with-ngs-sdk-prefix="
+                                    (assoc-ref inputs "ngs-sdk"))
+                     (string-append "--with-hdf5-prefix="
+                                    (assoc-ref inputs "hdf5"))))))
+         ;; This version of sra-tools fails to build with glibc because of a
+         ;; naming conflict.  glibc-2.25/include/bits/mathcalls.h already
+         ;; contains a definition of "canonicalize", so we rename it.
+         ;;
+         ;; See upstream bug report:
+         ;; https://github.com/ncbi/sra-tools/issues/67
+         (add-after 'unpack 'patch-away-glibc-conflict
+           (lambda _
+             (substitute* "tools/bam-loader/bam.c"
+               (("canonicalize\\(" line)
+                (string-append "sra_tools_" line)))
+             #t)))))
     (native-inputs `(("perl" ,perl)))
     (inputs
      `(("ngs-sdk" ,ngs-sdk)
@@ -4869,7 +4935,7 @@ bioinformatics file formats, sequence alignment, and more.")
      `(("python-biopython" ,python2-biopython-1.66)))
     (native-inputs
      `(("python-nose" ,python2-nose)))
-    (home-page "http://github.com/fhcrc/seqmagick")
+    (home-page "https://github.com/fhcrc/seqmagick")
     (synopsis "Tools for converting and modifying sequence files")
     (description
      "Bioinformaticians often have to convert sequence files between formats
@@ -5011,7 +5077,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
 (define-public star
   (package
     (name "star")
-    (version "2.5.2b")
+    (version "2.5.3a")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://github.com/alexdobin/STAR/archive/"
@@ -5019,7 +5085,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1na6np880r1zaamiy00hy8bid5anpy0kgf63587v2yl080krk2zq"))
+                "013wirlz8lllgjyagl48l75n1isxyabqb3sj7qlsl0x1rmvqw99a"))
               (modules '((guix build utils)))
               (snippet
                '(begin
@@ -5170,6 +5236,13 @@ against local background noises.")
                (("#include \"(bam|sam|kstring).h\"" _ header)
                 (string-append "#include <samtools/" header ".h>")))
              #t))
+         (add-after 'unpack 'remove-duplicate-typedef
+           (lambda _
+             ;; This typedef conflicts with the typedef in
+             ;; glibc-2.25/include/bits/types.h
+             (substitute* "gclib/GThreads.h"
+               (("typedef long long __intmax_t;") ""))
+             #t))
          (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((bin (string-append (assoc-ref outputs "out") "/bin/")))
@@ -5283,43 +5356,22 @@ information as possible.")
 (define-public r-vegan
   (package
     (name "r-vegan")
-    (version "2.4-2")
+    (version "2.4-3")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "vegan" version))
        (sha256
         (base32
-         "12wf64izrpq9z3ix7mgm5421mq0xsm8dw5qblvcrz452nfhjf5w9"))))
+         "15zcxfix2d854897k1lr0sfmj2n00339nlsppcr3zrb238lb2mi5"))))
     (build-system r-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'revert-test-deletion
-           ;; The distributed sources do not include tests with the CRAN
-           ;; package.  Here we revert the commit
-           ;; `591d0e8ba1deaaf82445474ec6619c0b43db4e63' which deletes these
-           ;; tests.  There are plans to not delete tests in future as
-           ;; documented at https://github.com/vegandevs/vegan/issues/181.
-           (lambda* (#:key inputs #:allow-other-keys)
-             (zero?
-              (system* "patch" "-R" "-p1" "-i"
-                       (assoc-ref inputs "r-vegan-delete-tests-patch"))))))))
     (native-inputs
      `(("gfortran" ,gfortran)
-       ("r-knitr" ,r-knitr)
-       ("r-vegan-delete-tests-patch"
-        ,(origin
-           (method url-fetch)
-           (uri (string-append
-                 "https://github.com/vegandevs/vegan/commit/"
-                 "591d0e8ba1deaaf82445474ec6619c0b43db4e63.patch"))
-           (sha256
-            (base32
-             "0b1bi7y4jjdl3ph721vm9apm51dr2z9piwvhy4355sf2b4kyyj5a"))))))
+       ("r-knitr" ,r-knitr)))
     (propagated-inputs
      `(("r-cluster" ,r-cluster)
        ("r-lattice" ,r-lattice)
+       ("r-mass" ,r-mass)
        ("r-mgcv" ,r-mgcv)
        ("r-permute" ,r-permute)))
     (home-page "https://cran.r-project.org/web/packages/vegan")
@@ -5354,7 +5406,7 @@ data types as well.")
     (home-page
      "http://bioconductor.org/packages/annotate")
     (synopsis "Annotation for microarrays")
-    (description "This package provides R enviroments for the annotation of
+    (description "This package provides R environments for the annotation of
 microarrays.")
     (license license:artistic2.0)))
 
@@ -5401,7 +5453,8 @@ microarrays.")
      `(("r-annotate" ,r-annotate)
        ("r-annotationdbi" ,r-annotationdbi)
        ("r-biobase" ,r-biobase)
-       ("r-s4vectors" ,r-s4vectors)))
+       ("r-s4vectors" ,r-s4vectors)
+       ("r-survival" ,r-survival)))
     (home-page "http://bioconductor.org/packages/genefilter")
     (synopsis "Filter genes from high-throughput experiments")
     (description
@@ -5422,14 +5475,6 @@ high-throughput sequencing experiments.")
          "1walwkqryn1gnwz7zryr5764a0p6ia7ag4w6w9n8fskg8dkg0fqs"))))
     (properties `((upstream-name . "DESeq2")))
     (build-system r-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'link-against-armadillo
-           (lambda _
-             (substitute* "src/Makevars"
-               (("PKG_LIBS =" prefix)
-                (string-append prefix "-larmadillo"))))))))
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
@@ -5457,14 +5502,14 @@ distribution.")
 (define-public r-annotationforge
   (package
     (name "r-annotationforge")
-    (version "1.16.0")
+    (version "1.16.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "AnnotationForge" version))
        (sha256
         (base32
-         "02msyb9p3hywrryx00zpjkjl126mrv827i1ah1092s0cplm6xxvf"))))
+         "0l1g9hy88sh5g567svyfd8pnjvkyklkn6a3gjn8zalvh62qqjjq1"))))
     (properties
      `((upstream-name . "AnnotationForge")))
     (build-system r-build-system)
@@ -5596,14 +5641,14 @@ testing and other simple calculations.")
 (define-public r-shortread
   (package
     (name "r-shortread")
-    (version "1.32.0")
+    (version "1.32.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ShortRead" version))
        (sha256
         (base32
-         "0mjdlg92x5qw4x2djc4dv5lxwl7ai6ix56nnf86zr07jk8vc7yls"))))
+         "1m7lbfxs7xwcy9xs76zy5rky2mb96anvh457xfw60lh3kygwfpxc"))))
     (properties `((upstream-name . "ShortRead")))
     (build-system r-build-system)
     (inputs
@@ -5699,6 +5744,7 @@ annotation infrastructure.")
        ("r-genomicalignments" ,r-genomicalignments)
        ("r-genomicranges" ,r-genomicranges)
        ("r-iranges" ,r-iranges)
+       ("r-mass" ,r-mass)
        ("r-rtracklayer" ,r-rtracklayer)
        ("r-s4vectors" ,r-s4vectors)))
     (home-page "https://github.com/Kraus-Lab/groHMM")
@@ -5742,7 +5788,7 @@ track.  The database is exposed as a @code{TxDb} object.")
 (define-public vsearch
   (package
     (name "vsearch")
-    (version "2.4.0")
+    (version "2.4.3")
     (source
      (origin
        (method url-fetch)
@@ -5752,7 +5798,7 @@ track.  The database is exposed as a @code{TxDb} object.")
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
         (base32
-         "007q9a50hdw4vs2iajabvbw7qccml4r8cbqzyi5ipkkf42jk3vnr"))
+         "0hc110ycqpa54nr6x173qg7190hk08qp7yz7zzqxlsypqnpc5zzp"))
        (patches (search-patches "vsearch-unbundle-cityhash.patch"))
        (snippet
         '(begin
@@ -5904,7 +5950,7 @@ chr+pos+alt information in a database.")
      "Very fast parallel big-data BLAST XML file parser which can be used as
 command line utility.  Use blastxmlparser to: Parse BLAST XML; filter output;
 generate FASTA, JSON, YAML, RDF, JSON-LD, HTML, CSV, tabular output etc.")
-    (home-page "http://github.com/pjotrp/blastxmlparser")
+    (home-page "https://github.com/pjotrp/blastxmlparser")
     (license license:expat)))
 
 (define-public bioruby
@@ -6066,13 +6112,13 @@ functionality.")
 (define-public r-bioccheck
   (package
     (name "r-bioccheck")
-    (version "1.10.0")
+    (version "1.10.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocCheck" version))
               (sha256
                (base32
-                "1rfy37xg1nc2cmgbclvzsi7sgmdcdjiahsx9crgx3yaw7kxgiack"))))
+                "197kpiycyl3qawm6801fxyxj81d2g57a00qxaqprapsf1d140l52"))))
     (properties
      `((upstream-name . "BiocCheck")))
     (build-system r-build-system)
@@ -6098,11 +6144,10 @@ functionality.")
     (native-inputs
      `(("which" ,which)))
     (propagated-inputs
-     `(("r-graph" ,r-graph)
-       ("r-knitr" ,r-knitr)
+     `(("r-codetools" ,r-codetools)
+       ("r-graph" ,r-graph)
        ("r-httr" ,r-httr)
        ("r-optparse" ,r-optparse)
-       ("r-devtools" ,r-devtools)
        ("r-biocinstaller" ,r-biocinstaller)
        ("r-biocviews" ,r-biocviews)))
     (home-page "http://bioconductor.org/packages/BiocCheck")
@@ -6181,13 +6226,13 @@ abnormal copy number.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.12.1")
+    (version "0.12.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "0i36y3w36h3d8rmazxcrip4gvn54rd9av1wz4lygsprrjmylfhcc"))))
+                "0syx0qgipx97zsp3b8afhzamsr30835a2a99yb9wnq7b50g3v3p1"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -6208,14 +6253,14 @@ S4Vectors package itself.")
 (define-public r-seqinr
   (package
     (name "r-seqinr")
-    (version "3.3-3")
+    (version "3.3-6")
     (source
       (origin
         (method url-fetch)
         (uri (cran-uri "seqinr" version))
         (sha256
           (base32
-            "0rk4yba8km26c0rh1f4h474zsb5n6kjmqsi55bnzr6p8pymp18hj"))))
+            "13d0qxm2244wgdl2dy2s8vnrnf5fx4n47if9gkb49dqx6c0sx8s2"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-ade4" ,r-ade4)
@@ -6233,13 +6278,13 @@ utilities for sequence data management under the ACNUC system.")
 (define-public r-iranges
   (package
     (name "r-iranges")
-    (version "2.8.1")
+    (version "2.8.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "IRanges" version))
               (sha256
                (base32
-                "0cryqnpqb3p6l9jjw27hyqd550sxlljls3ka7b9rb38hkji7b5hw"))))
+                "0x8h74ik3xwdnwrkn89hq5ll0qa1lp9jgzlbmpa02dpws7snfwyr"))))
     (properties
      `((upstream-name . "IRanges")))
     (build-system r-build-system)
@@ -6262,19 +6307,20 @@ possible.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.10.2")
+    (version "1.10.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "0zh894qd1sgpjbn0wfvq6hs2dzn7y1pyicvzk2aa48y3zbidanv7"))))
+                "18g24cf6b3vi13w85ki2mam6i2gl4yxr1zchyga34xc3dkdngzrw"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-biocgenerics" ,r-biocgenerics)
        ("r-iranges" ,r-iranges)
+       ("r-rcurl" ,r-rcurl)
        ("r-s4vectors" ,r-s4vectors)))
     (home-page "http://bioconductor.org/packages/GenomeInfoDb")
     (synopsis "Utilities for manipulating chromosome identifiers")
@@ -6315,13 +6361,13 @@ CAGE.")
 (define-public r-variantannotation
   (package
     (name "r-variantannotation")
-    (version "1.20.2")
+    (version "1.20.3")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "VariantAnnotation" version))
               (sha256
                (base32
-                "165wda1d2jagd907pnra4m3sla66icyqxvd60xpv09jl5agd5mn9"))))
+                "10v8apgfw57nd4dxmdxdrijxpw135jpp2p8wrk3wjpb3hhfjp1qj"))))
     (properties
      `((upstream-name . "VariantAnnotation")))
     (inputs
@@ -6353,13 +6399,13 @@ coding changes and predict coding outcomes.")
 (define-public r-limma
   (package
     (name "r-limma")
-    (version "3.30.7")
+    (version "3.30.13")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "limma" version))
               (sha256
                (base32
-                "1xg9w4lmn9n4hwyflxiwi6g969lcy569cg4z1x47crwwg7z7qdka"))))
+                "1ji8kb19anwq2505zii2kzqlrnk75mk1mpz8vy4s1mckzs1cz4m0"))))
     (build-system r-build-system)
     (home-page "http://bioinf.wehi.edu.au/limma")
     (synopsis "Package for linear models for microarray and RNA-seq data")
@@ -6372,13 +6418,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-xvector
   (package
     (name "r-xvector")
-    (version "0.14.0")
+    (version "0.14.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "XVector" version))
               (sha256
                (base32
-                "09lbqxpqr80g0kw77mpz0p1a8cq706j33kz8194wp71il67cdzi7"))))
+                "1j14ip4c260kdp3zcmgfa2v8ky88csa0gfdg6a1xsb64s03hdbm6"))))
     (properties
      `((upstream-name . "XVector")))
     (build-system r-build-system)
@@ -6408,13 +6454,13 @@ different technologies, including microarrays, RNA-seq, and quantitative PCR.")
 (define-public r-genomicranges
   (package
     (name "r-genomicranges")
-    (version "1.26.2")
+    (version "1.26.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicRanges" version))
               (sha256
                (base32
-                "0if5dswkp77lyqppd0z2iyvnwag9h1gsr03707s8npcx13mzpsia"))))
+                "1789ycqzv20d8p1axkxrhsz9v0ww6w1dk2mfvm85p8j53zd1f67c"))))
     (properties
      `((upstream-name . "GenomicRanges")))
     (build-system r-build-system)
@@ -6459,13 +6505,13 @@ on Bioconductor or which replace R functions.")
 (define-public r-annotationdbi
   (package
     (name "r-annotationdbi")
-    (version "1.36.0")
+    (version "1.36.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "AnnotationDbi" version))
               (sha256
                (base32
-                "0ydrqw1k1j5p6w76bwc753cx545c055x88q87wzya93858synj6r"))))
+                "0574lmyisn3nv9aicz9x3iivx990da4q2j4i0f1jz0mpj9v3vc2w"))))
     (properties
      `((upstream-name . "AnnotationDbi")))
     (build-system r-build-system)
@@ -6516,13 +6562,13 @@ powerful online queries from gene annotation to database mining.")
 (define-public r-biocparallel
   (package
     (name "r-biocparallel")
-    (version "1.8.1")
+    (version "1.8.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "BiocParallel" version))
               (sha256
                (base32
-                "123i928rwi4h4sy4fpysv6pinw5nns0sm3myxi2ghqhm34ws8gyl"))))
+                "18zpa0vl375n9pvxsgbid1k96m17nqqgv1g1sfnlmm7kj34jxg6v"))))
     (properties
      `((upstream-name . "BiocParallel")))
     (build-system r-build-system)
@@ -6566,13 +6612,13 @@ biological sequences or sets of sequences.")
 (define-public r-rsamtools
   (package
     (name "r-rsamtools")
-    (version "1.26.1")
+    (version "1.26.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Rsamtools" version))
               (sha256
                (base32
-                "0pf4f6brf4bl5zgjrah0f38qslazrs49ayqgyh0xfqgrh63yx4ck"))))
+                "118nsajgghi4cy3h0wi7777kc70a5j1fdyxv5n1dy01glix2z4qk"))))
     (properties
      `((upstream-name . "Rsamtools")))
     (build-system r-build-system)
@@ -6626,6 +6672,7 @@ files.")
        ("r-genomeinfodb" ,r-genomeinfodb)
        ("r-genomicranges" ,r-genomicranges)
        ("r-iranges" ,r-iranges)
+       ("r-matrix" ,r-matrix)
        ("r-s4vectors" ,r-s4vectors)))
     (home-page "http://bioconductor.org/packages/SummarizedExperiment")
     (synopsis "Container for representing genomic ranges by sample")
@@ -6639,13 +6686,13 @@ samples.")
 (define-public r-genomicalignments
   (package
     (name "r-genomicalignments")
-    (version "1.10.0")
+    (version "1.10.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicAlignments" version))
               (sha256
                (base32
-                "11vb0a0zd36i4yhg4mfijv787v0nihn6pkjj6q7rfy19gwy61xlc"))))
+                "1dilghbsyf64iz5c0kib2c7if72x7almd5w3ali09a2b2ff2mcjk"))))
     (properties
      `((upstream-name . "GenomicAlignments")))
     (build-system r-build-system)
@@ -6672,13 +6719,13 @@ alignments.")
 (define-public r-rtracklayer
   (package
     (name "r-rtracklayer")
-    (version "1.34.1")
+    (version "1.34.2")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "rtracklayer" version))
               (sha256
                (base32
-                "0x59k2fd0iaqi93gy6bm58p2j2z90z1b7a6w5b4c098y98n096rc"))))
+                "1j3cyvg1wg1d9l0lkcjk3jn7pb96zi17nd1qsa5lglsimja19mpl"))))
     (build-system r-build-system)
     (arguments
      `(#:phases
@@ -6717,13 +6764,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.26.2")
+    (version "1.26.4")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomicFeatures" version))
               (sha256
                (base32
-                "1ybi6r3bax07wlv2qcd34y5qjdvcqcfayfvlrjc39ifrkk65wv4f"))))
+                "1y16lqach0v3ym5zhdhj4r2imfi0kpa0djlb51hj85yf7xkzwdlb"))))
     (properties
      `((upstream-name . "GenomicFeatures")))
     (build-system r-build-system)
@@ -6817,8 +6864,9 @@ information about the latest version of the Gene Ontologies.")
        ("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
        ("r-go-db" ,r-go-db)
-       ("r-matrixstats" ,r-matrixstats)
        ("r-graph" ,r-graph)
+       ("r-lattice" ,r-lattice)
+       ("r-matrixstats" ,r-matrixstats)
        ("r-sparsem" ,r-sparsem)))
     (home-page "http://bioconductor.org/packages/topGO")
     (synopsis "Enrichment analysis for gene ontology")
@@ -7594,9 +7642,9 @@ library implementing most of the pipeline's features.")
                  `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))))
              #t)))))
     (inputs
-     `(("r" ,r)
+     `(("r-minimal" ,r-minimal)
        ("r-rcas" ,r-rcas)
-       ("guile-next" ,guile-next)
+       ("guile-next" ,guile-2.2)
        ("guile-json" ,guile2.2-json)
        ("guile-redis" ,guile2.2-redis)))
     (native-inputs
@@ -8210,7 +8258,8 @@ number detection tools.")
          "1wc1fjm6dzlsqqagm43y57w8jh8nsh0r0m8z1p6ximcb5gxqh7hn"))))
     (build-system r-build-system)
     (propagated-inputs
-     `(("r-genefilter" ,r-genefilter)))
+     `(("r-genefilter" ,r-genefilter)
+       ("r-mgcv" ,r-mgcv)))
     (home-page "http://bioconductor.org/packages/sva")
     (synopsis "Surrogate variable analysis")
     (description
@@ -8226,14 +8275,14 @@ unmodeled, or latent sources of noise.")
 (define-public r-seqminer
   (package
     (name "r-seqminer")
-    (version "5.3")
+    (version "5.7")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "seqminer" version))
        (sha256
         (base32
-         "0y0gc5lws3hdxasjb84m532ics6imb7qg9sl1zy62h503jh4j9gw"))))
+         "0p75wyl70cvp36mwg5y74nv573j1gdqi15ac2a7xf61jmsq7ycpy"))))
     (build-system r-build-system)
     (inputs
      `(("zlib" ,zlib)))
@@ -8262,6 +8311,7 @@ data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.")
     (propagated-inputs
      `(("r-seqminer" ,r-seqminer)
        ("r-mvtnorm" ,r-mvtnorm)
+       ("r-mass" ,r-mass)
        ("r-compquadform" ,r-compquadform)
        ("r-getopt" ,r-getopt)))
     (home-page "http://genome.sph.umich.edu/wiki/RareMETALS2")
@@ -8279,14 +8329,14 @@ trait.")
 (define-public r-maldiquant
   (package
     (name "r-maldiquant")
-    (version "1.16")
+    (version "1.16.2")
     (source
      (origin
        (method url-fetch)
        (uri (cran-uri "MALDIquant" version))
        (sha256
         (base32
-         "067xbmy10mpsvmv77g62chd7wwhdhcfn5hmp5fisbnz2h5rq0q60"))))
+         "0z5srzsfgsgi4bssr4chls4ry6d18y2g9143znqmraylppwrrqzr"))))
     (properties `((upstream-name . "MALDIquant")))
     (build-system r-build-system)
     (home-page "http://cran.r-project.org/web/packages/MALDIquant")
@@ -8420,6 +8470,7 @@ analysis.")
      `(("r-affy" ,r-affy)
        ("r-biobase" ,r-biobase)
        ("r-ggplot2" ,r-ggplot2)
+       ("r-lattice" ,r-lattice)
        ("r-limma" ,r-limma)))
     (home-page "http://bioconductor.org/packages/release/bioc/html/vsn.html")
     (synopsis "Variance stabilization and calibration for microarray data")
@@ -8483,6 +8534,7 @@ specific parser.")
     (propagated-inputs
      `(("r-biobase" ,r-biobase)
        ("r-biocgenerics" ,r-biocgenerics)
+       ("r-mass" ,r-mass)
        ("r-rcpp" ,r-rcpp)))
     (home-page "https://github.com/hredestig/pcamethods")
     (synopsis "Collection of PCA methods")
@@ -8576,6 +8628,85 @@ contains a number of utilities to explore the MS/MS results and assess missed
 and irregular enzymatic cleavages, mass measurement accuracy, etc.")
     (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
+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))))
+
 (define htslib-for-sambamba
   (let ((commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5"))
     (package