gnu: randomjungle: Update homepage and sourc.
[jackhill/guix/guix.git] / gnu / packages / bioinformatics.scm
index aa2ae6c..782af29 100644 (file)
@@ -2716,8 +2716,10 @@ Illumina, Roche 454, and the SOLiD platform.")
                   (string-append "  strcpy(train_dir, \"" share "/train/\");"))))
              #t))
          (replace 'build
-           (lambda _ (and (zero? (system* "make" "clean"))
-                          (zero? (system* "make" "fgs")))))
+           (lambda _
+             (invoke "make" "clean")
+             (invoke "make" "fgs")
+             #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (string-append (assoc-ref outputs "out")))
@@ -2734,21 +2736,24 @@ Illumina, Roche 454, and the SOLiD platform.")
              (let* ((out (string-append (assoc-ref outputs "out")))
                     (bin (string-append out "/bin/"))
                     (frag (string-append bin "run_FragGeneScan.pl")))
-               (and (zero? (system* frag ; Test complete genome.
-                             "-genome=./example/NC_000913.fna"
-                             "-out=./test2"
-                             "-complete=1"
-                             "-train=complete"))
-                    (file-exists? "test2.faa")
-                    (file-exists? "test2.ffn")
-                    (file-exists? "test2.gff")
-                    (file-exists? "test2.out")
-                    (zero? (system* ; Test incomplete sequences.
-                            frag
-                            "-genome=./example/NC_000913-fgs.ffn"
-                            "-out=out"
-                            "-complete=0"
-                            "-train=454_30")))))))))
+               ;; Test complete genome.
+               (invoke frag
+                       "-genome=./example/NC_000913.fna"
+                       "-out=./test2"
+                       "-complete=1"
+                       "-train=complete")
+               (unless (and (file-exists? "test2.faa")
+                            (file-exists? "test2.ffn")
+                            (file-exists? "test2.gff")
+                            (file-exists? "test2.out"))
+                 (error "Expected files do not exist."))
+               ;; Test incomplete sequences.
+               (invoke frag
+                       "-genome=./example/NC_000913-fgs.ffn"
+                       "-out=out"
+                       "-complete=0"
+                       "-train=454_30")
+               #t))))))
     (inputs
      `(("perl" ,perl)
        ("python" ,python-2))) ;not compatible with python 3.
@@ -3471,26 +3476,28 @@ VCF.")
            (lambda* (#:key inputs #:allow-other-keys)
              (mkdir-p "lib/jni")
              (mkdir-p "jdk-src")
-             (and (zero? (system* "tar" "--strip-components=1" "-C" "jdk-src"
-                                  "-xf" (assoc-ref inputs "jdk-src")))
-                  (zero? (system* "javah" "-jni"
-                                  "-classpath" "classes"
-                                  "-d" "lib/"
-                                  "net.sf.samtools.util.zip.IntelDeflater"))
-                  (with-directory-excursion "src/c/inteldeflater"
-                    (zero? (system* "gcc" "-I../../../lib" "-I."
-                                    (string-append "-I" (assoc-ref inputs "jdk")
-                                                   "/include/linux")
-                                    "-I../../../jdk-src/src/share/native/common/"
-                                    "-I../../../jdk-src/src/solaris/native/common/"
-                                    "-c" "-O3" "-fPIC" "IntelDeflater.c"))
-                    (zero? (system* "gcc" "-shared"
-                                    "-o" "../../../lib/jni/libIntelDeflater.so"
-                                    "IntelDeflater.o" "-lz" "-lstdc++"))))))
+             (invoke "tar" "--strip-components=1" "-C" "jdk-src"
+                     "-xf" (assoc-ref inputs "jdk-src"))
+             (invoke "javah" "-jni"
+                     "-classpath" "classes"
+                     "-d" "lib/"
+                     "net.sf.samtools.util.zip.IntelDeflater")
+             (with-directory-excursion "src/c/inteldeflater"
+               (invoke "gcc" "-I../../../lib" "-I."
+                       (string-append "-I" (assoc-ref inputs "jdk")
+                                      "/include/linux")
+                       "-I../../../jdk-src/src/share/native/common/"
+                       "-I../../../jdk-src/src/solaris/native/common/"
+                       "-c" "-O3" "-fPIC" "IntelDeflater.c")
+               (invoke "gcc" "-shared"
+                       "-o" "../../../lib/jni/libIntelDeflater.so"
+                       "IntelDeflater.o" "-lz" "-lstdc++"))
+             #t))
          ;; We can only build everything else after building the JNI library.
          (add-after 'build-jni 'build-rest
            (lambda* (#:key make-flags #:allow-other-keys)
-             (zero? (apply system* `("ant" "all" ,@make-flags)))))
+             (apply invoke `("ant" "all" ,@make-flags))
+             #t))
          (add-before 'build 'set-JAVA6_HOME
            (lambda _
              (setenv "JAVA6_HOME" (getenv "JAVA_HOME"))
@@ -4011,9 +4018,7 @@ sequences).")
                             "src/mash/CommandScreen.cpp")
                (("^#include \"kseq\\.h\"")
                 "#include \"htslib/kseq.h\""))
-             #t))
-         (add-after 'fix-includes 'autoconf
-           (lambda _ (zero? (system* "autoconf")))))))
+             #t)))))
     (native-inputs
      `(("autoconf" ,autoconf)
        ;; Capnproto and htslib are statically embedded in the final
@@ -4231,12 +4236,13 @@ that a read originated from a particular isoform.")
          (delete 'configure)
          (replace 'check
            ;; There are no tests, so just test if it runs.
-           (lambda _ (zero? (system* "./muscle" "-version"))))
+           (lambda _ (invoke "./muscle" "-version") #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (bin (string-append out "/bin")))
-               (install-file "muscle" bin)))))))
+               (install-file "muscle" bin)
+               #t))))))
     (home-page "http://www.drive5.com/muscle")
     (synopsis "Multiple sequence alignment program")
     (description
@@ -4261,11 +4267,6 @@ program for nucleotide and protein sequences.")
                  (base32
                   "1hkw21rq1mwf7xp0rmbb2gqc0i6p11108m69i7mr7xcjl268pxnb"))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autoconf
