summaryrefslogtreecommitdiff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm163
1 files changed, 139 insertions, 24 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index d91ff13b46..7b41c06bf6 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -21,6 +21,7 @@
;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com>
;;; Copyright © 2021 Tim Howes <timhowes@lavabit.com>
;;; Copyright © 2021 Hong Li <hli@mdc-berlin.de>
+;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
@@ -106,7 +107,6 @@
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages linux)
- #:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages logging)
#:use-module (gnu packages lsof)
#:use-module (gnu packages machine-learning)
@@ -148,6 +148,7 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages uglifyjs)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
@@ -2323,7 +2324,13 @@ databases.")
(let ((out (assoc-ref outputs "out")))
(for-each make-file-writable
(find-files out "\\.gz$"))
- #t))))))
+ #t)))
+ (add-after 'unpack 'disable-nondeterministic-test
+ (lambda _
+ ;; This test fails/succeeds non-deterministically.
+ (substitute* "clipper/test/test_call_peak.py"
+ (("test_get_FDR_cutoff_mean") "_test_get_FDR_cutoff_mean"))
+ #t)))))
(inputs
`(("htseq" ,htseq)
("python-pybedtools" ,python-pybedtools)
@@ -7351,6 +7358,39 @@ sequence.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:bsd-3)))
+(define-public r-presto
+ (let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad")
+ (revision "0"))
+ (package
+ (name "r-presto")
+ (version (git-version "1.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/immunogenomics/presto")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1c3fmag4r4p2lvbvxlxyck9dvfw1prbwcl9665mmlx4a35750hk8"))))
+ (properties `((upstream . "presto")))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-data-table" ,r-data-table)
+ ("r-deseq2" ,r-deseq2)
+ ("r-dplyr" ,r-dplyr)
+ ("r-matrix" ,r-matrix)
+ ("r-rcpp" ,r-rcpp)
+ ("r-rcpparmadillo" ,r-rcpparmadillo)
+ ("r-reshape2" ,r-reshape2)
+ ("r-rlang" ,r-rlang)
+ ("r-tidyr" ,r-tidyr)))
+ (home-page "https://github.com/immunogenomics/presto")
+ (synopsis "Fast Functions for Differential Expression using Wilcox and AUC")
+ (description "This package performs a fast Wilcoxon rank sum test and
+auROC analysis.")
+ (license license:gpl3))))
+
(define-public r-snapatac
(package
(name "r-snapatac")
@@ -9221,7 +9261,7 @@ Browser.")
(lambda* (#:key inputs #:allow-other-keys)
(let* ((file (assoc-ref inputs "plotly.js"))
(installed "plotly/plotly.js"))
- (let ((minified (open-pipe* OPEN_READ "uglify-js" file)))
+ (let ((minified (open-pipe* OPEN_READ "uglifyjs" file)))
(call-with-output-file installed
(cut dump-port minified <>))))
#t))
@@ -9279,7 +9319,7 @@ Browser.")
"v1.39.4/dist/plotly.js"))
(sha256
(base32 "138mwsr4nf5qif4mrxx286mpnagxd1xwl6k8aidrjgknaqg88zyr"))))
- ("uglify-js" ,uglify-js)))
+ ("uglifyjs" ,node-uglify-js)))
(home-page "https://www.bioinformatics.babraham.ac.uk/projects/bismark/")
(synopsis "Map bisulfite treated sequence reads and analyze methylation")
(description "Bismark is a program to map bisulfite treated sequencing
@@ -10389,7 +10429,8 @@ once. This package provides tools to perform Drop-seq analyses.")
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
- "1ja3bda1appxrzbfy7wp7khy30mm7lic8xbq3gkbpc5bld3as9cm"))))
+ "1ja3bda1appxrzbfy7wp7khy30mm7lic8xbq3gkbpc5bld3as9cm"))
+ (patches (search-patches "pigx-rnaseq-no-citeproc.patch"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@@ -10402,6 +10443,9 @@ once. This package provides tools to perform Drop-seq analyses.")
(substitute* "Makefile.in"
(("^ tests/test_multiqc/test.sh") "")
(("^ test.sh") ""))))
+ (add-before 'bootstrap 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vif")))
(add-before 'check 'set-timezone
;; The readr package is picky about timezones.
(lambda* (#:key inputs #:allow-other-keys)
@@ -10441,12 +10485,13 @@ once. This package provides tools to perform Drop-seq analyses.")
("r-rjson" ,r-rjson)
("salmon" ,salmon)
("pandoc" ,pandoc)
- ("pandoc-citeproc" ,pandoc-citeproc)
("python-wrapper" ,python-wrapper)
("python-deeptools" ,python-deeptools)
("python-pyyaml" ,python-pyyaml)))
(native-inputs
- `(("tzdata" ,tzdata)))
+ `(("tzdata" ,tzdata)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Analysis pipeline for RNA sequencing experiments")
(description "PiGX RNAseq is an analysis pipeline for preprocessing and
@@ -10460,7 +10505,7 @@ expression report comparing samples in an easily configurable manner.")
(define-public pigx-chipseq
(package
(name "pigx-chipseq")
- (version "0.0.52")
+ (version "0.0.53")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@@ -10468,10 +10513,16 @@ expression report comparing samples in an easily configurable manner.")
"/pigx_chipseq-" version ".tar.gz"))
(sha256
(base32
- "097cvc8kr3r1nq0sgjpirzmixwjl074qp4qq3sx4ngfqi06af6r9"))))
+ "0c6npx35sszycf059w1x1k4k9hq1qqxny0i4p57q1188czr4561h"))
+ (patches (search-patches "pigx-chipseq-no-citeproc.patch"))))
(build-system gnu-build-system)
- ;; parts of the tests rely on access to the network
- (arguments '(#:tests? #f))
+ (arguments
+ `(#:tests? #f ; parts of the tests rely on access to the network
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
(inputs
`(("grep" ,grep)
("coreutils" ,coreutils)
@@ -10492,6 +10543,7 @@ expression report comparing samples in an easily configurable manner.")
("r-ggrepel" ,r-ggrepel)
("r-gprofiler2" ,r-gprofiler2)
("r-heatmaply" ,r-heatmaply)
+ ("r-hexbin" ,r-hexbin)
("r-htmlwidgets" ,r-htmlwidgets)
("r-jsonlite" ,r-jsonlite)
("r-pheatmap" ,r-pheatmap)
@@ -10513,7 +10565,6 @@ expression report comparing samples in an easily configurable manner.")
("multiqc" ,multiqc)
("perl" ,perl)
("pandoc" ,pandoc)
- ("pandoc-citeproc" ,pandoc-citeproc)
("fastqc" ,fastqc)
("bowtie" ,bowtie)
("idr" ,idr)
@@ -10522,7 +10573,9 @@ expression report comparing samples in an easily configurable manner.")
("bedtools" ,bedtools)
("kentutils" ,kentutils)))
(native-inputs
- `(("python-pytest" ,python-pytest)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("python-pytest" ,python-pytest)))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Analysis pipeline for ChIP sequencing experiments")
(description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak
@@ -10545,7 +10598,8 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
- "05al5dacfp1vf1x3cq20jhd6w4xj5vaxslzaka6yrpg0av8sh3k3"))))
+ "05al5dacfp1vf1x3cq20jhd6w4xj5vaxslzaka6yrpg0av8sh3k3"))
+ (patches (search-patches "pigx-bsseq-no-citeproc.patch"))))
(build-system gnu-build-system)
(arguments
`(;; TODO: tests currently require 12+GB of RAM. See
@@ -10553,6 +10607,9 @@ in an easily configurable manner.")
#:tests? #f
#:phases
(modify-phases %standard-phases
+ (add-before 'bootstrap 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vif")))
(add-before 'check 'set-timezone
;; The readr package is picky about timezones.
(lambda* (#:key inputs #:allow-other-keys)
@@ -10561,7 +10618,9 @@ in an easily configurable manner.")
(search-input-directory inputs
"share/zoneinfo")))))))
(native-inputs
- `(("tzdata" ,tzdata)))
+ `(("tzdata" ,tzdata)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)))
(inputs
`(("coreutils" ,coreutils)
("sed" ,sed)
@@ -10581,7 +10640,6 @@ in an easily configurable manner.")
("r-ggplot2" ,r-ggplot2)
("r-ggbio" ,r-ggbio)
("pandoc" ,pandoc)
- ("pandoc-citeproc" ,pandoc-citeproc)
("python-wrapper" ,python-wrapper)
("python-pyyaml" ,python-pyyaml)
("snakemake" ,snakemake)
@@ -10614,8 +10672,18 @@ methylation and segmentation.")
"/pigx_scrnaseq-" version ".tar.gz"))
(sha256
(base32
- "1h5mcxzwj3cidlkvy9ly5wmi48vwfsjf8dxjfirknqxr9a92hwlx"))))
+ "1h5mcxzwj3cidlkvy9ly5wmi48vwfsjf8dxjfirknqxr9a92hwlx"))
+ (patches (search-patches "pigx-scrnaseq-no-citeproc.patch"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
+ (native-inputs
+ `(("automake" ,automake)
+ ("autoconf" ,autoconf)))
(inputs
`(("coreutils" ,coreutils)
("perl" ,perl)
@@ -10630,7 +10698,6 @@ methylation and segmentation.")
("python-numpy" ,python-numpy)
("python-loompy" ,python-loompy)
("pandoc" ,pandoc)
- ("pandoc-citeproc" ,pandoc-citeproc)
("samtools" ,samtools)
("snakemake" ,snakemake)
("star" ,star-for-pigx)
@@ -10680,8 +10747,18 @@ based methods.")
"/pigx_sars-cov2-ww-" version ".tar.gz"))
(sha256
(base32
- "1hhdbwsnl0d37lrmisw5hr630xr8s41qvxflm05anh11rj8n22yw"))))
+ "1hhdbwsnl0d37lrmisw5hr630xr8s41qvxflm05anh11rj8n22yw"))
+ (patches (search-patches "pigx-sars-cov2-ww-no-citeproc.patch"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'autoreconf
+ (lambda _
+ (invoke "autoreconf" "-vif"))))))
+ (native-inputs
+ `(("automake" ,automake)
+ ("autoconf" ,autoconf)))
(inputs
`(("bash-minimal" ,bash-minimal)
("bwa" ,bwa)
@@ -12360,17 +12437,18 @@ datasets.")
(define-public ngless
(package
(name "ngless")
- (version "1.1.0")
+ (version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/ngless/ngless.git")
+ (url "https://github.com/ngless-toolkit/ngless.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1wim8wpqyff080dfcazynrmjwqas38m24m0v350w245mmhrapdma"))))
+ "0pb9f6b0yk9p4cdwiym8r190q1bcdiwvc7i2s6rw54qgi8r3g6pj"))
+ (patches (search-patches "ngless-unliftio.patch"))))
(build-system haskell-build-system)
(arguments
`(#:haddock? #f ; The haddock phase fails with: NGLess/CmdArgs.hs:20:1:
@@ -12441,7 +12519,7 @@ datasets.")
("ghc-http-conduit" ,ghc-http-conduit)
("ghc-inline-c" ,ghc-inline-c)
("ghc-inline-c-cpp" ,ghc-inline-c-cpp)
- ("ghc-intervalmap" ,ghc-intervalmap)
+ ("ghc-int-interval-map" ,ghc-int-interval-map)
("ghc-missingh" ,ghc-missingh)
("ghc-optparse-applicative" ,ghc-optparse-applicative)
("ghc-regex" ,ghc-regex)
@@ -12468,12 +12546,49 @@ datasets.")
("ghc-test-framework-hunit",ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-test-framework-th" ,ghc-test-framework-th)))
- (home-page "https://gitlab.com/ngless/ngless")
+ (home-page "https://ngless.embl.de/")
(synopsis "DSL for processing next-generation sequencing data")
(description "Ngless is a domain-specific language for
@dfn{next-generation sequencing} (NGS) data processing.")
(license license:expat)))
+(define-public ghc-int-interval-map
+ (let ((commit "678763de7fe6d7fa3f1c44b32d18ce58670270f4")
+ (revision "1"))
+ (package
+ (name "ghc-int-interval-map")
+ (version "0.0.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ngless-toolkit/interval-to-int.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "0fd728b5if89vj5j4f9y7k0b2xv2ycz5a21iy15wbdcf5bhim7i8"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-either" ,ghc-either)
+ ("ghc-primitive" ,ghc-primitive)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-vector-algorithms" ,ghc-vector-algorithms)))
+ (native-inputs
+ `(("ghc-hedgehog" ,ghc-hedgehog)
+ ("ghc-tasty" ,ghc-tasty)
+ ("ghc-tasty-hedgehog" ,ghc-tasty-hedgehog)
+ ("ghc-tasty-hunit" ,ghc-tasty-hunit)
+ ("ghc-tasty-quickcheck" ,ghc-tasty-quickcheck)
+ ("ghc-tasty-th" ,ghc-tasty-th)))
+ (home-page "https://github.com/luispedro/interval-to-int#readme")
+ (synopsis "Interval map structure in Haskell")
+ (description "An interval map structure that is optimized for low
+memory (each interval is represented by about 3 words + whatever the
+cargo is) and has semantics that are appropriate for genomic intervals
+(namely, intervals can overlap and queries will return all matches
+together). It also designed to be used in two phases: a construction
+phase + query phase).")
+ (license license:expat))))
+
(define-public filtlong
;; The recommended way to install is to clone the git repository
;; https://github.com/rrwick/Filtlong#installation