;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
-(define-public r-ape
- (package
- (name "r-ape")
- (version "5.0")
- (source
- (origin
- (method url-fetch)
- (uri (cran-uri "ape" version))
- (sha256
- (base32
- "0q59pmxawz498cb9mv5m49lhiwxib8ak94yyydz7qg8b6lpd4bn3"))))
- (build-system r-build-system)
- (propagated-inputs
- `(("r-lattice" ,r-lattice)
- ("r-nlme" ,r-nlme)
- ("r-rcpp" ,r-rcpp)))
- (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")
manipulating HTS data.")
(license license:expat)))
+(define-public java-htsjdk-latest
+ (package
+ (name "java-htsjdk")
+ (version "2.14.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1lmya1fdjy03mz6zmdmd86j9v9vfhqb3952mqq075navx1i6g4bc"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))
+ (inputs
+ `(("java-ngs" ,java-ngs)
+ ("java-snappy-1" ,java-snappy-1)
+ ("java-commons-compress" ,java-commons-compress)
+ ("java-commons-logging-minimal" ,java-commons-logging-minimal)
+ ("java-commons-jexl-2" ,java-commons-jexl-2)
+ ("java-xz" ,java-xz)))
+ (native-inputs
+ `(("java-junit" ,java-junit)))
+ (home-page "http://samtools.github.io/htsjdk/")
+ (synopsis "Java API for high-throughput sequencing data (HTS) formats")
+ (description
+ "HTSJDK is an implementation of a unified Java library for accessing
+common file formats, such as SAM and VCF, used for high-throughput
+sequencing (HTS) data. There are also an number of useful utilities for
+manipulating HTS data.")
+ (license license:expat)))
+
+;; This is needed for picard 2.10.3
+(define-public java-htsjdk-2.10.1
+ (package (inherit java-htsjdk-latest)
+ (name "java-htsjdk")
+ (version "2.10.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/samtools/htsjdk.git")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1kxh7slm2pm3x9p6jxa1wqsq9a31dhiiflhxnxqcisan4k3rwia2"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; tests require Scala
+ #:jdk ,icedtea-8
+ #:jar-name "htsjdk.jar"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; The tests require the scalatest package.
+ (add-after 'unpack 'remove-tests
+ (lambda _ (delete-file-recursively "src/test") #t)))))))
+
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard
VCF.")
(license license:expat)))
+;; This is needed for dropseq-tools
+(define-public java-picard-2.10.3
+ (package
+ (name "java-picard")
+ (version "2.10.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/broadinstitute/picard.git")
+ (commit version)))
+ (file-name (string-append "java-picard-" version "-checkout"))
+ (sha256
+ (base32
+ "1ajlx31l6i1k3y2rhnmgq07sz99g2czqfqgkr9mihmdjp3gwjhvi"))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:jar-name "picard.jar"
+ ;; Tests require jacoco:coverage.
+ #:tests? #f
+ #:jdk ,icedtea-8
+ #:main-class "picard.cmdline.PicardCommandLine"
+ #:modules ((guix build ant-build-system)
+ (guix build utils)
+ (guix build java-utils)
+ (sxml simple)
+ (sxml transform)
+ (sxml xpath))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-useless-build.xml
+ (lambda _ (delete-file "build.xml") #t))
+ ;; This is necessary to ensure that htsjdk is found when using
+ ;; picard.jar as an executable.
+ (add-before 'build 'edit-classpath-in-manifest
+ (lambda* (#:key inputs #:allow-other-keys)
+ (chmod "build.xml" #o664)
+ (call-with-output-file "build.xml.new"
+ (lambda (port)
+ (sxml->xml
+ (pre-post-order
+ (with-input-from-file "build.xml"
+ (lambda _ (xml->sxml #:trim-whitespace? #t)))
+ `((target . ,(lambda (tag . kids)
+ (let ((name ((sxpath '(name *text*))
+ (car kids)))
+ ;; FIXME: We're breaking the line
+ ;; early with a dummy path to
+ ;; ensure that the store reference
+ ;; isn't broken apart and can still
+ ;; be found by the reference
+ ;; scanner.
+ (msg (format #f
+ "\
+Class-Path: /~a \
+ ~a/share/java/htsjdk.jar${line.separator}"
+ ;; maximum line length is 70
+ (string-tabulate (const #\b) 57)
+ (assoc-ref inputs "java-htsjdk"))))
+ (if (member "manifest" name)
+ `(,tag ,@kids
+ (echo
+ (@ (message ,msg)
+ (file "${manifest.file}")
+ (append "true"))))
+ `(,tag ,@kids)))))
+ (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
+ (*text* . ,(lambda (_ txt) txt))))
+ port)))
+ (rename-file "build.xml.new" "build.xml")
+ #t)))))
+ (propagated-inputs
+ `(("java-htsjdk" ,java-htsjdk-2.10.1)))
+ (native-inputs
+ `(("java-testng" ,java-testng)
+ ("java-guava" ,java-guava)))
+ (home-page "http://broadinstitute.github.io/picard/")
+ (synopsis "Tools for manipulating high-throughput sequencing data and formats")
+ (description "Picard is a set of Java command line tools for manipulating
+high-throughput sequencing (HTS) data and formats. Picard is implemented
+using the HTSJDK Java library to support accessing file formats that are
+commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
+VCF.")
+ (license license:expat)))
+
;; This is the last version of Picard to provide net.sf.samtools
(define-public java-picard-1.113
(package (inherit java-picard)
(define-public htslib
(package
(name "htslib")
- (version "1.6")
+ (version "1.7")
(source (origin
(method url-fetch)
(uri (string-append
version "/htslib-" version ".tar.bz2"))
(sha256
(base32
- "1jsca3hg4rbr6iqq6imkj4lsvgl8g9768bcmny3hlff2w25vx24m"))))
+ "1il6i2p84b0y9c93dhvzzki1ifw9bvapm2mvpr0xvb2nq8jlwgdy"))))
(build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after
- 'unpack 'patch-tests
- (lambda _
- (substitute* "test/test.pl"
- (("/bin/bash") (which "bash")))
- #t)))))
(inputs
`(("openssl" ,openssl)
("curl" ,curl)
(uri (hg-reference
(url "https://bitbucket.org/libsleipnir/sleipnir")
(changeset changeset)))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0qrvilwh18dpbhkf92qvxbmay0j75ra3jg2wrhz67gf538zzphsx"))))
(define-public samtools
(package
(name "samtools")
- (version "1.5")
+ (version "1.7")
(source
(origin
(method url-fetch)
version "/samtools-" version ".tar.bz2"))
(sha256
(base32
- "1xidmv0jmfy7l0kb32hdnlshcxgzi1hmygvig0cqrq1fhckdlhl5"))))
+ "18acyqysbxpydlc44lqv2hpp57l06bs9a3yqmcvjk8va2xrrdc77"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
"src/hdf5source/hdf5small.tgz" "-C" "src/" )
(substitute* "src/hdf5/configure"
(("/bin/mv") "mv"))
+ ;; Remove timestamp and host system information to make
+ ;; the build reproducible.
+ (substitute* "src/hdf5/src/libhdf5.settings.in"
+ (("Configured on: @CONFIG_DATE@")
+ "Configured on: Guix")
+ (("Uname information:.*")
+ "Uname information: Linux\n")
+ ;; Remove unnecessary store reference.
+ (("C Compiler:.*")
+ "C Compiler: GCC\n"))
#t)))))
(propagated-inputs
`(("r-zlibbioc" ,r-zlibbioc)))
(uri (git-reference
(url "https://github.com/smithlabcode/piranha.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
"117dc0zf20c61jam69sk4abl57ah6yi6i7qra7d7y5zrbgk12q5n"))))
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
(rename-file (string-append "hdf5-" ,(package-version hdf5))
"hdf5")
+ ;; Remove timestamp and host system information to make
+ ;; the build reproducible.
+ (substitute* "hdf5/src/libhdf5.settings.in"
+ (("Configured on: @CONFIG_DATE@")
+ "Configured on: Guix")
+ (("Uname information:.*")
+ "Uname information: Linux\n")
+ ;; Remove unnecessary store reference.
+ (("C Compiler:.*")
+ "C Compiler: GCC\n"))
(rename-file "Makevars.in" "Makevars")
(substitute* "Makevars"
(("HDF5_CXX_LIB=.*")
memory usage and processing time is minimized.")
(license license:expat)))
+(define-public r-phangorn
+ (package
+ (name "r-phangorn")
+ (version "2.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "phangorn" version))
+ (sha256
+ (base32
+ "0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i"))))
+ (build-system r-build-system)
+ (propagated-inputs
+ `(("r-ape" ,r-ape)
+ ("r-fastmatch" ,r-fastmatch)
+ ("r-igraph" ,r-igraph)
+ ("r-magrittr" ,r-magrittr)
+ ("r-matrix" ,r-matrix)
+ ("r-quadprog" ,r-quadprog)
+ ("r-rcpp" ,r-rcpp)))
+ (home-page "https://github.com/KlausVigo/phangorn")
+ (synopsis "Phylogenetic analysis in R")
+ (description
+ "Phangorn is a package for phylogenetic analysis in R. It supports
+estimation of phylogenetic trees and networks using Maximum Likelihood,
+Maximum Parsimony, distance methods and Hadamard conjugation.")
+ (license license:gpl2+)))
+
(define-public r-dropbead
- (let ((commit "cf0be5ae5302684bd03e78ab65b142900bbbb840")
- (revision "1"))
+ (let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
+ (revision "2"))
(package
(name "r-dropbead")
(version (string-append "0-" revision "." (string-take commit 7)))
(uri (git-reference
(url "https://github.com/rajewsky-lab/dropbead.git")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1b2lphsc236s1rdzlijxg8yl1jnqpwcvj4x938r89rqpj93jb780"))))
+ "0sbzma49aiiyw8b0jpr7fnhzys9nsqmp4hy4hdz1gzyg1lhnca26"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("tcsh" ,tcsh)
("perl" ,perl)
("libpng" ,libpng)
- ("mysql" ,mysql)
+ ("mariadb" ,mariadb)
("openssl" ,openssl)))
(home-page "http://genome.cse.ucsc.edu/index.html")
(synopsis "Assorted bioinformatics utilities")
(uri (git-reference
(url "https://github.com/y-256/libdivsufsort.git")
(commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
"0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
@item reading and writing of popular alignment file formats;
@item a single-, or multi- threaded multiple sequence alignment algorithm.
@end itemize\n")))
+
+(define-public dropseq-tools
+ (package
+ (name "dropseq-tools")
+ (version "1.13")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "http://mccarrolllab.com/download/1276/")
+ (file-name (string-append "dropseq-tools-" version ".zip"))
+ (sha256
+ (base32
+ "0yrffckxqk5l8b5xb6z4laq157zd9mdypr2p4b4vq2bhjzi1sj0s"))
+ ;; Delete bundled libraries
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file (find-files "jar/lib" "\\.jar$"))
+ (delete-file-recursively "3rdParty")))))
+ (build-system ant-build-system)
+ (arguments
+ `(#:tests? #f ; test data are not included
+ #:test-target "test"
+ #:build-target "all"
+ #:source-dir "public/src/"
+ #:jdk ,icedtea-8
+ #:make-flags
+ (list (string-append "-Dpicard.executable.dir="
+ (assoc-ref %build-inputs "java-picard")
+ "/share/java/"))
+ #:modules ((ice-9 match)
+ (srfi srfi-1)
+ (guix build utils)
+ (guix build java-utils)
+ (guix build ant-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ ;; All dependencies must be linked to "lib", because that's where
+ ;; they will be searched for when the Class-Path property of the
+ ;; manifest is computed.
+ (add-after 'unpack 'record-references
+ (lambda* (#:key inputs #:allow-other-keys)
+ (mkdir-p "jar/lib")
+ (let ((dirs (filter-map (match-lambda
+ ((name . dir)
+ (if (and (string-prefix? "java-" name)
+ (not (string=? name "java-testng")))
+ dir #f)))
+ inputs)))
+ (for-each (lambda (jar)
+ (symlink jar (string-append "jar/lib/" (basename jar))))
+ (append-map (lambda (dir) (find-files dir "\\.jar$"))
+ dirs)))
+ #t))
+ ;; There is no installation target
+ (replace 'install
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/"))
+ (scripts (list "BAMTagHistogram"
+ "BAMTagofTagCounts"
+ "BaseDistributionAtReadPosition"
+ "CollapseBarcodesInPlace"
+ "CollapseTagWithContext"
+ "ConvertToRefFlat"
+ "CreateIntervalsFiles"
+ "DetectBeadSynthesisErrors"
+ "DigitalExpression"
+ "Drop-seq_alignment.sh"
+ "FilterBAM"
+ "FilterBAMByTag"
+ "GatherGeneGCLength"
+ "GatherMolecularBarcodeDistributionByGene"
+ "GatherReadQualityMetrics"
+ "PolyATrimmer"
+ "ReduceGTF"
+ "SelectCellsByNumTranscripts"
+ "SingleCellRnaSeqMetricsCollector"
+ "TagBamWithReadSequenceExtended"
+ "TagReadWithGeneExon"
+ "TagReadWithInterval"
+ "TrimStartingSequence"
+ "ValidateReference")))
+ (for-each mkdir-p (list bin share lib))
+ (install-file "dist/dropseq.jar" share)
+ (for-each (lambda (script)
+ (chmod script #o555)
+ (install-file script bin))
+ scripts)
+ (substitute* (map (lambda (script)
+ (string-append bin "/" script))
+ scripts)
+ (("^java") (which "java"))
+ (("jar_deploy_dir=.*")
+ (string-append "jar_deploy_dir=" share "\n"))))
+ #t))
+ ;; FIXME: We do this after stripping jars because we don't want it to
+ ;; copy all these jars and strip them. We only want to install
+ ;; links. Arguably, this is a problem with the ant-build-system.
+ (add-after 'strip-jar-timestamps 'install-links
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/java/"))
+ (lib (string-append share "/lib/")))
+ (for-each (lambda (jar)
+ (symlink (readlink jar)
+ (string-append lib (basename jar))))
+ (find-files "jar/lib" "\\.jar$")))
+ #t)))))
+ (inputs
+ `(("jdk" ,icedtea-8)
+ ("java-picard" ,java-picard-2.10.3)
+ ("java-log4j-1.2-api" ,java-log4j-1.2-api)
+ ("java-commons-math3" ,java-commons-math3)
+ ("java-commons-jexl2" ,java-commons-jexl-2)
+ ("java-commons-collections4" ,java-commons-collections4)
+ ("java-commons-lang2" ,java-commons-lang)
+ ("java-commons-io" ,java-commons-io)
+ ("java-snappy-1.0.3-rc3" ,java-snappy-1)
+ ("java-guava" ,java-guava)
+ ("java-la4j" ,java-la4j)
+ ("java-biojava-core" ,java-biojava-core-4.0)
+ ("java-biojava-alignment" ,java-biojava-alignment-4.0)
+ ("java-jdistlib" ,java-jdistlib)
+ ("java-simple-xml" ,java-simple-xml)
+ ("java-snakeyaml" ,java-snakeyaml)))
+ (native-inputs
+ `(("unzip" ,unzip)
+ ("java-testng" ,java-testng)))
+ (home-page "http://mccarrolllab.com/dropseq/")
+ (synopsis "Tools for Drop-seq analyses")
+ (description "Drop-seq is a technology to enable biologists to
+analyze RNA expression genome-wide in thousands of individual cells at
+once. This package provides tools to perform Drop-seq analyses.")
+ (license license:expat)))
+
+(define-public pigx-rnaseq
+ (package
+ (name "pigx-rnaseq")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
+ "releases/download/v" version
+ "/pigx_rnaseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "168hx2ig3rarphx3l21ay9yyg8ipaakzixnrhpbdi0sknhyvrrk8"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:parallel-tests? #f ; not supported
+ #:phases
+ (modify-phases %standard-phases
+ ;; "test.sh" runs STAR, which requires excessive amounts of memory.
+ (add-after 'unpack 'disable-resource-intensive-test
+ (lambda _
+ (substitute* "Makefile.in"
+ (("(^ tests/test_trim_galore/test.sh).*" _ m) m)
+ (("^ test.sh") ""))
+ #t))
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-rnaseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (inputs
+ `(("snakemake" ,snakemake)
+ ("fastqc" ,fastqc)
+ ("multiqc" ,multiqc)
+ ("star" ,star)
+ ("trim-galore" ,trim-galore)
+ ("htseq" ,htseq)
+ ("samtools" ,samtools)
+ ("bedtools" ,bedtools)
+ ("r-minimal" ,r-minimal)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-ggrepel" ,r-ggrepel)
+ ("r-gprofiler" ,r-gprofiler)
+ ("r-deseq2" ,r-deseq2)
+ ("r-dt" ,r-dt)
+ ("r-knitr" ,r-knitr)
+ ("r-pheatmap" ,r-pheatmap)
+ ("r-corrplot" ,r-corrplot)
+ ("r-reshape2" ,r-reshape2)
+ ("r-plotly" ,r-plotly)
+ ("r-scales" ,r-scales)
+ ("r-summarizedexperiment" ,r-summarizedexperiment)
+ ("r-crosstalk" ,r-crosstalk)
+ ("r-tximport" ,r-tximport)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rjson" ,r-rjson)
+ ("salmon" ,salmon)
+ ("ghc-pandoc" ,ghc-pandoc-1)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipeline for RNA sequencing experiments")
+ (description "PiGX RNAseq is an analysis pipeline for preprocessing and
+reporting for RNA sequencing experiments. It is easy to use and produces high
+quality reports. The inputs are reads files from the sequencing experiment,
+and a configuration file which describes the experiment. In addition to
+quality control of the experiment, the pipeline produces a differential
+expression report comparing samples in an easily configurable manner.")
+ (license license:gpl3+)))
+
+(define-public pigx-chipseq
+ (package
+ (name "pigx-chipseq")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
+ "releases/download/v" version
+ "/pigx_chipseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jliwhifnjgl9x0z730bzpxswi2s84fyg5y8cagbyzpw509452f5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-chipseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (inputs
+ `(("r-minimal" ,r-minimal)
+ ("r-argparser" ,r-argparser)
+ ("r-chipseq" ,r-chipseq)
+ ("r-data-table" ,r-data-table)
+ ("r-genomation" ,r-genomation)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rcas" ,r-rcas)
+ ("r-stringr" ,r-stringr)
+ ("r-jsonlite" ,r-jsonlite)
+ ("r-heatmaply" ,r-heatmaply)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-plotly" ,r-plotly)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)
+ ("snakemake" ,snakemake)
+ ("macs" ,macs)
+ ("multiqc" ,multiqc)
+ ("perl" ,perl)
+ ("ghc-pandoc" ,ghc-pandoc-1)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+ ("fastqc" ,fastqc)
+ ("bowtie" ,bowtie)
+ ("idr" ,idr)
+ ("snakemake" ,snakemake)
+ ("samtools" ,samtools)
+ ("bedtools" ,bedtools)
+ ("kentutils" ,kentutils)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipeline for ChIP sequencing experiments")
+ (description "PiGX ChIPseq is an analysis pipeline for preprocessing, peak
+calling and reporting for ChIP sequencing experiments. It is easy to use and
+produces high quality reports. The inputs are reads files from the sequencing
+experiment, and a configuration file which describes the experiment. In
+addition to quality control of the experiment, the pipeline enables to set up
+multiple peak calling analysis and allows the generation of a UCSC track hub
+in an easily configurable manner.")
+ (license license:gpl3+)))
+
+(define-public pigx-bsseq
+ (package
+ (name "pigx-bsseq")
+ (version "0.0.5")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
+ "releases/download/v" version
+ "/pigx_bsseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1h8ma99vi7hs83nafvjpq8jmaq9977j3n11c4zd95hai0cf7zxmp"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'set-timezone
+ ;; The readr package is picky about timezones.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZ" "UTC+1")
+ (setenv "TZDIR"
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo"))
+ #t))
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-bsseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (native-inputs
+ `(("tzdata" ,tzdata)))
+ (inputs
+ `(("r-minimal" ,r-minimal)
+ ("r-annotationhub" ,r-annotationhub)
+ ("r-dt" ,r-dt)
+ ("r-genomation" ,r-genomation)
+ ("r-methylkit" ,r-methylkit)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-bookdown" ,r-bookdown)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-ggbio" ,r-ggbio)
+ ("ghc-pandoc" ,ghc-pandoc-1)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)
+ ("snakemake" ,snakemake)
+ ("bismark" ,bismark)
+ ("fastqc" ,fastqc)
+ ("bowtie" ,bowtie)
+ ("trim-galore" ,trim-galore)
+ ("cutadapt" ,cutadapt)
+ ("samtools" ,samtools)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
+ (description "PiGx BSseq is a data processing pipeline for raw fastq read
+data of bisulfite experiments; it produces reports on aggregate methylation
+and coverage and can be used to produce information on differential
+methylation and segmentation.")
+ (license license:gpl3+)))
+
+(define-public pigx-scrnaseq
+ (package
+ (name "pigx-scrnaseq")
+ (version "0.0.2")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
+ "releases/download/v" version
+ "/pigx_scrnaseq-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03gwp83823ji59y6nvyz89i4yd3faaqpc3791qia71i91470vfsg"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags
+ (list (string-append "PICARDJAR=" (assoc-ref %build-inputs "java-picard")
+ "/share/java/picard.jar")
+ (string-append "DROPSEQJAR=" (assoc-ref %build-inputs "dropseq-tools")
+ "/share/java/dropseq.jar"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-executable
+ ;; Make sure the executable finds all R modules.
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-program (string-append out "/bin/pigx-scrnaseq")
+ `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
+ `("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
+ #t)))))
+ (inputs
+ `(("dropseq-tools" ,dropseq-tools)
+ ("fastqc" ,fastqc)
+ ("java-picard" ,java-picard)
+ ("java" ,icedtea-8)
+ ("python-wrapper" ,python-wrapper)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-pandas" ,python-pandas)
+ ("python-numpy" ,python-numpy)
+ ("python-loompy" ,python-loompy)
+ ("ghc-pandoc" ,ghc-pandoc)
+ ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
+ ("snakemake" ,snakemake)
+ ("star" ,star)
+ ("r-minimal" ,r-minimal)
+ ("r-argparser" ,r-argparser)
+ ("r-cowplot" ,r-cowplot)
+ ("r-data-table" ,r-data-table)
+ ("r-delayedarray" ,r-delayedarray)
+ ("r-delayedmatrixstats" ,r-delayedmatrixstats)
+ ("r-dplyr" ,r-dplyr)
+ ("r-dropbead" ,r-dropbead)
+ ("r-dt" ,r-dt)
+ ("r-genomicalignments" ,r-genomicalignments)
+ ("r-genomicfiles" ,r-genomicfiles)
+ ("r-genomicranges" ,r-genomicranges)
+ ("r-ggplot2" ,r-ggplot2)
+ ("r-hdf5array" ,r-hdf5array)
+ ("r-pheatmap" ,r-pheatmap)
+ ("r-rmarkdown" ,r-rmarkdown)
+ ("r-rsamtools" ,r-rsamtools)
+ ("r-rtracklayer" ,r-rtracklayer)
+ ("r-rtsne" ,r-rtsne)
+ ("r-scater" ,r-scater)
+ ("r-scran" ,r-scran)
+ ("r-singlecellexperiment" ,r-singlecellexperiment)
+ ("r-stringr" ,r-stringr)
+ ("r-yaml" ,r-yaml)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipeline for single-cell RNA sequencing experiments")
+ (description "PiGX scRNAseq is an analysis pipeline for preprocessing and
+quality control for single cell RNA sequencing experiments. The inputs are
+read files from the sequencing experiment, and a configuration file which
+describes the experiment. It produces processed files for downstream analysis
+and interactive quality reports. The pipeline is designed to work with UMI
+based methods.")
+ (license license:gpl3+)))
+
+(define-public pigx
+ (package
+ (name "pigx")
+ (version "0.0.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/BIMSBbioinfo/pigx/"
+ "releases/download/v" version
+ "/pigx-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nxb2hbp40yg3j7n56k4dhsd2fl1j8g0wpiiln56prqzljwnlgmf"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("python" ,python)
+ ("pigx-bsseq" ,pigx-bsseq)
+ ("pigx-chipseq" ,pigx-chipseq)
+ ("pigx-rnaseq" ,pigx-rnaseq)
+ ("pigx-scrnaseq" ,pigx-scrnaseq)))
+ (home-page "http://bioinformatics.mdc-berlin.de/pigx/")
+ (synopsis "Analysis pipelines for genomics")
+ (description "PiGx is a collection of genomics pipelines. It includes the
+following pipelines:
+
+@itemize
+@item PiGx BSseq for raw fastq read data of bisulfite experiments
+@item PiGx RNAseq for RNAseq samples
+@item PiGx scRNAseq for single cell dropseq analysis
+@item PiGx ChIPseq for reads from ChIPseq experiments
+@end itemize
+
+All pipelines are easily configured with a simple sample sheet and a
+descriptive settings file. The result is a set of comprehensive, interactive
+HTML reports with interesting findings about your samples.")
+ (license license:gpl3+)))
+
+(define-public r-diversitree
+ (package
+ (name "r-diversitree")
+ (version "0.9-10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "diversitree" version))
+ (sha256
+ (base32
+ "0gh4rcrp0an3jh8915i1fsxlgyfk7njywgbd5ln5r2jhr085kpz7"))))
+ (build-system r-build-system)
+ (native-inputs
+ `(("gfortran" ,gfortran)))
+ (inputs `(("fftw" ,fftw) ("gsl" ,gsl)))
+ (propagated-inputs
+ `(("r-ape" ,r-ape)
+ ("r-desolve" ,r-desolve)
+ ("r-rcpp" ,r-rcpp)
+ ("r-suplex" ,r-subplex)))
+ (home-page "https://www.zoology.ubc.ca/prog/diversitree")
+ (synopsis "Comparative 'phylogenetic' analyses of diversification")
+ (description "This package contains a number of comparative \"phylogenetic\"
+methods, mostly focusing on analysing diversification and character evolution.
+Contains implementations of \"BiSSE\" (Binary State Speciation and Extinction)
+and its unresolved tree extensions, \"MuSSE\" (Multiple State Speciation and
+Extinction), \"QuaSSE\", \"GeoSSE\", and \"BiSSE-ness\" Other included methods
+include Markov models of discrete and continuous trait evolution and constant
+rate speciation and extinction.")
+ (license license:gpl2+)))