-           (lambda _ (zero? (system* "autoreconf" "-vif")))))))
     (inputs
      ;; XXX: TODO: Enable Lua and Guile bindings.
      ;; https://github.com/tjunier/newick_utils/issues/13
@@ -4409,8 +4410,7 @@ downstream analysis.")
          (add-after 'unpack 'enter-scripts-dir
            (lambda _ (chdir "scripts")))
          (replace 'check
-           (lambda _
-             (zero? (system* "python" "-m" "unittest" "discover" "-v"))))
+           (lambda _ (invoke "python" "-m" "unittest" "discover" "-v") #t))
          (add-after 'install 'wrap-executables
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -4761,10 +4761,11 @@ partial genes, and identifies translation initiation sites.")
                                            (getenv "PATH")))
              (setenv "PERL5LIB" (string-append (getcwd) "/lib" ":"
                                                (getenv "PERL5LIB")))
-             (zero? (length (filter (lambda (file)
-                                      (display file)(display "\n")
-                                      (not (zero? (system* "perl" file))))
-                                    (find-files "t" ".*\\.t$"))))))
+             (for-each (lambda (file)
+                         (display file)(display "\n")
+                         (invoke "perl" file))
+                       (find-files "t" ".*\\.t$"))
+             #t))
          (replace 'install
            ;; There is no 'install' target in the Makefile.
            (lambda* (#:key outputs #:allow-other-keys)
@@ -5056,21 +5057,24 @@ distribution, coverage uniformity, strand specificity, etc.")
            (modify-phases %standard-phases
              (replace 'bootstrap
                (lambda _
-                 (invoke "bash" "gen_auto")))
+                 (substitute* "gen_tools_am"
+                   (("/usr/bin/env.*") (which "perl")))
+                 (invoke "bash" "gen_auto")
+                 #t))
              (add-after 'build 'build-additional-tools
                (lambda* (#:key make-flags #:allow-other-keys)
-                 (every (lambda (dir)
-                          (with-directory-excursion (string-append "tools/" dir)
-                            (zero? (apply system* "make" make-flags))))
-                        dirs)))
+                 (for-each (lambda (dir)
+                             (with-directory-excursion (string-append "tools/" dir)
+                               (apply invoke "make" make-flags)))
+                           dirs)
+                 #t))
              (add-after 'install 'install-additional-tools
                (lambda* (#:key make-flags #:allow-other-keys)
-                 (fold (lambda (dir result)
-                         (with-directory-excursion (string-append "tools/" dir)
-                           (and result
-                                (zero? (apply system*
-                                              `("make" ,@make-flags "install"))))))
-                       #t dirs)))))))
+                 (for-each (lambda (dir)
+                             (with-directory-excursion (string-append "tools/" dir)
+                               (apply invoke `("make" ,@make-flags "install"))))
+                           dirs)
+                 #t))))))
       (inputs
        `(("gsl" ,gsl)
          ("boost" ,boost)
@@ -5236,7 +5240,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
 (define-public ngs-sdk
   (package
     (name "ngs-sdk")
-    (version "1.3.0")
+    (version "2.9.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -5245,7 +5249,7 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1l8p81azb9p6nsdfai0hvyai33z6nsgy7hj30arh9b5kb6m443dx"))))
+                "17c0v1nah3g3d2ib5bbi0vhma1ghd6vb9xycavqsh64lhp840rk3"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
@@ -5261,9 +5265,10 @@ Roche 454, Ion Torrent and Pacific BioSciences SMRT.")
 
                ;; The 'configure' script doesn't recognize things like
                ;; '--enable-fast-install'.
-               (zero? (system* "./configure"
-                               (string-append "--build-prefix=" (getcwd) "/build")
-                               (string-append "--prefix=" out))))))
+               (invoke "./configure"
+                       (string-append "--build-prefix=" (getcwd) "/build")
+                       (string-append "--prefix=" out))
+               #t)))
          (add-after 'unpack 'enter-dir
            (lambda _ (chdir "ngs-sdk") #t)))))
     (native-inputs `(("perl" ,perl)))
@@ -5301,7 +5306,7 @@ simultaneously.")
 (define-public ncbi-vdb
   (package
     (name "ncbi-vdb")
-    (version "2.8.2")
+    (version "2.9.3")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -5310,7 +5315,7 @@ simultaneously.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1ssy5wlqdm86pmbv9mfdjx518lbsk32wfv2qgr7m1z77kaicw7zq"))))
+                "1l4ny67nxwv1lagk9wwjbrgm7ln7adci6dnpc7k1yaln6shj0qpm"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
@@ -5467,12 +5472,13 @@ subsequent visualization, annotation and storage of results.")
     (version "1.90b4")
     (source
      (origin
-       (method url-fetch)
-       (uri (string-append "https://github.com/chrchang/plink-ng/archive/v"
-                           version ".tar.gz"))
-       (file-name (string-append name "-" version ".tar.gz"))
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/chrchang/plink-ng.git")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
        (sha256
-        (base32 "09ixrds009aczjswxr2alcb774mksq5g0v78dgjjn1h4dky0kf9a"))))
+        (base32 "02npdwgkpfkdnhw819rhj5kw02a5k5m90b14zq9zzya4hyg929c0"))))
     (build-system gnu-build-system)
     (arguments
      '(#:tests? #f ;no "check" target
@@ -5651,7 +5657,7 @@ sequence itself can be retrieved from these databases.")
 (define-public sra-tools
   (package
     (name "sra-tools")
-    (version "2.8.2-1")
+    (version "2.9.3")
     (source
      (origin
        (method git-fetch)
@@ -5661,7 +5667,7 @@ sequence itself can be retrieved from these databases.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "12ln0pk8yajhmmj9xsfwa1qgv5m05ji40jsg17wdcls62zz6fwrk"))))
+         "0663gcdxkziwsmlznjxysb00621rllpbz6jwsfifq7z3dj3lwm8b"))))
     (build-system gnu-build-system)
     (arguments
      `(#:parallel-build? #f ; not supported
@@ -5711,8 +5717,7 @@ sequence itself can be retrieved from these databases.")
 
              ;; The 'configure' script doesn't recognize things like
              ;; '--enable-fast-install'.
-             (zero? (system*
-                     "./configure"
+             (invoke "./configure"
                      (string-append "--build-prefix=" (getcwd) "/build")
                      (string-append "--prefix=" (assoc-ref outputs "out"))
                      (string-append "--debug")
@@ -5730,18 +5735,7 @@ sequence itself can be retrieved from these databases.")
                      (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)))
+                                    (assoc-ref inputs "hdf5")))
              #t)))))
     (native-inputs `(("perl" ,perl)))
     (inputs
@@ -6201,8 +6195,7 @@ Cuffdiff or Ballgown programs.")
        #:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _
-             (zero? (system* "python" "-m" "unittest" "discover" "-v")))))))
+           (lambda _ (invoke "python" "-m" "unittest" "discover" "-v") #t)))))
     (propagated-inputs
      `(("python-sqlalchemy" ,python2-sqlalchemy)
        ("python-decorator" ,python2-decorator)
@@ -6835,7 +6828,7 @@ SELECT or UPDATE queries to an end-point.")
 (define-public vsearch
   (package
     (name "vsearch")
-    (version "2.8.0")
+    (version "2.9.1")
     (source
      (origin
        (method git-fetch)
@@ -6845,7 +6838,7 @@ SELECT or UPDATE queries to an end-point.")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "0lrw6n75gmqkxl053yi2pwwvnzwf1r79ypzxgv6m0kw6df5fwv6r"))
+         "0vhrpjfdf75ba04b24xknp41790cvcgwl0vgpy7qbzj5xh2521ss"))
        (patches (search-patches "vsearch-unbundle-cityhash.patch"))
        (snippet
         '(begin
@@ -6856,11 +6849,6 @@ SELECT or UPDATE queries to an end-point.")
            (delete-file "src/city.cc")
            #t))))
     (build-system gnu-build-system)
-    (arguments
-     `(#:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'autogen
-           (lambda _ (zero? (system* "autoreconf" "-vif")))))))
     (inputs
      `(("zlib" ,zlib)
        ("bzip2" ,bzip2)
@@ -7111,13 +7099,13 @@ Bioconductor, CRAN, and Github.")
 (define-public r-biocviews
   (package
     (name "r-biocviews")
-    (version "1.50.1")
+    (version "1.50.5")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "biocViews" version))
               (sha256
                (base32
-                "0hjm3r58i0r9qhyar9pk250cx7sfijg0lnvi12a9s6brmmbip1a3"))))
+                "0rc1n89n04ylvy9gvsgvizcs77bh70jg1nkjjsjs7rqbr3zzdysz"))))
     (properties
      `((upstream-name . "biocViews")))
     (build-system r-build-system)
@@ -7280,13 +7268,13 @@ abnormal copy number.")
 (define-public r-s4vectors
   (package
     (name "r-s4vectors")
-    (version "0.20.0")
+    (version "0.20.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "S4Vectors" version))
               (sha256
                (base32
-                "0qgiykjhnsvvpcp3zwmrnpx3bv3msvj0szchyvb1yb0fxw716xc5"))))
+                "18whrw67nxn82xshckl2pjy7d14sa3c27h3n9naqyqwz88lr6dzg"))))
     (properties
      `((upstream-name . "S4Vectors")))
     (build-system r-build-system)
@@ -7361,7 +7349,7 @@ possible.")
 (define-public r-genomeinfodbdata
   (package
     (name "r-genomeinfodbdata")
-    (version "1.1.0")
+    (version "1.2.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -7371,7 +7359,7 @@ possible.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0k1hsjx6n2i1sf14hyrgdhxqxm5mxk0bgnivhiax944whcicmzbf"))))
+                "0di6nlqpsyqf693k2na65ayqldih563x3zfrczpqc5q2hl5kg35c"))))
     (properties
      `((upstream-name . "GenomeInfoDbData")))
     (build-system r-build-system)
