diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 1134 |
1 files changed, 932 insertions, 202 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 055c8ca47b..fda01e00ca 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015, 2016, 2018, 2019, 2020 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2020, 2021 Roel Janssen <roel@gnu.org> -;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -56,7 +56,6 @@ #:use-module (guix build-system go) #:use-module (guix build-system haskell) #:use-module (guix build-system meson) - #:use-module (guix build-system ocaml) #:use-module (guix build-system perl) #:use-module (guix build-system pyproject) #:use-module (guix build-system python) @@ -720,6 +719,128 @@ suite native in R.") for all types of microbial diversity analyses.") (license license:expat)))) +(define-public r-codeandroll2 + (let ((commit "d58e258851a5c0b430e8620d34dbeefb597c548f") + (revision "1")) + (package + (name "r-codeandroll2") + (version (git-version "2.3.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/CodeAndRoll2") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sy88mfgw6qqhpnlc5020qzr1jllkcrxfhl2lw42bkl5nb56is71")))) + (properties `((upstream-name . "CodeAndRoll2"))) + (build-system r-build-system) + (propagated-inputs (list r-colorramps + r-dplyr + r-gplots + r-gtools + r-plyr + r-rcolorbrewer + r-sessioninfo + r-sm + r-stringendo + r-stringr)) + (home-page "https://github.com/vertesy/CodeAndRoll2") + (synopsis "CodeAndRoll2 for vector, matrix and list manipulations") + (description + "CodeAndRoll2 is a set of more than 130 productivity functions. +These functions are used by MarkdownReports, ggExpress, and SeuratUtils.") + (license license:gpl3)))) + +(define-public r-conospanel + (let ((commit "39e76b201a783b4e92fd615010a735a61746fbb9") + (revision "1")) + (package + (name "r-conospanel") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kharchenkolab/conosPanel") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zf0aj5d4iaxc3ghvjnaja5qby1avlmljzh94bpyvxbd359z9snn")))) + (properties `((upstream-name . "conosPanel"))) + (build-system r-build-system) + (home-page "https://github.com/kharchenkolab/conosPanel") + (synopsis "Data for the conos package") + (description "The data within this package is a panel of four samples, +each with 3000 cells. There are two samples which are bone marrow (BM), and +two samples which are cord blood (CB).") + (license license:gpl3)))) + +(define-public r-conqur + (let ((commit "c7a88794efd4ecfe4d96988dceeec3b410222e48") + (revision "1")) + (package + (name "r-conqur") + (version (git-version "2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wdl2459/ConQuR") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19a7p2l67mgjy99i5ksjxlhzaqmrnyi1vzvwnhgnx2jrr6crj7rq")))) + (properties `((upstream-name . "ConQuR"))) + (build-system r-build-system) + (propagated-inputs (list r-ade4 + r-ape + r-compositions + r-cqrreg + r-doparallel + r-dplyr + r-fastdummies + r-glmnet + r-gplots + r-gunifrac + r-quantreg + r-randomforest + r-rocr + r-vegan)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/wdl2459/ConQuR") + (synopsis "Batch effects removal for microbiome data") + (description + "This package conducts batch effects removal from a taxa read count +table by a conditional quantile regression method. The distributional +attributes of microbiome data - zero-inflation and over-dispersion, are +simultaneously considered.") + (license license:gpl3)))) + +(define-public r-p2data + (let ((commit "7d4c0e17d7899f9d9b08ab2bf455abe150912f4c") + (revision "1")) + (package + (name "r-p2data") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kharchenkolab/p2data") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hadrldldxvhqs43aqs3c88bqfgql3wcfkbll3jz7fh6z7p3x324")))) + (properties `((upstream-name . "p2data"))) + (build-system r-build-system) + (home-page "https://github.com/kharchenkolab/p2data") + (synopsis "Data for pagoda2") + (description "This package contains data used by pagoda2. The data +within this package are the 3000 bone marrow cells used for vignettes.") + (license license:gpl3)))) + (define-public r-rhtslib12 (let ((commit "ee186daf04876969c7f31c16a0e0fda8e7c16a30") (revision "1")) @@ -747,6 +868,57 @@ high-throughput sequence analysis. The package is primarily useful to developers of other R packages who wish to make use of HTSlib.") (license license:lgpl2.0+)))) +(define-public r-stringendo + (let ((commit "83b8f2d82a09b33b9e895438bb523a021138be01") + (revision "1")) + (package + (name "r-stringendo") + (version (git-version "0.3.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/Stringendo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ap0nhbyd6xx0yl2vgmwk38p22yrkv4k9hw13r35z4wf343rry6v")))) + (properties `((upstream-name . "Stringendo"))) + (build-system r-build-system) + (propagated-inputs (list r-devtools r-usethis)) + (home-page "https://github.com/vertesy/Stringendo") + (synopsis "Stringendo is a string parsing library") + (description + "This package provides string parsing functionalites for generating +plotnames, filenames and paths.") + (license license:gpl3)))) + +(define-public r-readwriter + (let ((commit "71454f4aa706f5d2fbe606acd95abc14224e7058") + (revision "1")) + (package + (name "r-readwriter") + (version (git-version "0.2.9" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/ReadWriter") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sp27smhdva2hi2x0svia2l56k8xrh7p5akn78g5b0lcvz4x3hd7")))) + (properties `((upstream-name . "ReadWriter"))) + (build-system r-build-system) + (propagated-inputs + (list r-gdata r-gtools r-openxlsx r-readr r-stringendo)) + (home-page "https://github.com/vertesy/ReadWriter") + (synopsis "Functions to read and write files conveniently") + (description + "ReadWriter is a set of R functions to read and write files +conveniently.") + (license license:gpl3)))) + (define-public r-streamgraph (let ((commit "76f7173ec89d456ace5943a512e20b1f6810bbcb") (revision "1")) @@ -1178,6 +1350,53 @@ It is the demultiplexing module of Pegasus, which is used by Cumulus in the demultiplexing step.") (license license:bsd-3))) +(define-public python-doubletdetection + (package + (name "python-doubletdetection") + (version "4.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "doubletdetection" version)) + (sha256 + (base32 + "0v0a19014h4p6x8pyz1s78xn3q5w5166cysvg574z6vw79a3s9vp")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'use-poetry-core + (lambda _ + ;; Patch to use the core poetry API. + (substitute* "pyproject.toml" + (("poetry.masonry.api") + "poetry.core.masonry.api"))))))) + (propagated-inputs + (list python-anndata + python-ipywidgets + python-leidenalg + python-vtraag-louvain + python-matplotlib + python-numpy + python-pandas + python-phenograph + python-scanpy + python-scipy + python-tqdm)) + (native-inputs + (list python-black + python-flake8 + python-poetry-core + python-pytest)) + (home-page "https://github.com/JonathanShor/DoubletDetection") + (synopsis + "This is a package to detect doublets in single-cell RNA-seq count matrices") + (description + "This package provides a method to detect and enable removal of doublets +from single-cell RNA-sequencing.") + (license license:expat))) + (define-public python-hclust2 (package (name "python-hclust2") @@ -1255,6 +1474,66 @@ servers supporting the protocol.") genomics data.") (license license:bsd-3))) +(define-public python-phenograph + (package + (name "python-phenograph") + (version "1.5.7") + (source (origin + (method url-fetch) + (uri (pypi-uri "PhenoGraph" version)) + (sha256 + (base32 + "0nji449mzwgp1f87iknl5fmnjdkrhkfkapxvafxdw01s0jg8zcj6")) + (modules '((guix build utils))) + ;; Remove bundled binaries + (snippet + '(delete-file-recursively "phenograph/louvain")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; This test can never succeed because Q_leiden is never set to + ;; anything other than None. + (add-after 'unpack 'disable-leiden-test + (lambda _ + (substitute* "tests/test_cluster.py" + (("def test_run_leiden") "def _test_run_leiden")))) + (add-after 'unpack 'patch-louvain + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "phenograph/core.py" + (("lpath = os.path.*") + (string-append "lpath = \"" + (dirname (search-input-file inputs "/bin/community")) + "\"\n")) + (("linux-(community|hierarchy|convert)" _ thing) thing) + ;; Do not write binaries, because the unmodified "convert" + ;; from louvain only knows how to process plain text files. + (("with open\\(filename \\+ \".bin\", \"w\\+b\"\\) as f:") + "with open(filename + \".bin\", \"w+\") as f:") + (("f.writelines\\(\\[e for t in zip\\(ij, s\\) for e in t\\]\\)") + "for [src, dest], weight in zip(ij, s): \ +f.write(src.astype(\"str\") + ' ' + \ +dest.astype(\"str\") + ' ' + \ +weight.astype(\"str\") + '\\n')"))))))) + (inputs + (list louvain)) + (propagated-inputs + (list python-leidenalg + python-numpy + python-psutil + python-scikit-learn + python-scipy)) + (native-inputs + (list python-pytest)) + (home-page "https://github.com/dpeerlab/PhenoGraph.git") + (synopsis "Graph-based clustering for high-dimensional single-cell data") + (description + "PhenoGraph is a clustering method designed for high-dimensional +single-cell data. It works by creating a graph representing phenotypic +similarities between cells and then identifying communities in this graph.") + (license license:expat))) + (define-public python-phylophlan (package (name "python-phylophlan") @@ -1469,7 +1748,7 @@ use-case, we encourage users to compose functions to achieve their goals.") python-scipy)) (native-inputs (list python-cython python-pytest python-pytest-cov python-nose)) - (home-page "http://www.biom-format.org") + (home-page "https://www.biom-format.org") (synopsis "Biological Observation Matrix (BIOM) format utilities") (description "The BIOM file format is designed to be a general-use format for @@ -2396,7 +2675,7 @@ errors at the end of reads.") ("python" ,python-wrapper))) (native-inputs (list perl perl-clone perl-test-deep perl-test-simple)) - (home-page "http://bowtie-bio.sourceforge.net/bowtie2/index.shtml") + (home-page "https://bowtie-bio.sourceforge.net/bowtie2/index.shtml") (synopsis "Fast and sensitive nucleotide sequence read aligner") (description "Bowtie 2 is a fast and memory-efficient tool for aligning sequencing @@ -2438,7 +2717,7 @@ gapped, local, and paired-end alignment modes.") (inputs (list python-wrapper tbb-2020 zlib)) (supported-systems '("x86_64-linux")) - (home-page "http://bowtie-bio.sourceforge.net/index.shtml") + (home-page "https://bowtie-bio.sourceforge.net/index.shtml") (synopsis "Fast aligner for short nucleotide sequence reads") (description "Bowtie is a fast, memory-efficient short read aligner. It aligns short @@ -2559,7 +2838,7 @@ splice junctions between exons.") ;; Non-portable SSE instructions are used so building fails on platforms ;; other than x86_64. (supported-systems '("x86_64-linux")) - (home-page "http://bio-bwa.sourceforge.net/") + (home-page "https://bio-bwa.sourceforge.net/") (synopsis "Burrows-Wheeler sequence aligner") (description "BWA is a software package for mapping low-divergent sequences against a @@ -3152,7 +3431,7 @@ time.") zlib)) (native-inputs (list python-cython python-nose)) - (home-page "http://crossmap.sourceforge.net/") + (home-page "https://crossmap.sourceforge.net/") (synopsis "Convert genome coordinates between assemblies") (description "CrossMap is a program for conversion of genome coordinates or annotation @@ -3459,6 +3738,35 @@ and record oriented data modeling and the Semantic Web.") resources for bioinformatics.") (license license:bsd-3))) +(define-public python-scrublet + (package + (name "python-scrublet") + (version "0.2.3") + (source (origin + (method url-fetch) + (uri (pypi-uri "scrublet" version)) + (sha256 + (base32 + "0fk5pwk12yz9wpvwkl6j2l2g28f3x35b9r9n5bw6f0i9f0qgd191")))) + (build-system pyproject-build-system) + (arguments '(#:tests? #false)) ;there are none + (propagated-inputs + (list python-annoy + python-cython + python-matplotlib + python-numba + python-numpy + python-pandas + python-scikit-image + python-scikit-learn + python-scipy + python-umap-learn)) + (home-page "https://github.com/swolock/scrublet") + (synopsis "Tool to indentify and remove doublets in single-cell data") + (description "This package provides a tool for identifying and removing +doublets in single-cell RNA-seq data.") + (license license:expat))) + (define-public cwltool (package (name "cwltool") @@ -3663,6 +3971,80 @@ sequencing data. It uses paired-ends and split-reads to sensitively and accurately delineate genomic rearrangements throughout the genome.") (license license:gpl3+))) +(define-public transanno + (package + (name "transanno") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/informationsea/transanno") + ;; Corresponds to tag v0.3.0 + (commit "df49050c92644ea12d9d5c6fae2186ca436dbca3"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jpn7s3cnd9ybk4lmfbhj2arhf6cmrv7jp74n7n87m3a3irkaif1")) + (snippet + '(with-output-to-file "liftover-rs/build.rs" + (lambda _ + (format #true + "fn main() {~@ + println!(\"cargo:rustc-link-lib=lzma\");~@ + }~%")))))) + (build-system cargo-build-system) + (arguments + (list + #:install-source? #false ;fails + #:tests? #false ;"cargo test" ignores build.rs + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-test-files + (lambda _ + (delete-file "Cargo.lock") + (substitute* "liftover-rs/Cargo.toml" + (("anyhow = \"1\"") "anyhow = \"1.0.65\"")) + (substitute* "liftover-rs/prepare-test.sh" + (("/bin/bash") + (string-append #$(this-package-native-input "bash") + "/bin/bash"))) + (invoke "bash" "prepare-test-files.sh"))) + (add-before 'patch-cargo-checksums 'do-not-build-xz + (lambda _ + ;; Detection of liblzma (in rust-lzma-sys, pulled in by + ;; rust-hts-sys) doesn't seem to work, or perhaps it really does + ;; request a static build somewhere. + (substitute* "guix-vendor/rust-lzma-sys-0.1.17.tar.xz/build.rs" + (("if .want_static && .msvc && pkg_config::probe_library\\(\"liblzma\"\\).is_ok\\(\\)") "")))) + (add-before 'install 'chdir + (lambda _ (chdir "transanno")))) + #:cargo-inputs + `(("rust-anyhow" ,rust-anyhow-1) + ("rust-autocompress" ,rust-autocompress-0.2) + ("rust-bio" ,rust-bio-0.41) + ("rust-clap" ,rust-clap-2) + ("rust-csv" ,rust-csv-1) + ("rust-flate2" ,rust-flate2-1) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-log" ,rust-log-0.4) + ("rust-nom" ,rust-nom-5) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)) + #:cargo-development-inputs + `(("rust-clap" ,rust-clap-2) + ("rust-lazy-static" ,rust-lazy-static-1)))) + (native-inputs (list bash)) + (home-page "https://github.com/informationsea/transanno") + (synopsis "LiftOver tool for new genome assemblies") + (description "This package provides an accurate VCF/GFF3/GTF LiftOver tool +for new genome assemblies.") + (license license:gpl3+))) + (define-public trf (package (name "trf") @@ -4747,7 +5129,7 @@ high-throughput sequencing (HTS) assays") ("java-xz" ,java-xz))) (native-inputs (list java-testng)) - (home-page "http://samtools.github.io/htsjdk/") + (home-page "https://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 @@ -4790,7 +5172,7 @@ manipulating HTS data.") ("java-xz" ,java-xz))) (native-inputs (list java-junit)) - (home-page "http://samtools.github.io/htsjdk/") + (home-page "https://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 @@ -4895,7 +5277,7 @@ manipulating HTS data.") (list java-htsjdk java-guava)) (native-inputs (list java-testng)) - (home-page "http://broadinstitute.github.io/picard/") + (home-page "https://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 @@ -4984,7 +5366,7 @@ Class-Path: /~a \ (list java-htsjdk-2.10.1)) (native-inputs (list java-testng java-guava)) - (home-page "http://broadinstitute.github.io/picard/") + (home-page "https://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 @@ -5113,56 +5495,70 @@ VCF.") (define-public fastqc (package (name "fastqc") - (version "0.11.5") + (version "0.11.9") (source (origin - (method url-fetch) - (uri (string-append "http://www.bioinformatics.babraham.ac.uk/" - "projects/fastqc/fastqc_v" - version "_source.zip")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/s-andrews/FastQC") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "18rrlkhcrxvvvlapch4dpj6xc6mpayzys8qfppybi8jrpgx5cc5f")))) + "00y9drm0bkpxw8xfl8ysss18jmnhj8blgqgr6fpa58rkpfcbg8qk")) + (snippet + '(for-each delete-file + '("cisd-jhdf5.jar" + "sam-1.103.jar" + "jbzip2-0.9.jar"))))) (build-system ant-build-system) (arguments - `(#:tests? #f ; there are no tests - #:build-target "build" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-dependencies - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "build.xml" - (("jbzip2-0.9.jar") - (search-input-file inputs "/share/java/jbzip2.jar")) - (("sam-1.103.jar") - (search-input-file inputs - "/share/java/sam-1.112.jar")) - (("cisd-jhdf5.jar") - (search-input-file inputs - "/share/java/sis-jhdf5.jar"))))) - ;; 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/fastqc/")) - (exe (string-append share "/fastqc"))) - (for-each mkdir-p (list bin share)) - (copy-recursively "bin" share) - (substitute* exe - (("my \\$java_bin = 'java';") - (string-append "my $java_bin = '" - (assoc-ref inputs "java") - "/bin/java';"))) - (chmod exe #o555) - (symlink exe (string-append bin "/fastqc")) - #t)))))) + (list + #:tests? #f ;there are no tests + #:build-target "build" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("build.xml" ".classpath") + (("jbzip2-0.9.jar") + (search-input-file inputs "/share/java/jbzip2.jar")) + (("sam-1.103.jar") + (search-input-file inputs "/share/java/sam-1.112.jar")) + (("cisd-jhdf5.jar") + (search-input-file inputs "/share/java/sis-jhdf5.jar"))))) + ;; There is no installation target + (replace 'install + (lambda* (#:key inputs #:allow-other-keys) + (let* ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share/fastqc/")) + (exe (string-append share "/fastqc"))) + (for-each mkdir-p (list bin share)) + (copy-recursively "bin" share) + (substitute* exe + (("my \\$java_bin = \"java\";") + (string-append "my $java_bin = \"" + ;; Use java from the JRE, not the JDK + #$(this-package-input "icedtea") "/bin/java" + "\";")) + (("\\$RealBin\\$delimiter\\$RealBin.*") + (string-append + (string-join + (list + share + (search-input-file inputs "/share/java/sam-1.112.jar") + (search-input-file inputs "/share/java/jbzip2.jar") + (search-input-file inputs "/share/java/sis-jhdf5.jar")) + "$delimiter") + "\";\n"))) + (chmod exe #o555) + (symlink exe (string-append bin "/fastqc")))))))) (inputs - `(("java" ,icedtea) - ("perl" ,perl) ; needed for the wrapper script - ("java-cisd-jhdf5" ,java-cisd-jhdf5) - ("java-picard-1.113" ,java-picard-1.113) - ("java-jbzip2" ,java-jbzip2))) + (list icedtea + java-cisd-jhdf5 + java-picard-1.113 + java-jbzip2 + perl)) ;needed for the wrapper script (native-inputs (list unzip)) (home-page "https://www.bioinformatics.babraham.ac.uk/projects/fastqc/") @@ -5190,7 +5586,7 @@ The main functions of FastQC are: (define-public fastp (package (name "fastp") - (version "0.20.1") + (version "0.23.2") (source (origin (method git-fetch) @@ -5200,20 +5596,21 @@ The main functions of FastQC are: (file-name (git-file-name name version)) (sha256 (base32 - "0ly8mxdvrcy23jwxyppysx3dhb1lwsqhfbgpyvargxhfk6k700x4")))) + "04nmrqpjc3qni0cbazlwvpg8rk1mkfmfma0n4q3zivs3zi6rfnav")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are none - #:make-flags - ,#~(list (string-append "PREFIX=" #$output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-before 'install 'create-target-dir - (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))))))) + (list + #:tests? #false ;there are none + #:make-flags + #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-before 'install 'create-target-dir + (lambda _ + (mkdir-p (string-append #$output "/bin"))))))) (inputs - (list zlib)) + (list isa-l libdeflate)) (home-page "https://github.com/OpenGene/fastp/") (synopsis "All-in-one FastQ preprocessor") (description @@ -5404,21 +5801,22 @@ experiments and provide highly stable thresholds based on reproducibility.") (outputs '("out" ;for library "python")) ;for Python bindings (arguments - `(#:configure-flags - ,#~(list "--without-sse" ; configure script probes for CPU features when SSE is enabled. - (string-append "--enable-python-binding=" #$output:python)) - #:phases - (modify-phases %standard-phases + (list + #:configure-flags + #~(list "--without-sse" ; configure script probes for CPU features when SSE is enabled. + (string-append "--enable-python-binding=" #$output:python)) + #:phases + '(modify-phases %standard-phases (add-before 'check 'set-SHELL-variable (lambda _ ;; generator_manager.hpp either uses /bin/sh or $SHELL ;; to run tests. (setenv "SHELL" (which "bash"))))))) (native-inputs - `(("bc" ,bc) - ("time" ,time) - ("python" ,python-wrapper) - ("pkg-config" ,pkg-config))) + (list bc + time + python-wrapper + pkg-config)) (inputs (list htslib)) (synopsis "Tool for fast counting of k-mers in DNA") @@ -5567,7 +5965,7 @@ data.") tar wget zlib)) - (home-page "http://kaiju.binf.ku.dk/") + (home-page "https://kaiju.binf.ku.dk/") (synopsis "Fast and sensitive taxonomic classification for metagenomics") (description "Kaiju is a program for sensitive taxonomic classification of high-throughput sequencing reads from metagenomic whole genome sequencing @@ -6083,7 +6481,7 @@ predicts the locations of structural units in the sequences.") ("openblas" ,openblas))) (native-inputs (list which)) - (home-page "http://www.bioinf.uni-leipzig.de/Software/proteinortho") + (home-page "https://www.bioinf.uni-leipzig.de/Software/proteinortho") (synopsis "Detect orthologous genes across species") (description "Proteinortho is a tool to detect orthologous genes across different @@ -6358,7 +6756,7 @@ phylogenies.") "rsem-run-prsem-testing-procedure")))))))) (inputs (list boost r-minimal perl htslib-1.3 zlib)) - (home-page "http://deweylab.biostat.wisc.edu/rsem/") + (home-page "https://deweylab.biostat.wisc.edu/rsem/") (synopsis "Estimate gene expression levels from RNA-Seq data") (description "RSEM is a software package for estimating gene and isoform expression @@ -6393,7 +6791,7 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.") zlib)) (native-inputs (list python-nose)) - (home-page "http://rseqc.sourceforge.net/") + (home-page "https://rseqc.sourceforge.net/") (synopsis "RNA-seq quality control package") (description "RSeQC provides a number of modules that can comprehensively evaluate @@ -6453,7 +6851,7 @@ distribution, coverage uniformity, strand specificity, etc.") ("readline" ,readline))) (native-inputs (list pkg-config)) - (home-page "http://seek.princeton.edu") + (home-page "https://seek.princeton.edu") (synopsis "Gene co-expression search engine") (description "SEEK is a computational gene co-expression search engine. SEEK provides @@ -6494,7 +6892,7 @@ to the user's query of interest.") (native-inputs (list pkg-config)) (inputs (list htslib ncurses perl python zlib)) - (home-page "http://samtools.sourceforge.net") + (home-page "https://samtools.sourceforge.net") (synopsis "Utilities to efficiently manipulate nucleotide sequence alignments") (description "Samtools implements various utilities for post-processing nucleotide @@ -7572,7 +7970,7 @@ optionally compressed by gzip.") (install-file "SNAPCommand" bin))))))) (native-inputs (list zlib)) - (home-page "http://snap.cs.berkeley.edu/") + (home-page "https://snap.cs.berkeley.edu/") (synopsis "Short read DNA sequence aligner") (description "SNAP is a fast and accurate aligner for short DNA reads. It is @@ -7839,7 +8237,7 @@ sequences.") ;; no "configure" script (delete 'configure)))) (inputs (list zlib)) - (home-page "http://subread.sourceforge.net/") + (home-page "https://subread.sourceforge.net/") (synopsis "Tool kit for processing next-gen sequencing data") (description "The subread package contains the following tools: subread aligner, a @@ -7886,7 +8284,7 @@ against local background noises.") (install-file "stringtie" bin))))))) (inputs (list bzip2 htslib-for-stringtie libdeflate zlib)) - (home-page "http://ccb.jhu.edu/software/stringtie/") + (home-page "https://ccb.jhu.edu/software/stringtie/") (synopsis "Transcript assembly and quantification for RNA-Seq data") (description "StringTie is a fast and efficient assembler of RNA-Seq sequence @@ -8020,6 +8418,43 @@ sequence.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:bsd-3))) +(define-public r-ggexpress + (let ((commit "82f169385f87af328ff971195c2f64ff3c573a8a") + (revision "1")) + (package + (name "r-ggexpress") + (version (git-version "0.6.6" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/ggExpress") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "122hnw8xv33ngcd4fd7hmf817a06ih1knrxxi0cgklj1fwinm0z4")))) + (properties `((upstream-name . "ggExpress"))) + (build-system r-build-system) + (propagated-inputs (list r-cowplot + r-ggplot2 + r-ggpubr + r-markdownhelpers + r-markdownreports + r-rcolorbrewer + r-sessioninfo + r-seurat + r-sm + r-stringendo + r-tidyverse)) + (home-page "https://github.com/vertesy/ggExpress") + (synopsis + "This is a fast tool to create, annotate and export plots in R") + (description + "This package is a set of R functions for generating precise figures. +This tool helps you to create clean markdown reports about what you just +discovered with your analysis script.") + (license license:gpl3)))) + (define-public r-gg3d (let ((commit "ffdd837d30c1671cd0895db94bdd7b1594dbfcb0") (revision "1")) @@ -8336,7 +8771,10 @@ Pore-C concatemers.") r-seurat r-singlecellexperiment r-slingshot - r-summarizedexperiment)) + r-summarizedexperiment + python + python-scrublet + python-doubletdetection)) (home-page "https://github.com/xnnba1984/DoubletCollection") (synopsis "Tool for finding doublets in scRNA-seq data") (description @@ -8345,6 +8783,46 @@ doublet-detection methods. In addition, this tool is used for execution and benchmark of those eight mentioned methods.") (license license:gpl3+)))) +(define-public r-plsdabatch + (let ((commit "4aadf3a99709afae462db310386b6cf5db20088c") + (revision "1")) + (package + (name "r-plsdabatch") + (version (git-version "0.2.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/EvaYiwenWang/PLSDAbatch") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "047l923lq2ji7rwybh9b9zkblzvvhkpli5gb2x8g2q9f2n5022nr")))) + (properties `((upstream-name . "PLSDAbatch"))) + (build-system r-build-system) + (propagated-inputs (list r-ggplot2 + r-ggpubr + r-gridextra + r-lmertest + r-mixomics + r-mvtnorm + r-performance + r-rdpack + r-scales)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/EvaYiwenWang/PLSDAbatch") + (synopsis "PLSDA-batch") + (description + "This package provides a new batch effect correction method based on +Projection to Latent Structures Discriminant Analysis named “PLSDA-batch” to +correct data prior to any downstream analysis. PLSDA-batch estimates latent +components related to treatment and batch effects to remove batch variation. +The method is multivariate, non-parametric and performs dimension reduction. +Combined with centered log ratio transformation for addressing uneven library +sizes and compositional structure, PLSDA-batch addresses all characteristics +of microbiome data that existing correction methods have ignored so far.") + (license license:gpl3)))) + (define-public r-psupertime (let ((commit "73825a28d3bd9bc881c15ee0c4c218eec1c9c207") (revision "1")) @@ -8440,6 +8918,62 @@ target genes, Pando simultaneously infers gene modules and sets of regulatory regions for each transcription factor.") (license license:expat))) +(define-public r-premessa + (let ((commit "68b42bb984637d0f3ad6a0ecc83e9278994afc85") + (revision "1")) + (package + (name "r-premessa") + (version (git-version "0.3.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ParkerICI/premessa") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1l0q431zk0lvg22130nx84gdqi7cpl05yah4am63lbx6m4c769pb")) + (snippet + '(delete-file "inst/normalizer_shinyGUI/www/d3.min.js")))) + (properties `((upstream-name . "premessa"))) + (build-system r-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/normalizer_shinyGUI/www/" + (invoke "esbuild" (assoc-ref inputs "d3.v4.js") + "--minify" "--outfile=d3.min.js"))))))) + (propagated-inputs + (list r-data-table + r-flowcore + r-ggplot2 + r-gridextra + r-hexbin + r-jsonlite + r-reshape + r-rhandsontable + r-shiny + r-shinyjqui)) + (native-inputs + `(("esbuild" ,esbuild) + ("d3.v4.js" + ,(origin + (method url-fetch) + (uri "https://d3js.org/d3.v4.js") + (sha256 + (base32 + "0y7byf6kcinfz9ac59jxc4v6kppdazmnyqfav0dm4h550fzfqqlg")))))) + (home-page "https://github.com/ParkerICI/premessa") + (synopsis "Pre-processing of flow and mass cytometry data") + (description + "This is an R package for pre-processing of flow and mass cytometry +data. This package includes panel editing or renaming for FCS files, +bead-based normalization and debarcoding.") + (license license:gpl3)))) + (define-public r-presto (let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad") (revision "0")) @@ -8531,6 +9065,70 @@ auROC analysis.") visualization and analysis of single-cell data using R.") (license license:gpl3+)))) +(define-public r-markdownhelpers + (let ((commit "793372d28ebed607cc1d35f909a1caedb2b41ffe") + (revision "1")) + (package + (name "r-markdownhelpers") + (version (git-version "0.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/MarkdownHelpers") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d18s2ydhfjm3hjkxz42dirhwrrv792m6mvkmypallaa2qnwrmkg")))) + (properties `((upstream-name . "MarkdownHelpers"))) + (build-system r-build-system) + (propagated-inputs (list r-devtools r-stringendo r-usethis)) + (home-page "https://github.com/vertesy/MarkdownHelpers") + (synopsis "Helper functions for MarkdownReports and ggExpress") + (description + "This package provides a set of R functions to parse markdown and other +generic helpers.") + (license license:gpl3)))) + +(define-public r-markdownreports + (let ((commit "3ba1103e3ddc6df3a0c090eb884f5e65c461eb31") + (revision "1")) + (package + (name "r-markdownreports") + (version (git-version "4.5.9" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/MarkdownReports") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xmasdb630b6nvxi5m1i8pyxiy49nxpzyxf9h8spdppx92rhdkc8")))) + (properties `((upstream-name . "MarkdownReports"))) + (build-system r-build-system) + (propagated-inputs + (list r-clipr + r-codeandroll2 + r-colorramps + r-devtools + r-gplots + r-markdownhelpers + r-rcolorbrewer + r-readwriter + r-sessioninfo + r-sm + r-stringendo + r-venndiagram + r-vioplot)) + (home-page "https://github.com/vertesy/MarkdownReports") + (synopsis "Tool for generating cientific figures and reports") + (description + "This is a set of R functions that allows you to generate precise +figures. This tool will create clean markdown reports about what you just +discovered.") + (license license:gpl3)))) + (define-public r-snapatac (package (name "r-snapatac") @@ -8580,6 +9178,30 @@ clustering analysis, differential analysis, motif inference and exploration of single cell ATAC-seq sequencing data.") (license license:gpl3))) +(define-public r-tictoc + (package + (name "r-tictoc") + (version "1.1") + (source (origin + (method url-fetch) + (uri (cran-uri "tictoc" version)) + (sha256 + (base32 + "0ka7zd857xfqb5afn0psn0yzfv2qjb0ddxfyiq6aggbnla5qc3qj")))) + (properties `((upstream-name . "tictoc"))) + (build-system r-build-system) + (home-page "https://github.com/jabiru/tictoc") + (synopsis + "Time R scripts and implementations of stack and list structures") + (description + "The tictoc package provides the timing functions @code{tic} and +@code{toc} that can be nested. It provides an alternative to +@code{system.time()} with a different syntax similar to that in another +well-known software package. @code{tic} and @code{toc} are easy to use, and +are especially useful when timing several sections in more than a few lines of +code.") + (license license:asl2.0))) + (define-public r-tsis (let ((commit "24460298fbe1d26e4da390f6e4f3d4d9d62334dc") (revision "1")) @@ -9000,7 +9622,7 @@ of contact distributions around selected landmarks.") (base32 "1hsx6qgwr0i67fhy9257zj7s0ppncph2hjgbia5nn6nfmj0ax6l9")))) (build-system r-build-system) - (home-page "http://centipede.uchicago.edu/") + (home-page "https://centipede.uchicago.edu/") (synopsis "Predict transcription factor binding sites") (description "CENTIPEDE applies a hierarchical Bayesian mixture model to infer regions @@ -9238,7 +9860,7 @@ experience substantial biological insertions and deletions.") perl-getopt-long perl-json perl-statistics-pca)) - (home-page "http://prinseq.sourceforge.net/") + (home-page "https://prinseq.sourceforge.net/") (synopsis "Preprocess sequence data in FASTA or FASTQ formats") (description "PRINSEQ is a bioinformatics tool to help you preprocess your genomic or @@ -9723,7 +10345,7 @@ AM_CONDITIONAL(AMPNG, true)")) zlib)) (native-inputs (list autoconf automake libtool pkg-config)) - (home-page "http://emboss.sourceforge.net") + (home-page "https://emboss.sourceforge.net") (synopsis "Molecular biology analysis suite") (description "EMBOSS is the \"European Molecular Biology Open Software Suite\". EMBOSS is an analysis package specially developed for the needs of @@ -10400,7 +11022,7 @@ remove biased methylation positions for RRBS sequence files.") (for-each (lambda (file) (install-file file target)) (find-files "../exe" ".*")))))))) - (home-page "http://evolution.genetics.washington.edu/phylip/") + (home-page "https://evolution.genetics.washington.edu/phylip/") (synopsis "Tools for inferring phylogenies") (description "PHYLIP (the PHYLogeny Inference Package) is a package of programs for inferring phylogenies (evolutionary trees).") @@ -14671,110 +15293,125 @@ datasets.") (define-public ngless (package (name "ngless") - (version "1.3.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ngless-toolkit/ngless.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pb9f6b0yk9p4cdwiym8r190q1bcdiwvc7i2s6rw54qgi8r3g6pj")) - (patches (search-patches "ngless-unliftio.patch")))) + (version "1.5.0") + (source (origin + (method url-fetch) + (uri (hackage-uri "NGLess" version)) + (sha256 + (base32 + "0pljyrlpr9r3cl5311dhgxdl8y40szyi4vprn34i3piy0qrldymi")))) (build-system haskell-build-system) (arguments - (list - #:haddock? #f ;The haddock phase fails with: NGLess/CmdArgs.hs:20:1: - ;error: parse error on input import - ;import Options.Applicative - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'create-Versions.hs - (lambda _ - (substitute* "Makefile" - (("BWA_VERSION = .*") - (string-append "BWA_VERSION = " - #$(package-version bwa) "\n")) - (("SAM_VERSION = .*") - (string-append "SAM_VERSION = " - #$(package-version samtools) "\n")) - (("PRODIGAL_VERSION = .*") - (string-append "PRODIGAL_VERSION = " - #$(package-version prodigal) "\n")) - (("MINIMAP2_VERSION = .*") - (string-append "MINIMAP2_VERSION = " - #$(package-version minimap2) "\n"))) - (invoke "make" "NGLess/Dependencies/Versions.hs"))) - (add-after 'create-Versions.hs 'create-cabal-file - (lambda _ (invoke "hpack"))) - ;; These tools are expected to be installed alongside ngless. - (add-after 'install 'link-tools - (lambda* (#:key inputs #:allow-other-keys) - (let ((bin (string-append #$output "/bin/"))) - (symlink (search-input-file inputs "/bin/prodigal") - (string-append bin "ngless-" #$version "-prodigal")) - (symlink (search-input-file inputs "/bin/minimap2") - (string-append bin "ngless-" #$version "-minimap2")) - (symlink (search-input-file inputs "/bin/samtools") - (string-append bin "ngless-" #$version "-samtools")) - (symlink (search-input-file inputs "/bin/bwa") - (string-append bin "ngless-" #$version "-bwa")))))))) - (inputs - (list prodigal - bwa - samtools - minimap2 - ghc-aeson - ghc-ansi-terminal - ghc-async - ghc-atomic-write - ghc-bytestring-lexing - ghc-conduit - ghc-conduit-algorithms - ghc-conduit-extra - ghc-configurator - ghc-convertible - ghc-data-default - ghc-diagrams-core - ghc-diagrams-lib - ghc-diagrams-svg - ghc-double-conversion - ghc-edit-distance - ghc-either - ghc-errors - ghc-extra - ghc-filemanip - ghc-file-embed - ghc-gitrev - ghc-hashtables - ghc-http-conduit - ghc-inline-c - ghc-inline-c-cpp - ghc-int-interval-map - ghc-missingh - ghc-optparse-applicative - ghc-regex - ghc-safe - ghc-safeio - ghc-strict - ghc-tar - ghc-tar-conduit - ghc-unliftio - ghc-unliftio-core - ghc-vector - ghc-yaml - ghc-zlib)) + `(#:haddock? #f + #:phases + (modify-phases %standard-phases + (add-before 'configure 'update-constraints + (lambda _ + (substitute* "NGLess.cabal" + (("\\b(base)\\s+[^,]+" all dep) + dep)))) + (add-after 'unpack 'create-Versions.hs + (lambda _ + (substitute* "NGLess/Dependencies/Versions.hs" + (("bwaVersion = .+") + (string-append "bwaVersion = \"" + ,(package-version bwa) "\"")) + (("samtoolsVersion = .+") + (string-append "samtoolsVersion = \"" + ,(package-version samtools) "\"")) + (("prodigalVersion = .+") + (string-append "prodigalVersion = \"" + ,(package-version prodigal) "\"")) + (("megahitVersion = .+") + (string-append "megahitVersion = \"" + ,(package-version megahit) "\"")) + (("minimap2Version = .+") + (string-append "minimap2Version = \"" + ,(package-version minimap2) "\""))))) + ;; See NGLess/FileManagement.hs. + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bwa (search-input-file inputs "/bin/bwa")) + (samtools (search-input-file inputs "/bin/samtools")) + (prodigal (search-input-file inputs "/bin/prodigal")) + (minimap2 (search-input-file inputs "/bin/minimap2")) + (megahit (search-input-file inputs "/bin/megahit"))) + (wrap-program (string-append out "/bin/ngless") + `("NGLESS_BWA_BIN" " " = (,bwa)) + `("NGLESS_SAMTOOLS_BIN" " " = (,samtools)) + `("NGLESS_PRODIGAL_BIN" " " = (,prodigal)) + `("NGLESS_MINIMAP2_BIN" " " = (,minimap2)) + `("NGLESS_MEGAHIT_BIN" " " = (,megahit)))))) + ;; Sanity check. + (add-after 'wrap-program 'check-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((ngless (string-append (assoc-ref outputs "out") "/bin/ngless"))) + (invoke ngless "--check-install")))) + (add-after 'register 'remove-libraries + (lambda* (#:key outputs #:allow-other-keys) + (delete-file-recursively (string-append (assoc-ref outputs "out") "/lib"))))))) + (inputs (list prodigal + bwa + samtools + minimap2 + megahit + ghc-missingh + ghc-aeson + ghc-ansi-terminal + ghc-async + ghc-atomic-write + ghc-bytestring-lexing + ghc-conduit + ghc-conduit-algorithms + ghc-conduit-extra + ghc-configurator + ghc-convertible + ghc-data-default + ghc-edit-distance + ghc-either + ghc-errors + ghc-extra + ghc-file-embed + ghc-filemanip + ghc-hashable + ghc-hashtables + ghc-hostname + ghc-http-client + ghc-http-conduit + ghc-inline-c + ghc-inline-c-cpp + ghc-int-interval-map + ghc-network + ghc-optparse-applicative + ghc-primitive + ghc-random-shuffle + ghc-regex + ghc-resourcet + ghc-safe + ghc-stm-chans + ghc-stm-conduit + ghc-strict + ghc-tar + ghc-tar-conduit + ghc-unix-compat + ghc-unliftio + ghc-unliftio-core + ghc-vector + ghc-vector-algorithms + ghc-yaml + ghc-zlib + ghc-bzlib-conduit + ghc-double-conversion + ghc-safeio)) (propagated-inputs (list r-r6 r-hdf5r r-iterators r-itertools r-matrix)) - (native-inputs - (list ghc-hpack - ghc-quickcheck - ghc-test-framework - ghc-test-framework-hunit - ghc-test-framework-quickcheck2 - ghc-test-framework-th)) + (native-inputs (list ghc-hunit + ghc-quickcheck + ghc-tasty + ghc-tasty-hunit + ghc-tasty-quickcheck + ghc-tasty-th)) (home-page "https://ngless.embl.de/") (synopsis "DSL for processing next-generation sequencing data") (description "Ngless is a domain-specific language for @@ -15515,6 +16152,60 @@ information... The package can also be used to extract data from @code{.loom} files.") (license license:expat)))) +(define-public r-seurat-utils + (let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5") + (revision "1")) + (package + (name "r-seurat-utils") + (version (git-version "1.6.5" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/Seurat.utils") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mn64h375mkj6x4ix5493z32gqg96yc507j5jr0lx9g5wk1bf762")))) + (properties `((upstream-name . "Seurat.utils"))) + (build-system r-build-system) + (propagated-inputs (list r-codeandroll2 + r-cowplot + r-dplyr + r-ggcorrplot + r-ggexpress + r-ggplot2 + r-ggpubr + r-ggrepel + r-hgnchelper + r-htmlwidgets + r-markdownhelpers + r-markdownreports + r-matrix + r-matrixstats + r-princurve + r-r-utils + r-readr + r-readwriter + r-reshape2 + r-scales + r-seurat + r-soupx + r-sparsematrixstats + r-stringendo + r-stringr + r-tibble + r-tictoc + r-vroom)) + (home-page "https://github.com/vertesy/Seurat.utils") + (synopsis "Collection of utility functions for Seurat") + (description + "This is a collection of utility functions for Seurat. These functions +allow the automation and multiplexing of plotting, 3D plotting, visualization +of statistics & QC, interaction with the Seurat object. Some functionalities +require functions from CodeAndRoll and MarkdownReports libraries.") + (license license:gpl3)))) + (define-public r-seuratwrappers ;; There are no releases or tags. (let ((commit "d28512f804d5fe05e6d68900ca9221020d52cf1d") @@ -16679,7 +17370,7 @@ The output is in SAM format.") (list libxml2)) (native-inputs (list check swig)) - (home-page "http://sbml.org/Software/libSBML") + (home-page "https://sbml.org/Software/libSBML") (synopsis "Process SBML files and data streams") (description "LibSBML is a library to help you read, write, manipulate, translate, and validate SBML files and data streams. The @dfn{Systems Biology @@ -16810,6 +17501,40 @@ sequencing (e.g. mapping or base/indel alignment uncertainty), which are usually ignored by other methods or only used for filtering.") (license license:expat))) +(define-public louvain + (package + (name "louvain") + (version "0.2") + (source (origin + (method url-fetch) + (uri "mirror://sourceforge/louvain/louvain_latest.tar.gz") + (sha256 + (base32 + "0hqlv5jqc889nbv7j1bchrx4zhh69hgr2mqvfdygc7kwrywn22lb")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'patch-includes + (lambda _ + (substitute* "main_community.cpp" + (("using namespace std;" m) + (string-append "#include <unistd.h> /* for getpid */\n" m))))) + (replace 'install + (lambda _ + (for-each + (lambda (exe) + (install-file exe (string-append #$output "/bin"))) + '("convert" "community" "hierarchy"))))))) + (home-page "https://sourceforge.net/projects/louvain/") + (synopsis "Multi-criteria community detection") + (description "This package offers a set of functions to use in order to +compute communities on graphs weighted or unweighted.") + (license license:gpl3+))) + (define-public ivar (package (name "ivar") @@ -17598,7 +18323,6 @@ aligner.") (list python-black python-flake8 python-hypothesis - python-pre-commit python-pytest python-setuptools-scm python-wheel)) @@ -17616,7 +18340,7 @@ populations.") (define-public scregseg (package (name "scregseg") - (version "0.1.1") + (version "0.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -17625,16 +18349,22 @@ populations.") (file-name (git-file-name name version)) (sha256 (base32 - "1k8hllr5if6k2mm2zj391fv40sfc008cjm04l9vgfsdppb80i112")) + "07g2barywa1wi8mggbxkbxqjw1fzd0a0l9cjdbkx4s40imb1dbxb")) (snippet - #~(begin - (use-modules ((guix build utils))) - (delete-file "src/scregseg/_utils.c"))))) - (build-system python-build-system) + '(delete-file "src/scregseg/_utils.c")))) + (build-system pyproject-build-system) (arguments - `(#:tests? #false ; tests require network access - #:phases - (modify-phases %standard-phases + (list + #:phases + '(modify-phases %standard-phases + ;; Numba needs a writable dir to cache functions. + (add-before 'check 'set-numba-cache-dir + (lambda _ + (setenv "NUMBA_CACHE_DIR" "/tmp"))) + ;; Cython extensions have to be built before running the tests. + (add-before 'check 'build-extensions + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace"))) (add-after 'unpack 'do-not-fail-to-find-sklearn (lambda _ ;; XXX: I have no idea why it cannot seem to find sklearn. @@ -18552,7 +19282,7 @@ useful for bioinformatic analysis.") (define-public go-github-com-biogo-hts-bam (package (name "go-github-com-biogo-hts-bam") - (version "1.4.3") + (version "1.4.4") (source (origin (method git-fetch) (uri (git-reference @@ -18561,7 +19291,7 @@ useful for bioinformatic analysis.") (file-name (git-file-name name version)) (sha256 (base32 - "013ga6ilc4m3hyfr3yyiva9g4vs81afhj73v2sy7r75b5zxw7lx1")))) + "1vkcqxyajghx5p5j7g2i376nbsxh8q2smk0smlv8mi34yr7hlw5b")))) (build-system go-build-system) (arguments '(#:import-path "github.com/biogo/hts/bam" |