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.scm457
1 files changed, 284 insertions, 173 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 64fc6173db..e4a01ca208 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -60,6 +60,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix deprecation)
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
#:use-module (gnu packages algebra)
@@ -106,6 +107,7 @@
#: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)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
@@ -125,6 +127,7 @@
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
+ #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@@ -4671,7 +4674,7 @@ experiments and provide highly stable thresholds based on reproducibility.")
(define-public jellyfish
(package
(name "jellyfish")
- (version "2.2.10")
+ (version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gmarcais/Jellyfish/"
@@ -4679,14 +4682,15 @@ experiments and provide highly stable thresholds based on reproducibility.")
"/jellyfish-" version ".tar.gz"))
(sha256
(base32
- "1k4pc3fvv6w1km2yph4m5sd78fbxp21d6xyzgmy0gjihzc6mb249"))))
+ "0npa62wzasdibas5zp3n8j3armsci4kyvh0jw7jr0am4gg7vg5g1"))))
(build-system gnu-build-system)
(outputs '("out" ;for library
"ruby" ;for Ruby bindings
"python")) ;for Python bindings
(arguments
`(#:configure-flags
- (list (string-append "--enable-ruby-binding="
+ (list "--without-sse" ; configure script probes for CPU features when SSE is enabled.
+ (string-append "--enable-ruby-binding="
(assoc-ref %outputs "ruby"))
(string-append "--enable-python-binding="
(assoc-ref %outputs "python")))
@@ -4696,13 +4700,12 @@ experiments and provide highly stable thresholds based on reproducibility.")
(lambda _
;; generator_manager.hpp either uses /bin/sh or $SHELL
;; to run tests.
- (setenv "SHELL" (which "bash"))
- #t)))))
+ (setenv "SHELL" (which "bash")))))))
(native-inputs
`(("bc" ,bc)
("time" ,time)
("ruby" ,ruby)
- ("python" ,python-2)
+ ("python" ,python-wrapper)
("pkg-config" ,pkg-config)))
(inputs
`(("htslib" ,htslib)))
@@ -4718,9 +4721,8 @@ command, or queried for specific k-mers with @code{jellyfish query}.")
(home-page "http://www.genome.umd.edu/jellyfish.html")
;; JELLYFISH seems to be 64-bit only.
(supported-systems '("x86_64-linux" "aarch64-linux" "mips64el-linux"))
- ;; The combined work is published under the GPLv3 or later. Individual
- ;; files such as lib/jsoncpp.cpp are released under the Expat license.
- (license (list license:gpl3+ license:expat))))
+ ;; One of these licenses may be picked
+ (license (list license:gpl3+ license:bsd-3))))
(define-public khmer
(package
@@ -4833,7 +4835,7 @@ experiments.")
(define-public macs
(package
(name "macs")
- (version "2.2.6")
+ (version "2.2.7.1")
(source (origin
;; The PyPi tarball does not contain tests.
(method git-fetch)
@@ -4843,7 +4845,7 @@ experiments.")
(file-name (git-file-name name version))
(sha256
(base32
- "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15"))
+ "08zsgh65xbpv1md2s3wqmrk9g2mz6izmn59ryw5lbac54120p291"))
(modules '((guix build utils)))
;; Remove files generated by Cython
(snippet
@@ -4854,8 +4856,7 @@ experiments.")
(when (file-exists? generated-file)
(delete-file generated-file))))
(find-files "." "\\.pyx$"))
- (delete-file "MACS2/IO/CallPeakUnitPrecompiled.c")
- #t))))
+ (delete-file "MACS2/IO/CallPeakUnitPrecompiled.c")))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -4864,8 +4865,7 @@ experiments.")
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v"))
- #t)))))
+ (invoke "pytest" "-v")))))))
(inputs
`(("python-numpy" ,python-numpy)))
(native-inputs
@@ -8355,41 +8355,57 @@ replacement for strverscmp.")
(define-public multiqc
(package
(name "multiqc")
- (version "1.5")
+ (version "1.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "multiqc" version))
(sha256
(base32
- "02iihfl0w0hpnr4pa0sbd1y9qxrg3ycyhjp5lidkcrqh1lmzs3zy"))))
+ "0y9sgjca3bp0kk3ngry4zf4q2diyzp5bvzsx5l23nsysfbfkigm4"))))
(build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (setenv "HOME" "/tmp")
+ (let ((here (getcwd)))
+ (copy-recursively (assoc-ref inputs "tests") "/tmp/tests")
+ ;; ModuleNotFoundError: No module named 'multiqc.modules.ccs'
+ (delete-file "/tmp/tests/unit_tests/test_ccs.py")
+ (with-directory-excursion "/tmp/tests"
+ (setenv "PYTHONPATH" (string-append here ":" (getenv "PYTHONPATH")))
+ (invoke "python" "-munittest" "discover")))))))))
(propagated-inputs
- `(("python-jinja2" ,python-jinja2)
- ("python-simplejson" ,python-simplejson)
- ("python-pyyaml" ,python-pyyaml)
- ("python-click" ,python-click)
- ("python-spectra" ,python-spectra)
- ("python-requests" ,python-requests)
- ("python-markdown" ,python-markdown)
+ `(("python-click" ,python-click)
+ ("python-coloredlogs" ,python-coloredlogs)
+ ("python-future" ,python-future)
+ ("python-jinja2" ,python-jinja2)
("python-lzstring" ,python-lzstring)
+ ("python-markdown" ,python-markdown)
("python-matplotlib" ,python-matplotlib)
+ ("python-networkx" ,python-networkx)
("python-numpy" ,python-numpy)
- ;; MultQC checks for the presence of nose at runtime.
- ("python-nose" ,python-nose)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.py"
- ;; MultiQC 1.5 ‘requires’ a version of python-matplotlib older
- ;; than the one in Guix, but should work fine with 2.2.2.
- ;; See <https://github.com/ewels/MultiQC/issues/725> and
- ;; <https://github.com/ewels/MultiQC/issues/732> for details.
- (("['\"]matplotlib.*?['\"]")
- "'matplotlib'"))
- #t)))))
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-requests" ,python-requests)
+ ("python-rich" ,python-rich)
+ ("python-simplejson" ,python-simplejson)
+ ("python-spectra" ,python-spectra)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("tests"
+ ,(let ((commit "02272d48a382beb27489fcf9e6308a0407dc3c2e"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ewels/MultiQC_TestData")
+ (commit commit)))
+ (file-name (git-file-name "multiqc-test-data" commit))
+ (sha256
+ (base32
+ "1bha64wanrigczw4yn81din56396n61j5gqdrkslhslmskcafi91")))))))
(home-page "https://multiqc.info")
(synopsis "Aggregate bioinformatics analysis reports")
(description
@@ -9354,19 +9370,19 @@ accurate as existing quantification tools.")
(define-public libgff
(package
(name "libgff")
- (version "1.0")
+ (version "2.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Kingsford-Group/libgff")
+ (url "https://github.com/COMBINE-lab/libgff")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "0n6vfjnq7a2mianipscbshrvbncss8z4zkgkbjw754p9043nfkps"))))
+ "0ds9r22y8bl1rj7bhl0003kgmm6aam7g8l41mnjfrzw15d9zf9k4"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
- (home-page "https://github.com/Kingsford-Group/libgff")
+ (home-page "https://github.com/COMBINE-lab/libgff")
(synopsis "Parser library for reading/writing GFF files")
(description "This is a simple \"libraryfication\" of the GFF/GTF parsing
code that is used in the Cufflinks codebase. The goal of this library is to
@@ -9568,7 +9584,7 @@ The following file formats are supported:
(define-public salmon
(package
(name "salmon")
- (version "0.13.1")
+ (version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -9577,124 +9593,113 @@ The following file formats are supported:
(file-name (git-file-name name version))
(sha256
(base32
- "1i2z4aivicmiixdz9bxalp7vmfzi3k92fxa63iqa8kgvfw5a4aq5"))
+ "1di7y2s8cjr9480lngcmaz3wcabc1lpkyanzbhir1nkhcjmj70h4"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Delete bundled headers for eigen3.
- (delete-file-recursively "include/eigen3/")
- #t))))
+ ;; Delete bundled headers for eigen3.
+ '(delete-file-recursively "include/eigen3/"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
- (list (string-append "-DBOOST_INCLUDEDIR="
- (assoc-ref %build-inputs "boost")
- "/include/")
- (string-append "-DBOOST_LIBRARYDIR="
- (assoc-ref %build-inputs "boost")
- "/lib/")
- (string-append "-DBoost_LIBRARIES="
- "-lboost_iostreams "
- "-lboost_filesystem "
- "-lboost_system "
- "-lboost_thread "
- "-lboost_timer "
- "-lboost_chrono "
- "-lboost_program_options")
- "-DBoost_FOUND=TRUE"
- "-DTBB_LIBRARIES=tbb tbbmalloc"
- ;; Don't download RapMap---we already have it!
- "-DFETCHED_RAPMAP=1")
+ (list (string-append "-Dlibgff_DIR="
+ (assoc-ref %build-inputs "libgff") "/lib")
+ "-Dlibgff_FOUND=TRUE"
+ "-DTBB_FOUND=TRUE"
+ "-DTBB_VERSION=2020.3"
+ "-DTBB_LIBRARIES=tbb -ltbbmalloc"
+ "-DFETCHED_PUFFERFISH=TRUE"
+ "-DUSE_SHARED_LIBS=TRUE")
#:phases
(modify-phases %standard-phases
- ;; Boost cannot be found, even though it's right there.
- (add-after 'unpack 'do-not-look-for-boost
+ (add-after 'unpack 'prepare-pufferfish
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "CMakeLists.txt"
- (("find_package\\(Boost 1\\.59\\.0") "#"))
- #t))
+ (copy-recursively (assoc-ref inputs "pufferfish")
+ "external/pufferfish")
+ ;; This test isn't working correctly, so compilation aborts.
+ (substitute* "external/pufferfish/include/string_view.hpp"
+ (("#if __has_include\\(<string_view>\\)")
+ "#if 0"))
+ (let ((headers "external/install/pufferfish/include/pufferfish")
+ (source "external/install/src/pufferfish"))
+ (mkdir-p headers)
+ (mkdir-p source)
+ (for-each (lambda (file)
+ (install-file (string-append "external/pufferfish/include/" file)
+ headers))
+ (list "ProgOpts.hpp" "BooPHF.hpp" "SpinLock.hpp"
+ "Kmer.hpp" "CanonicalKmer.hpp" "string_view.hpp"
+ "CanonicalKmerIterator.hpp"
+ "PufferfishBaseIndex.hpp"
+ "PufferfishIndex.hpp"
+ "PufferfishSparseIndex.hpp"
+ "PufferfishLossyIndex.hpp"
+ "PufferfishTypes.hpp"
+ "rank9b.hpp" "rank9sel.hpp" "macros.hpp"
+ "select.hpp" "Util.hpp"
+ "PairedAlignmentFormatter.hpp"
+ "SelectiveAlignmentUtils.hpp"
+ "PuffAligner.hpp" "MemCollector.hpp"
+ "MemChainer.hpp" "CommonTypes.hpp"
+ "SAMWriter.hpp" "PufferfishConfig.hpp"
+ "BulkChunk.hpp" "BinWriter.hpp"))
+ (for-each (lambda (dir)
+ (copy-recursively
+ (string-append "external/pufferfish/include/" dir)
+ (string-append headers "/" dir)))
+ (list "libdivide"
+ "ksw2pp"
+ "compact_vector"
+ "metro"
+ "chobo"
+ "sparsepp"
+ "simde"
+ "tsl"))
+ (copy-recursively
+ (string-append "external/pufferfish/src/metro/")
+ (string-append source "/metro"))
+ (install-file
+ (string-append "external/pufferfish/src/rank9b.cpp")
+ source)
+
+ ;; Do not complain about not having built libtbb
+ (substitute* "external/pufferfish/external/twopaco/CMakeLists.txt"
+ (("add_dependencies.*") "")))))
(add-after 'unpack 'do-not-phone-home
(lambda _
(substitute* "src/Salmon.cpp"
- (("getVersionMessage\\(\\)") "\"\""))
- #t))
- (add-after 'unpack 'prepare-rapmap
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((src "external/install/src/rapmap/")
- (include "external/install/include/rapmap/")
- (rapmap (assoc-ref inputs "rapmap")))
- (mkdir-p src)
- (mkdir-p include)
- (copy-recursively (string-append rapmap "/src") src)
- (copy-recursively (string-append rapmap "/include") include)
- (for-each delete-file '("external/install/include/rapmap/xxhash.h"
- "external/install/include/rapmap/FastxParser.hpp"
- "external/install/include/rapmap/concurrentqueue.h"
- "external/install/include/rapmap/FastxParserThreadUtils.hpp"
- "external/install/src/rapmap/FastxParser.cpp"
- "external/install/src/rapmap/xxhash.c"))
- (delete-file-recursively "external/install/include/rapmap/spdlog"))
- #t))
+ (("getVersionMessage\\(\\)") "\"\""))))
(add-after 'unpack 'use-system-libraries
(lambda* (#:key inputs #:allow-other-keys)
- (substitute* "CMakeLists.txt"
- ;; Don't prefer static libs
- (("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
- (("set\\(TBB_LIBRARIES") "message(")
- ;; Don't download anything
- (("DOWNLOAD_COMMAND") "DOWNLOAD_COMMAND echo")
- (("externalproject_add\\(libcereal") "message(")
- (("externalproject_add\\(libgff") "message(")
- (("externalproject_add\\(libtbb") "message(")
- (("externalproject_add\\(libdivsufsort") "message(")
- (("externalproject_add\\(libstadenio") "message(")
- (("externalproject_add_step\\(") "message("))
- (substitute* "src/CMakeLists.txt"
- (("add_dependencies") "#")
- (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
- (string-append (assoc-ref inputs "libstadenio-for-salmon")
- "/lib/libstaden-read.so"))
- (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
- (string-append (assoc-ref inputs "libdivsufsort")
- "/lib/libdivsufsort.so"))
- (("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
- (string-append (assoc-ref inputs "libdivsufsort")
- "/lib/libdivsufsort64.so"))
- (("lib/libdivsufsort.a") "/lib/libdivsufsort.so"))
-
;; Ensure that all headers can be found
(setenv "CPLUS_INCLUDE_PATH"
(string-append (or (getenv "CPLUS_INCLUDE_PATH") "")
":"
+ (getcwd) "/external/install/pufferfish/include:"
(assoc-ref inputs "eigen")
- "/include/eigen3"))
- #t))
- ;; CMAKE_INSTALL_PREFIX does not exist when the tests are
- ;; run. It only exists after the install phase.
- (add-after 'unpack 'fix-tests
+ "/include/eigen3"))))
+ (add-after 'unpack 'fix-error-message-in-tests
(lambda _
- (substitute* "src/CMakeLists.txt"
- (("DTOPLEVEL_DIR=\\$\\{CMAKE_INSTALL_PREFIX")
- "DTOPLEVEL_DIR=${GAT_SOURCE_DIR"))
- #t)))))
+ (substitute* "cmake/TestSalmonQuasi.cmake"
+ (("SALMON_QUASI_INDEX_COMMAND")
+ "SALMON_QUASI_INDEX_CMD")))))))
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
("cereal" ,cereal)
+ ("curl" ,curl)
("eigen" ,eigen)
- ("rapmap" ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/COMBINE-lab/RapMap")
- (commit (string-append "salmon-v" version))))
- (file-name (string-append "rapmap-salmon-v" version "-checkout"))
- (sha256
- (base32
- "1biplxf0csc7a8h1wf219b0vmjkvw6wk2zylhdklb577kgmihdms"))))
("jemalloc" ,jemalloc)
("libgff" ,libgff)
+ ("pufferfish" ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/COMBINE-lab/pufferfish")
+ (commit (string-append "salmon-v" version))))
+ (file-name (git-file-name "pufferfish" version))
+ (sha256
+ (base32
+ "0qb4a2nl1d59qasr17sslgxnkjd5kbk5mns4cjshrmsvkrqp995n"))))
("tbb" ,tbb)
- ("libdivsufsort" ,libdivsufsort)
("libstadenio-for-salmon" ,libstadenio-for-salmon)
("xz" ,xz)
("zlib" ,zlib)))
@@ -10293,7 +10298,7 @@ once. This package provides tools to perform Drop-seq analyses.")
(define-public pigx-rnaseq
(package
(name "pigx-rnaseq")
- (version "0.0.13")
+ (version "0.0.17")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@@ -10301,18 +10306,26 @@ once. This package provides tools to perform Drop-seq analyses.")
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
- "0z9zid2c8q16lfzlnjd63nparknhv31qgv4h79algmvhkakm2pgk"))))
+ "0k9zj50bij3sjwq08v8l8waddcx8k66m3vdq8mx5vc23p19qz42s"))))
(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.
+ ;; "test.sh" runs the whole pipeline, which takes a long time and
+ ;; might fail due to OOM. The MultiQC is also resource intensive.
(add-after 'unpack 'disable-resource-intensive-test
(lambda _
(substitute* "Makefile.in"
(("^ tests/test_multiqc/test.sh") "")
- (("^ test.sh") "")))))))
+ (("^ test.sh") ""))))
+ (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")))))))
(inputs
`(("coreutils" ,coreutils)
("sed" ,sed)
@@ -10327,8 +10340,9 @@ once. This package provides tools to perform Drop-seq analyses.")
("r-minimal" ,r-minimal)
("r-rmarkdown" ,r-rmarkdown)
("r-ggplot2" ,r-ggplot2)
+ ("r-ggpubr" ,r-ggpubr)
("r-ggrepel" ,r-ggrepel)
- ("r-gprofiler" ,r-gprofiler)
+ ("r-gprofiler2" ,r-gprofiler2)
("r-deseq2" ,r-deseq2)
("r-dt" ,r-dt)
("r-knitr" ,r-knitr)
@@ -10346,7 +10360,10 @@ once. This package provides tools to perform Drop-seq analyses.")
("pandoc" ,pandoc)
("pandoc-citeproc" ,pandoc-citeproc)
("python-wrapper" ,python-wrapper)
+ ("python-deeptools" ,python-deeptools)
("python-pyyaml" ,python-pyyaml)))
+ (native-inputs
+ `(("tzdata" ,tzdata)))
(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
@@ -10437,7 +10454,7 @@ in an easily configurable manner.")
(define-public pigx-bsseq
(package
(name "pigx-bsseq")
- (version "0.1.3")
+ (version "0.1.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@@ -10445,7 +10462,7 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
- "0blm0bl5z3ng01n7hh2ffk4rkzvf7vb3nm0crgdzrxr5cahxdxql"))))
+ "05al5dacfp1vf1x3cq20jhd6w4xj5vaxslzaka6yrpg0av8sh3k3"))))
(build-system gnu-build-system)
(arguments
`(;; TODO: tests currently require 12+GB of RAM. See
@@ -10459,8 +10476,7 @@ in an easily configurable manner.")
(setenv "TZ" "UTC+1")
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
- "/share/zoneinfo"))
- #t)))))
+ "/share/zoneinfo")))))))
(native-inputs
`(("tzdata" ,tzdata)))
(inputs
@@ -10573,7 +10589,7 @@ based methods.")
(define-public pigx-sars-cov2-ww
(package
(name "pigx-sars-cov2-ww")
- (version "0.0.1")
+ (version "0.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_sarscov2_ww/"
@@ -10581,7 +10597,7 @@ based methods.")
"/pigx_sars-cov2-ww-" version ".tar.gz"))
(sha256
(base32
- "1h1rfl3dyf7pid74xxgiyr4x1l5yj000wcz5crm1bdbaz8p7b7ic"))))
+ "0yrbza7lbzijjc8ifk06b646n959a4k7id94x3ndz795892f64l0"))))
(build-system gnu-build-system)
(inputs
`(("bash-minimal" ,bash-minimal)
@@ -10608,7 +10624,8 @@ based methods.")
("r-stringr" ,r-stringr)
("r-tidyr" ,r-tidyr)
("samtools" ,samtools)
- ("snakemake" ,snakemake)))
+ ("snakemake" ,snakemake)
+ ("wget" ,wget)))
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
(synopsis "Analysis pipeline for wastewater sequencing")
(description "PiGx SARS-CoV-2 is a pipeline for analysing data from
@@ -10859,6 +10876,28 @@ cases include:
@end enumerate\n")
(license license:expat)))
+(define-public python-mappy
+ (package
+ (name "python-mappy")
+ (version "2.18")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "mappy" version))
+ (sha256
+ (base32
+ "1a05p7rkmxa6qhm108na8flzj2v45jab06drk59kzk1ip2sgvzqq"))))
+ (build-system python-build-system)
+ (native-inputs
+ `(("python-cython" ,python-cython)))
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page "https://github.com/lh3/minimap2")
+ (synopsis "Python binding for minimap2")
+ (description "This package provides a convenient interface to minimap2,
+a fast and accurate C program to align genomic and transcribe nucleotide
+sequences.")
+ (license license:expat)))
+
(define-public miniasm
(package
(name "miniasm")
@@ -10932,7 +10971,7 @@ Thus the per-base error rate is similar to the raw input reads.")
(install-file "Bandage" (string-append out "/bin"))
#t))))))
(inputs
- `(("qtbase" ,qtbase)
+ `(("qtbase" ,qtbase-5)
("qtsvg" ,qtsvg)))
(native-inputs
`(("imagemagick" ,imagemagick)))
@@ -11723,29 +11762,26 @@ such as Hi-C contact matrices.")
(define-public python-hicmatrix
(package
(name "python-hicmatrix")
- (version "12")
- (source
- (origin
- ;; Version 12 is not available on pypi.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/deeptools/HiCMatrix")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1xhdyx16f3brgxgxybixdi64ki8nbbkq5vk4h9ahi11pzpjfn1pj"))))
+ (version "15")
+ (source
+ (origin
+ ;;Pypi sources do not contain any test
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/deeptools/HiCMatrix")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dshjxgb16sdfg9k1bhw2yhyngac04k4ca7aqy8g3i3pprr068r5"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* '("requirements.txt"
- "setup.py")
- (("cooler *=+ *0.8.5")
- "cooler==0.8.*"))
- #t)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "pytest" "-v")))))))
(propagated-inputs
`(("python-cooler" ,python-cooler)
("python-intervaltree" ,python-intervaltree)
@@ -11753,6 +11789,8 @@ such as Hi-C contact matrices.")
("python-pandas" ,python-pandas)
("python-scipy" ,python-scipy)
("python-tables" ,python-tables)))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)))
(home-page "https://github.com/deeptools/HiCMatrix/")
(synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks")
(description
@@ -11859,18 +11897,35 @@ pyGenomeTracks can make plots with or without Hi-C data.")
(define-public python-hic2cool
(package
(name "python-hic2cool")
- (version "0.4.2")
+ (version "0.8.3")
+ ;; pypi sources do not contain the test_data directory and no test can be
+ ;; run
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "hic2cool" version))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/4dn-dcic/hic2cool")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0xy6mhfns2lzib1kcr6419jjp6pmh0qx8z8na55lmiwn0ds8q9cl"))))
+ "0dlnf0qfcp4jrc1nyya32a035c13xicyq16bwfnwhbb9s47mz7gl"))))
(build-system python-build-system)
- (arguments '(#:tests? #f)) ; no tests included
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Two of the test-data files need to be writable.
+ (add-after 'unpack 'make-test-data-writable
+ (lambda _
+ (for-each make-file-writable
+ (list "test_data/hic2cool_0.4.2_single_res.cool"
+ "test_data/hic2cool_0.7.0_multi_res.mcool")))))))
(propagated-inputs
- `(("python-cooler" ,python-cooler)))
+ `(("python-cooler" ,python-cooler)
+ ("python-h5py" ,python-h5py)
+ ("python-numpy" ,python-numpy)
+ ("python-pandas" ,python-pandas)
+ ("python-scipy" ,python-scipy)))
(home-page "https://github.com/4dn-dcic/hic2cool")
(synopsis "Converter for .hic and .cool files")
(description
@@ -14064,6 +14119,62 @@ usually ignored by other methods or only used for filtering.")
coordinates between different assemblies.")
(license license:expat)))
+(define-public python-cgatcore
+ (package
+ (name "python-cgatcore")
+ (version "0.6.7")
+ ;; The version of pypi does not include test data.
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cgat-developers/cgat-core")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "17vk88v1bx7x02ibzkc9i7ir4b5p1hcjr38jpsfzyzxr68352d5k"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-references
+ (lambda _
+ (substitute* "cgatcore/pipeline/execution.py"
+ (("#!/bin/bash") (string-append "#!" (which "bash")))
+ (("executable=\"/bin/bash\"")
+ (string-append "executable=\"" (which "bash") "\""))
+ (("\\\\time") (which "time")))))
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ ;; Requires network access
+ (delete-file "tests/test_pipeline_execution.py")
+ (invoke "python" "-m" "pytest" "-v")))))))
+ (native-inputs
+ `(("python-pytest" ,python-pytest)
+ ("lsof" ,lsof)
+ ("hostname" ,inetutils)
+ ("openssl" ,openssl)))
+ (inputs
+ `(("time" ,time)))
+ (propagated-inputs
+ `(("python-apsw" ,python-apsw)
+ ("python-gevent" ,python-gevent)
+ ("python-pandas" ,python-pandas)
+ ("python-paramiko" ,python-paramiko)
+ ("python-pyyaml" ,python-pyyaml)
+ ("python-ruffus" ,python-ruffus)
+ ("python-sqlalchemy" ,python-sqlalchemy)))
+ (home-page "https://github.com/cgat-developers/cgat-core")
+ (synopsis "Computational genomics analysis toolkit")
+ (description
+ "CGAT-core is a set of libraries and helper functions used to enable
+researchers to design and build computational workflows for the analysis of
+large-scale data-analysis.")
+ (license license:expat)))
+
(define-public ensembl-vep
(let* ((api-version "103")
(api-module