@@ -7384,13 +7372,13 @@ ID and species.  It is used by functions in the GenomeInfoDb package.")
 (define-public r-genomeinfodb
   (package
     (name "r-genomeinfodb")
-    (version "1.18.0")
+    (version "1.18.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "GenomeInfoDb" version))
               (sha256
                (base32
-                "1xqpgngd8by0yn627v9kz26a03v5a1lhcfwlnx2i0ivplk9bd40s"))))
+                "049pyzr8iszv3g7wdqf3pz7vg7bzd450c20ln6fgw4g5xnkkr10s"))))
     (properties
      `((upstream-name . "GenomeInfoDb")))
     (build-system r-build-system)
@@ -7669,13 +7657,13 @@ objects.")
 (define-public r-biostrings
   (package
     (name "r-biostrings")
-    (version "2.50.0")
+    (version "2.50.1")
     (source (origin
               (method url-fetch)
               (uri (bioconductor-uri "Biostrings" version))
               (sha256
                (base32
-                "0zw0dj67fnpbz4iqnam5fxs92c1c8w8d7mzl0rkq4ksx0xl8vgg7"))))
+                "1qyv1ps7vy6gy78pm2rcikg0bgf1mv7falahjp3pkwqq1272hrl8"))))
     (properties
      `((upstream-name . "Biostrings")))
     (build-system r-build-system)
@@ -7922,7 +7910,7 @@ extracting the desired features in a convenient format.")
 (define-public r-go-db
   (package
     (name "r-go-db")
-    (version "3.6.0")
+    (version "3.7.0")
     (source (origin
               (method url-fetch)
               (uri (string-append "https://www.bioconductor.org/packages/"
@@ -7930,7 +7918,7 @@ extracting the desired features in a convenient format.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "0fi2qywr9apg5lwfqfq9qq6bgrnv4rdhxx25656qn4bsy62i838j"))))
+                "0i3wcf5h3n0dawzc1hy0kv74f06j80c47n4p3g3fmrcxlhi3jpa5"))))
     (properties
      `((upstream-name . "GO.db")))
     (build-system r-build-system)
@@ -8133,7 +8121,7 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
 (define-public r-genomationdata
   (package
     (name "r-genomationdata")
-    (version "1.10.0")
+    (version "1.14.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8143,7 +8131,7 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
                                   "genomationData_" version ".tar.gz"))
               (sha256
                (base32
-                "0h7g5x3kyb50qlblz5hc85lfm6n6f5nb68i146way3ggs04sqvla"))))
+                "10xyb8akjrhmak2i0mnv1agny2ipy364q9nlibyplpzc7vdb6bw7"))))
     (build-system r-build-system)
     ;; As this package provides little more than large data files, it doesn't
     ;; make sense to build substitutes.
@@ -8161,7 +8149,7 @@ downloaded from Encode.")
 (define-public r-org-hs-eg-db
   (package
     (name "r-org-hs-eg-db")
-    (version "3.5.0")
+    (version "3.7.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8171,7 +8159,7 @@ downloaded from Encode.")
                                   "org.Hs.eg.db_" version ".tar.gz"))
               (sha256
                (base32
-                "1v6wa5613cjq59xd7x1qz8lr9nb2abm9abl2cci1khrnrlpla927"))))
+                "1qxz9l80yg3qdqszs6dsscp7lrpfi1bgd0pxh9j7q34vprzwhdim"))))
     (properties
      `((upstream-name . "org.Hs.eg.db")))
     (build-system r-build-system)
@@ -8187,7 +8175,7 @@ on mapping using Entrez Gene identifiers.")
 (define-public r-org-ce-eg-db
   (package
     (name "r-org-ce-eg-db")
-    (version "3.5.0")
+    (version "3.7.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8197,7 +8185,7 @@ on mapping using Entrez Gene identifiers.")
                                   "org.Ce.eg.db_" version ".tar.gz"))
               (sha256
                (base32
-                "02ggchixlmzywhsbr0h2ms4dravv7m5964cjxqcjxqs16vjwlbk9"))))
+                "1w5br1ss4ha8wv4v2saj7cmbjc2jw0dyj2f2y269l078z31wcnaz"))))
     (properties
      `((upstream-name . "org.Ce.eg.db")))
     (build-system r-build-system)
@@ -8213,7 +8201,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.")
 (define-public r-org-dm-eg-db
   (package
     (name "r-org-dm-eg-db")
-    (version "3.5.0")
+    (version "3.7.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8223,7 +8211,7 @@ annotations for the genome of the model worm Caenorhabditis elegans.")
                                   "org.Dm.eg.db_" version ".tar.gz"))
               (sha256
                (base32
-                "033qak1d3wwz17va0bh8z8p8arx0aw2va6gm1qfwsvdkj9cd9d7d"))))
+                "1pqjrzlyg72bjpy8zsxvaglc7jsv176bnyi87xdajmkvsgxpm7b3"))))
     (properties
      `((upstream-name . "org.Dm.eg.db")))
     (build-system r-build-system)
@@ -8239,7 +8227,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
 (define-public r-org-mm-eg-db
   (package
     (name "r-org-mm-eg-db")
-    (version "3.5.0")
+    (version "3.7.0")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8249,7 +8237,7 @@ annotations for the genome of the model fruit fly Drosophila melanogaster.")
                                   "org.Mm.eg.db_" version ".tar.gz"))
               (sha256
                (base32
-                "11q21p3ki4bn4hb3aix0g775l45l66jmas6m94nfhqqnpjhv4d6g"))))
+                "1i3nvrd3wjigf1rmgxq1p5xxc3p8v02h5gwi62s30rkrsyjjfjxx"))))
     (properties
      `((upstream-name . "org.Mm.eg.db")))
     (build-system r-build-system)
@@ -8380,7 +8368,7 @@ in Biostrings objects.")
 (define-public r-txdb-mmusculus-ucsc-mm10-knowngene
   (package
     (name "r-txdb-mmusculus-ucsc-mm10-knowngene")
-    (version "3.4.0")
+    (version "3.4.4")
     (source (origin
               (method url-fetch)
               ;; We cannot use bioconductor-uri here because this tarball is
@@ -8391,7 +8379,7 @@ in Biostrings objects.")
                                   version ".tar.gz"))
               (sha256
                (base32
-                "08gava9wsvpcqz51k2sni3pj03n5155v32d9riqbf305nbirqbkb"))))
+                "01lgxc1fx5nhlpbwjd5zqghkkbmh6axd98ikx4b0spv0jdg6gf39"))))
     (properties
      `((upstream-name . "TxDb.Mmusculus.UCSC.mm10.knownGene")))
     (build-system r-build-system)
@@ -9039,7 +9027,7 @@ AM_CONDITIONAL(AMPNG, true)"))
                (("\\$\\(bindir\\)/embossupdate") ""))
              #t))
          (add-after 'disable-update-check 'autogen
-           (lambda _ (zero? (system* "autoreconf" "-vif")))))))
+           (lambda _ (invoke "autoreconf" "-vif") #t)))))
     (inputs
      `(("perl" ,perl)
        ("libpng" ,libpng)
@@ -9752,14 +9740,14 @@ structure (pcaRes) to provide a common interface to the PCA results.")
 (define-public r-msnbase
   (package
     (name "r-msnbase")
-    (version "2.8.0")
+    (version "2.8.1")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "MSnbase" version))
        (sha256
         (base32
-         "0nnlydpklmv9kwlk3gkjgabx7l6y4gav3imq98w8wskb1fhm50c0"))))
+         "0y658anh06vnvbkfs7r8q40gqgyqr2r8kj7jlpnp33fy1lvp1nv7"))))
     (properties `((upstream-name . "MSnbase")))
     (build-system r-build-system)
     (propagated-inputs
@@ -10227,14 +10215,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
 (define-public r-ensembldb
   (package
     (name "r-ensembldb")
-    (version "2.6.0")
+    (version "2.6.2")
     (source
      (origin
        (method url-fetch)
        (uri (bioconductor-uri "ensembldb" version))
        (sha256
         (base32
-         "12jqz9h6w4mxyfr43w5qbwmacn512aw0mnl0zvhsg5i7p4qj45ks"))))
+         "0hdz1f34v7sas2v4225icwl3wd4sf17ykpd5dkbx1hc7wcy4w3np"))))
     (build-system r-build-system)
     (propagated-inputs
      `(("r-annotationdbi" ,r-annotationdbi)
@@ -11170,7 +11158,7 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
 (define-public sambamba
   (package
     (name "sambamba")
-    (version "0.6.7-10-g223fa20")
+    (version "0.6.8")
     (source
      (origin
        (method git-fetch)
@@ -11180,7 +11168,7 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
        (file-name (string-append name "-" version "-checkout"))
        (sha256
         (base32
-         "1zb9hrxglxqh13ava9wwri30cvf85hjnbn8ccnr8l60a3k5avczn"))))
+         "0k0cz3qcv98p6cq09zlbgnjsggxcqbcmzxg5zikgcgbr2nfq4lry"))))
     (build-system gnu-build-system)
     (arguments
      `(#:tests? #f                      ; there is no test target
@@ -11191,9 +11179,10 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
          (add-after 'unpack 'fix-ldc-version
            (lambda _
              (substitute* "gen_ldc_version_info.py"
-               (("/usr/bin/env.*") (which "python")))
+               (("/usr/bin/env.*") (which "python3")))
              (substitute* "Makefile"
-               (("\\$\\(shell which ldmd2\\)") (which "ldmd2")))
+               ;; We use ldc2 instead of ldmd2 to compile sambamba.
+               (("\\$\\(shell which ldmd2\\)") (which "ldc2")))
              #t))
          (add-after 'unpack 'place-biod-and-undead
            (lambda* (#:key inputs #:allow-other-keys)
@@ -11205,21 +11194,21 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
              (substitute* "Makefile"
                (("htslib/libhts.a lz4/lib/liblz4.a")
                 "-L-lhts -L-llz4")
-               ((" htslib-static lz4-static") ""))
+               ((" lz4-static htslib-static") ""))
              #t))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out   (assoc-ref outputs "out"))
                     (bin   (string-append out "/bin")))
                (mkdir-p bin)
-               (install-file "build/sambamba" bin)
+               (install-file "bin/sambamba" bin)
                #t))))))
     (native-inputs
      `(("ldc" ,ldc)
        ("rdmd" ,rdmd)
-       ("python" ,python2-minimal)
+       ("python" ,python-minimal)
        ("biod"
-        ,(let ((commit "c778e4f2d8bacea7499283ce39f5577b232732c6"))
+        ,(let ((commit "4f1a7d2fb7ef3dfe962aa357d672f354ebfbe42e"))
            (origin
              (method git-fetch)
              (uri (git-reference
@@ -11230,20 +11219,20 @@ droplet sequencing.  It has been particularly tailored for Drop-seq.")
                                        "-checkout"))
              (sha256
               (base32
-               "1z90562hg47i63gx042wb3ak2vqjg5z7hwgn9bp2pdxfg3nxrw37")))))
+               "1k5pdjv1qvi0a3rwd1sfq6zbj37l86i7bf710m4c0y6737lxj426")))))
        ("undead"
-        ,(let ((commit "92803d25c88657e945511f0976a0c79d8da46e89"))
+        ,(let ((commit "9be93876982b5f14fcca60832563b3cd767dd84d"))
            (origin
              (method git-fetch)
              (uri (git-reference
-                   (url "https://github.com/dlang/undeaD.git")
+                   (url "https://github.com/biod/undeaD.git")
                    (commit commit)))
              (file-name (string-append "undead-"
                                        (string-take commit 9)
                                        "-checkout"))
              (sha256
               (base32
-               "0vq6n81vzqvgphjw54lz2isc1j8lcxwjdbrhqz1h5gwrvw9w5138")))))))
+               "1xfarj0nqlmi5jd1vmcmm7pabzaf9hxyvk6hp0d6jslb5k9r8r3d")))))))
     (inputs
      `(("lz4" ,lz4)
        ("htslib" ,htslib-for-sambamba)))
@@ -12029,10 +12018,10 @@ bytes of memory space, where n is the length of the string.")
                    (include "external/install/include/rapmap/")
                    (rapmap (assoc-ref inputs "rapmap")))
                (mkdir-p "/tmp/rapmap")
-               (system* "tar" "xf"
-                        (assoc-ref inputs "rapmap")
-                        "-C" "/tmp/rapmap"
-                        "--strip-components=1")
+               (invoke "tar" "xf"
+                       (assoc-ref inputs "rapmap")
+                       "-C" "/tmp/rapmap"
+                       "--strip-components=1")
                (mkdir-p src)
                (mkdir-p include)
                (for-each (lambda (file)
@@ -14130,6 +14119,85 @@ enrichment analysis (GSEA) calculation with or without the absolute filtering.
 absolute GSEA.")
     (license license:gpl2)))
 
+(define-public jamm
+  (package
+    (name "jamm")
+    (version "1.0.7.5")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mahmoudibrahim/JAMM.git")
+             (commit (string-append "JAMMv" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0ls889jcma1ch9h21jjhnkadgszgqj41842hhcjh6cg88f85qf3i"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; there are none
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (replace 'build
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (substitute* "JAMM.sh"
+               (("^sPath=.*")
+                (string-append "")))
+             #t))
+         (replace 'install
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (libexec (string-append out "/libexec/jamm"))
+                    (bin (string-append out "/bin")))
+               (substitute* '("JAMM.sh"
+                              "SignalGenerator.sh")
+                 (("^sPath=.*")
+                  (string-append "sPath=\"" libexec "\"\n")))
+               (for-each (lambda (file)
+                           (install-file file libexec))
+                         (list "bincalculator.r"
+                               "peakfinder.r"
+                               "peakhelper.r"
+                               "signalmaker.r"
+                               "xcorr.r"
+                               "xcorrhelper.r"
+                               ;; Perl scripts
+                               "peakfilter.pl"
+                               "readshifter.pl"))
+
+               (for-each
+                (lambda (script)
+                  (chmod script #o555)
+                  (install-file script bin)
+                  (wrap-program (string-append bin "/" script)
+                    `("PATH" ":" prefix
+                      (,(string-append (assoc-ref inputs "coreutils") "/bin")
+                       ,(string-append (assoc-ref inputs "gawk") "/bin")
+                       ,(string-append (assoc-ref inputs "perl") "/bin")
+                       ,(string-append (assoc-ref inputs "r-minimal") "/bin")))
+                    `("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))
+                    `("R_LIBS_SITE" ":" prefix (,(getenv "R_LIBS_SITE")))))
+                (list "JAMM.sh" "SignalGenerator.sh")))
+             #t)))))
+    (inputs
+     `(("bash" ,bash)
+       ("coreutils" ,coreutils)
+       ("gawk" ,gawk)
+       ("perl" ,perl)
+       ("r-minimal" ,r-minimal)
+       ;;("r-parallel" ,r-parallel)
+       ("r-signal" ,r-signal)
+       ("r-mclust" ,r-mclust)))
+    (home-page "https://github.com/mahmoudibrahim/JAMM")
+    (synopsis "Peak finder for NGS datasets")
+    (description
+     "JAMM is a peak finder for next generation sequencing datasets (ChIP-Seq,
+ATAC-Seq, DNase-Seq, etc.) that can integrate replicates and assign peak
+boundaries accurately.  JAMM is applicable to both broad and narrow
+datasets.")
+    (license license:gpl3+)))
+
 (define-public ngless
   (package
     (name "ngless")
@@ -14294,3 +14362,77 @@ both read length (longer is better) and read identity (higher is better) when
 choosing which reads pass the filter.")
       (license (list license:gpl3       ;filtlong
                      license:asl2.0))))) ;histogram.py
+
+(define-public nanopolish
+  ;; The recommended way to install is to clone the git repository
+  ;; <https://github.com/jts/nanopolish#installing-a-particular-release>.
+  ;; Also, the differences between release and current version seem to be
+  ;; significant.
+  (let ((commit "50e8b5cc62f9b46f5445f5c5e8c5ab7263ea6d9d")
+        (revision "1"))
+    (package
+      (name "nanopolish")
+      (version (git-version "0.10.2" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/jts/nanopolish.git")
+               (commit commit)
+               (recursive? #t)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "09j5gz57yr9i34a27vbl72i4g8syv2zzgmsfyjq02yshmnrvkjs6"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags
+         `("HDF5=noinstall" "EIGEN=noinstall" "HTS=noinstall" "CC=gcc")
+         #:tests? #f                    ; no check target
+         #:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'find-eigen
+             (lambda* (#:key inputs #:allow-other-keys)
+               (setenv "CPATH"
+                       (string-append (assoc-ref inputs "eigen")
+                                      "/include/eigen3"))
+               #t))
+           (delete 'configure)
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out"))
+                      (bin (string-append out "/bin"))
+                      (scripts (string-append out "/share/nanopolish/scripts")))
+
+                 (install-file "nanopolish" bin)
+                 (for-each (lambda (file) (install-file file scripts))
+                           (find-files "scripts" ".*"))
+                 #t)))
+           (add-after 'install 'wrap-programs
+             (lambda* (#:key outputs #:allow-other-keys)
+               (for-each (lambda (file)
+                           (wrap-program file `("PYTHONPATH" ":" prefix (,path))))
+                         (find-files "/share/nanopolish/scripts" "\\.py"))
+               (for-each (lambda (file)
+                           (wrap-program file `("PERL5LIB" ":" prefix (,path))))
+                         (find-files  "/share/nanopolish/scripts" "\\.pl"))
+               #t)))))
+      (inputs
+       `(("eigen" ,eigen)
+         ("hdf5" ,hdf5)
+         ("htslib" ,htslib)
+         ("perl" ,perl)
+         ("python" ,python)
+         ("python-biopython" ,python-biopython)
+         ("python-numpy" ,python-numpy)
+         ("python-pysam" ,python-pysam)
+         ("python-scikit-learn" , python-scikit-learn)
+         ("python-scipy" ,python-scipy)
+         ("zlib" ,zlib)))
+      (home-page "https://github.com/jts/nanopolish")
+      (synopsis "Signal-level analysis of Oxford Nanopore sequencing data")
+      (description
+       "This package analyses the Oxford Nanopore sequencing data at signal-level.
+Nanopolish can calculate an improved consensus sequence for a draft genome
+assembly, detect base modifications, call SNPs (Single nucleotide
+polymorphisms) and indels with respect to a reference genome and more.")
+      (license license:expat))))