diff options
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r-- | gnu/packages/bioinformatics.scm | 805 |
1 files changed, 668 insertions, 137 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 77bc2eba14..41cdcc1de6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -131,6 +131,7 @@ #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages protobuf) @@ -162,6 +163,7 @@ #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages uglifyjs) + #:use-module (gnu packages video) #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages wget) @@ -574,6 +576,30 @@ BED, GFF/GTF, VCF.") whole-genome bisulfite sequencing (WGBS) reads from directional protocol.") (license license:asl2.0))) +(define-public bustools + (package + (name "bustools") + (version "0.43.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BUStools/bustools") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "068kjlc4d528269nl5mc3j8h2c95r1v545d3fi1iw1ckg8rba0hg")))) + (build-system cmake-build-system) + (arguments (list #:tests? #f)) ;no test target + (inputs (list zlib)) + (home-page "https://bustools.github.io") + (synopsis "Tools for working with BUS files") + (description "bustools is a program for manipulating BUS files for single +cell RNA-Seq datasets. It can be used to error correct barcodes, collapse +UMIs, produce gene count or transcript compatibility count matrices, and is useful +for many other tasks.") + (license license:bsd-2))) + (define-public cellsnp-lite ;; Last release is from November 2021 and does not contain fixes. (let ((commit "0885d746b0b1ea65c8ef92f8943ca7669ca9734a") @@ -617,6 +643,50 @@ Compared to cellSNP, this package is more efficient with higher speed and less memory usage.") (license license:asl2.0)))) +(define-public cpat + (package + (name "cpat") + (version "3.0.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "CPAT" version)) + (sha256 + (base32 + "0dfrwwbhv1n4nh2a903d1qfb30fgxgya89sa70aci3wzf8h2z0vd")) + (modules '((guix build utils))) + (snippet + '(for-each delete-file-recursively + (list ".eggs" + "lib/__pycache__/" + "lib/cpmodule/__pycache__/"))))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "test" + ;; There is no test4.fa + (substitute* "test.sh" + ((".*-g test4.fa.*") "")) + (invoke "bash" "test.sh")))))))) + (propagated-inputs + (list python-numpy python-pysam)) + (inputs + (list r-minimal)) + (home-page "https://wlcb.oit.uci.edu/cpat/") + (synopsis "Alignment-free distinction between coding and noncoding RNA") + (description + "CPAT is a method to distinguish coding and noncoding RNA by using a +logistic regression model based on four pure sequence-based, linguistic +features: ORF size, ORF coverage, Ficket TESTCODE, and Hexamer usage bias. +Linguistic features based method does not require other genomes or protein +databases to perform alignment and is more robust. Because it is +alignment-free, it runs much faster and also easier to use.") + (license license:gpl2+))) + (define-public pbcopper (package (name "pbcopper") @@ -1070,12 +1140,48 @@ of single-cell data using Seurat, RcppML nmf, SingleCellExperiments and similar.") (license license:gpl2+)))) +(define-public r-stacas + (package + (name "r-stacas") + (version "2.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/carmonalab/STACAS") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13i0h5i6vlbrb8ndq9gr81560z9d74b2c7m3rjfzls01irjza9hm")))) + (properties `((upstream-name . "STACAS"))) + (build-system r-build-system) + (propagated-inputs + (list r-biocneighbors + r-biocparallel + r-ggplot2 + r-ggridges + r-pbapply + r-r-utils + r-seurat)) + (home-page "https://github.com/carmonalab/STACAS") + (synopsis "Sub-type anchoring correction for alignment in Seurat") + (description + "This package implements methods for batch correction and integration of +scRNA-seq datasets, based on the Seurat anchor-based integration framework. +In particular, STACAS is optimized for the integration of heterogenous +datasets with only limited overlap between cell sub-types (e.g. TIL sets of +CD8 from tumor with CD8/CD4 T cells from lymphnode), for which the default +Seurat alignment methods would tend to over-correct biological differences. +The 2.0 version of the package allows the users to incorporate explicit +information about cell-types in order to assist the integration process.") + (license license:gpl3))) + (define-public r-stringendo - (let ((commit "83b8f2d82a09b33b9e895438bb523a021138be01") + (let ((commit "15594b1bba11048a812874bafec0eea1dcc8618a") (revision "1")) (package (name "r-stringendo") - (version (git-version "0.3.4" revision commit)) + (version (git-version "0.6.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1084,10 +1190,10 @@ similar.") (file-name (git-file-name name version)) (sha256 (base32 - "1ap0nhbyd6xx0yl2vgmwk38p22yrkv4k9hw13r35z4wf343rry6v")))) + "15ij4zf2j9c8m9n4bqhmxkchjh2bhddwjfxngfpwv7c5wjqyi6ir")))) (properties `((upstream-name . "Stringendo"))) (build-system r-build-system) - (propagated-inputs (list r-devtools r-usethis)) + (propagated-inputs (list r-clipr)) (home-page "https://github.com/vertesy/Stringendo") (synopsis "Stringendo is a string parsing library") (description @@ -1096,11 +1202,11 @@ plotnames, filenames and paths.") (license license:gpl3)))) (define-public r-readwriter - (let ((commit "12d32cb6533ef4b9eab4d707d1502525c2034aee") + (let ((commit "91373c44641014a1ce8e1c3e928747608aae8f54") (revision "1")) (package (name "r-readwriter") - (version (git-version "0.3.2" revision commit)) + (version (git-version "1.5.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1109,11 +1215,11 @@ plotnames, filenames and paths.") (file-name (git-file-name name version)) (sha256 (base32 - "1hy47g8d7zppr2i9zlkwl2yb0ii8x710hqk07h089ldx9171qxab")))) + "156kvmplrip0w1zhs9yl5r0ayjipa0blhy614l65hbsjn1lwbskr")))) (properties `((upstream-name . "ReadWriter"))) (build-system r-build-system) (propagated-inputs - (list r-gdata r-gtools r-openxlsx r-readr r-stringendo)) + (list r-gtools r-openxlsx r-readr r-stringendo)) (home-page "https://github.com/vertesy/ReadWriter") (synopsis "Functions to read and write files conveniently") (description @@ -1156,6 +1262,32 @@ shape. This package provides an @code{htmlwidget} for building streamgraph visualizations.") (license license:expat)))) +(define-public r-wasabi + (let ((commit "8c33cabde8d18c2657cd6e38e7cb834f87cf9846") + (revision "1")) + (package + (name "r-wasabi") + (version (git-version "1.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/COMBINE-lab/wasabi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0rpdj6n4cnx8n2zl60dzgl638474sg49dknwi9x3qb4g56dpphfa")))) + (properties `((upstream-name . "wasabi"))) + (build-system r-build-system) + (propagated-inputs (list r-data-table r-rhdf5 r-rjson)) + (home-page "https://github.com/COMBINE-lab/wasabi") + (synopsis "Use Sailfish and Salmon with Sleuth") + (description + "This package converts the output of the Sailfish and Salmon RNA-seq +quantification tools so that it can be used with the Sleuth differential +analysis package.") + (license license:bsd-3)))) + (define-public pbbam (package (name "pbbam") @@ -2260,6 +2392,40 @@ sequencing data and the end result are tables of UMI-unique DamID and CEL-Seq counts.") (license license:expat))) +(define-public python-snaptools + (package + (name "python-snaptools") + (version "1.4.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "snaptools" version)) + (sha256 + (base32 + "1s5373g5jjbshh3q39zy7dlxr7nda6ksxq9d1gw46h82c4fsmfbn")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-future + python-h5py + python-louvain + python-numpy + python-pybedtools + python-pysam)) + (home-page "https://github.com/r3fang/SnapTools") + (synopsis "Tools for processing snap files" ) + (description + "@code{SnapTools} can operate on snap files the following types of +operations: + +@itemize +@item index the reference genome before alignment; +@item align reads to the corresponding reference genome; +@item pre-process by convert pair-end reads into fragments, checking the + mapping quality score, alingment and filtration; +@item create the cell-by-bin matrix. +@end itemize") + (license license:asl2.0))) + (define-public python-bioframe (package (name "python-bioframe") @@ -4289,6 +4455,107 @@ annotations of the genome.") other types of unwanted sequence from high-throughput sequencing reads.") (license license:expat))) +(define-public lammps + (let ((commit "stable_2Aug2023_update2")) + (package + (name "lammps") + (version (string-append "0." commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lammps/lammps.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11xagacgxgldkx34qdzyjrjvn8x3hpl0kgzhh9zh7skpq79pwycz")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; no check target + #:make-flags + '(list "CC=mpicc" "mpi" + "LMP_INC=-DLAMMPS_GZIP \ +-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64" + "LIB=-gz -ljpeg -lpng -lavcodec") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "src"))) + (replace 'configure + (lambda _ + (substitute* "MAKE/Makefile.mpi" + (("SHELL =.*") + (string-append "SHELL=" (which "bash") "\n")) + (("cc ") "mpicc ")) + (substitute* "Makefile" + (("SHELL =.*") + (string-append "SHELL=" (which "bash") "\n"))))) + (add-after 'configure 'configure-modules + (lambda _ + (invoke "make" + "yes-molecule" + "yes-misc" + "yes-granular" + (string-append "HDF5_PATH=" + #$(this-package-input "hdf5"))))) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin"))) + (mkdir-p bin) + (install-file "lmp_mpi" bin))))))) + (inputs + (list ffmpeg + gfortran + gzip + hdf5 + libjpeg-turbo + libpng + openmpi + python-wrapper)) + (native-inputs (list bc)) + (home-page "https://www.lammps.org/") + (synopsis "Classical molecular dynamics simulator") + (description "LAMMPS is a classical molecular dynamics simulator +designed to run efficiently on parallel computers. LAMMPS has potentials for +solid-state materials (metals, semiconductors), soft matter (biomolecules, +polymers), and coarse-grained or mesoscopic systems. It can be used to model +atoms or, more generically, as a parallel particle simulator at the atomic, +meso, or continuum scale.") + (license license:gpl2+)))) + +(define-public lammps-serial + (package + (inherit lammps) + (name "lammps-serial") + (arguments + (substitute-keyword-arguments (package-arguments lammps) + ((#:make-flags flags) + '(list "CC=gcc" "serial" + "LMP_INC=-DLAMMPS_GZIP \ +-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64" + "LIB=-gz -ljpeg -lpng -lavcodec")) + ((#:phases phases) + #~(modify-phases #$phases + (replace 'configure + (lambda _ + (substitute* "MAKE/Makefile.serial" + (("SHELL =.*") + (string-append "SHELL=" (which "bash") "\n")) + (("cc ") "gcc ")) + (substitute* "Makefile" + (("SHELL =.*") + (string-append "SHELL=" (which "bash") "\n"))))) + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin"))) + (mkdir-p bin) + (install-file "lmp_serial" bin)))))))) + (inputs + (modify-inputs (package-inputs lammps) + (delete "openmpi"))))) + (define-public libbigwig (package (name "libbigwig") @@ -4793,6 +5060,126 @@ be of arbitrary length. Repeats with pattern size in the range from 1 to 2000 bases are detected.") (license license:agpl3+))) +(define-public trinityrnaseq + (package + (name "trinityrnaseq") + (version "2.13.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trinityrnaseq/trinityrnaseq.git") + (commit (string-append "Trinity-v" version)) + (recursive? #true))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qszrxqbx4q5pavpgm4rkrh1z1v1mf7qx83vv3fnlqdmncnsf1gv")))) + (build-system gnu-build-system) + (arguments + (list + #:test-target "test" + #:modules + '((guix build gnu-build-system) + (guix build utils) + (ice-9 match) + (srfi srfi-1)) + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target))) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + ;; Do not require version.h, which triggers a local build of a + ;; vendored htslib. + (substitute* "trinity-plugins/bamsifter/Makefile" + (("sift_bam_max_cov.cpp htslib/version.h") + "sift_bam_max_cov.cpp")))) + (add-after 'build 'build-plugins + (lambda _ + ;; Run this in the subdirectory to avoid running the + ;; tests right here. + (with-directory-excursion "trinity-plugins" + (invoke "make" "plugins")))) + ;; The install script uses rsync, provides no overrides for the + ;; default location at /usr/local/bin, and patching it would change + ;; all lines that do something. + (replace 'install + (lambda* (#:key inputs #:allow-other-keys) + (let ((share (string-append #$output "/share/trinity/")) + (bin (string-append #$output "/bin/"))) + (mkdir-p bin) + (copy-recursively "." share) + (delete-file (string-append share "/Chrysalis/build/CMakeFiles/CMakeOutput.log")) + (delete-file (string-append share "/Inchworm/build/CMakeFiles/CMakeOutput.log")) + + (wrap-program (string-append share "Trinity") + `("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE"))) + `("PERL5LIB" ":" = (,(getenv "PERL5LIB"))) + `("PYTHONPATH" ":" = (,(getenv "GUIX_PYTHONPATH"))) + `("PATH" ":" = + ,(cons (string-append share "/trinity-plugins/BIN") + (filter-map (match-lambda + ((name . dir) + (string-append dir "/bin"))) + inputs)))) + (symlink (string-append share "Trinity") + (string-append bin "Trinity")))))))) + (inputs + (list blast+ + bowtie + fastqc + hisat + htslib + icedtea-8 + jellyfish + kallisto + multiqc + perl + perl-uri-escape + python-numpy + python-wrapper + r-ape + r-argparse + r-biobase + r-ctc + r-deseq2 + r-edger + r-fastcluster + r-glimma + r-goplot + r-goseq + r-gplots + r-minimal + r-qvalue + r-rots + r-sm + r-tidyverse + rsem + salmon + samtools + sra-tools + star + zlib)) + (propagated-inputs + (list coreutils + gzip + which)) + (native-inputs (list cmake)) + (home-page "https://github.com/trinityrnaseq/trinityrnaseq/wiki") + (synopsis "Trinity RNA-Seq de novo transcriptome assembly") + (description "Trinity assembles transcript sequences from Illumina RNA-Seq +data. Trinity represents a novel method for the efficient and robust de novo +reconstruction of transcriptomes from RNA-seq data. Trinity combines three +independent software modules: Inchworm, Chrysalis, and Butterfly, applied +sequentially to process large volumes of RNA-seq reads. Trinity partitions +the sequence data into many individual de Bruijn graphs, each representing the +transcriptional complexity at a given gene or locus, and then processes each +graph independently to extract full-length splicing isoforms and to tease +apart transcripts derived from paralogous genes.") + (license license:bsd-3))) + (define-public repeat-masker (package (name "repeat-masker") @@ -10203,6 +10590,51 @@ data. This package includes panel editing or renaming for FCS files, bead-based normalization and debarcoding.") (license license:gpl3)))) +(define-public r-projectils + (let ((commit "cc73b97471b4b6eea11ce779b5c4a7dc5c3e1709") + (revision "1")) + (package + (name "r-projectils") + (version (git-version "3.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/carmonalab/ProjecTILs") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dpzvbhhb9andnj7angpj32cgkwd6rs6qgpl6i21pqzcn6vqqhqw")))) + (properties `((upstream-name . "ProjecTILs"))) + (build-system r-build-system) + (propagated-inputs + (list r-biocneighbors + r-biocparallel + r-dplyr + r-ggplot2 + r-matrix + r-patchwork + r-pheatmap + r-pracma + r-purrr + r-rcolorbrewer + r-reshape2 + r-scales + r-scgate + r-seurat + r-seuratobject + r-stacas + r-ucell + r-umap + r-uwot)) + (home-page "https://github.com/carmonalab/ProjecTILs") + (synopsis "Reference-based analysis of scRNA-seq data") + (description + "This package implements methods to project single-cell RNA-seq data +onto a reference atlas, enabling interpretation of unknown cell transcriptomic +states in the the context of known, reference states.") + (license license:gpl3)))) + (define-public r-presto (let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad") (revision "0")) @@ -10237,55 +10669,54 @@ auROC analysis.") (license license:gpl3)))) (define-public r-sccustomize - (let ((commit "8414d1f5fb32277855b0619191a568932b7baeb0") + (let ((commit "397374590dae2ccc0c560897dcd1ce4382c18798") (revision "1")) (package (name "r-sccustomize") - (version (git-version "0.7.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/samuel-marsh/scCustomize") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1wcgfq7lx83a2kf8pjbw524gdvxf351n08cwd5wzmmy57kf4knbj")))) + (version (git-version "2.0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/samuel-marsh/scCustomize") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11bafm0mlck27fqd8brz80pxb8dc5q0aqbp8zv0s9sx97njp7wsl")))) (properties `((upstream-name . "scCustomize"))) (build-system r-build-system) - (propagated-inputs - (list r-circlize - r-colorway - r-cowplot - r-data-table - r-dittoseq - r-dplyr - r-forcats - r-ggbeeswarm - r-ggplot2 - r-ggprism - r-ggpubr - r-ggrastr - r-ggrepel - r-glue - r-janitor - r-magrittr - r-matrix - r-paletteer - r-patchwork - r-pbapply - r-purrr - r-remotes - r-scales - r-scattermore - r-seurat - r-seuratobject - r-stringi - r-stringr - r-tibble - r-tidyr - r-tidyselect - r-viridis)) + (propagated-inputs (list r-circlize + r-colorway + r-cowplot + r-data-table + r-dittoseq + r-dplyr + r-forcats + r-ggbeeswarm + r-ggplot2 + r-ggprism + r-ggpubr + r-ggrastr + r-ggrepel + r-glue + r-janitor + r-magrittr + r-matrix + r-paletteer + r-patchwork + r-pbapply + r-purrr + r-remotes + r-scales + r-scattermore + r-seurat + r-seuratobject + r-stringi + r-stringr + r-tibble + r-tidyr + r-tidyselect + r-viridis)) (native-inputs (list r-knitr)) (home-page "https://github.com/samuel-marsh/scCustomize") (synopsis "Custom visualization and analyses of single-cell sequencing") @@ -10418,6 +10849,43 @@ analysis of cell types, subtypes, transcriptional gradients,cell-cycle variation, gene modules and their regulatory models and more.") (license license:expat)))) +(define-public r-sleuth + (package + (name "r-sleuth") + (version "0.30.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pachterlab/sleuth") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "09xgc7r6iisjkk0c0wn0q56zy0aph386kphwixfzq4422y7vlqci")))) + (properties `((upstream-name . "sleuth"))) + (build-system r-build-system) + (propagated-inputs (list r-aggregation + r-data-table + r-dplyr + r-ggplot2 + r-lazyeval + r-matrixstats + r-pheatmap + r-reshape2 + r-rhdf5 + r-shiny + r-tidyr)) + (native-inputs (list r-knitr)) + (home-page "https://github.com/pachterlab/sleuth") + (synopsis "Tools for investigating RNA-Seq") + (description + "Sleuth is a program for differential analysis of RNA-Seq data. +It makes use of quantification uncertainty estimates obtained via Kallisto for +accurate differential analysis of isoforms or genes, allows testing in the +context of experiments with complex designs, and supports interactive +exploratory data analysis via sleuth live.") + (license license:gpl3))) + (define-public r-snapatac (package (name "r-snapatac") @@ -15341,7 +15809,9 @@ activity prediction from transcriptomics data, and its R implementation (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" "/tmp")))))) (propagated-inputs - (list r-complexheatmap + (list r-basilisk + r-basilisk-utils + r-complexheatmap r-dplyr r-ggplot2 r-magrittr @@ -16491,7 +16961,16 @@ the HiCExplorer and pyGenomeTracks packages.") (file-name (git-file-name name version)) (sha256 (base32 - "1yavgxry38g326z10bclvdf8glmma05fxj5m73h15m1r2l9xmw3v")))) + "1yavgxry38g326z10bclvdf8glmma05fxj5m73h15m1r2l9xmw3v")) + (modules '((guix build utils))) + ;; setup.py is malformed. The requirements are defined using a catchall + ;; pattern for the patch version number. This has been fixed in version + ;; 3.7.3, but we cannot upgrade to this version yet, since some Guix + ;; packages are not new enough. (See upstream commit + ;; 4845c715ec7b105e938d0c2426e27d0181690bfe for the fix). + (snippet '(substitute* "setup.py" + (("\\.\\*") + ""))))) (build-system pyproject-build-system) (arguments (list @@ -17889,12 +18368,40 @@ The tool enables the de novo search for new structural elements and facilitates comparative analysis of known RNA families.") (license license:bsd-3))) +(define-public r-databaselinke-r + (let ((commit "cf3d6cc3d36f2e1c9a557390232e9a8ed5abb7fd") + (revision "1")) + (package + (name "r-databaselinke-r") + (version (git-version "1.7.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vertesy/DatabaseLinke.R") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0hk76sb3w1v8a7c1knpc572ypsbgqlrv0p49c9y55a0dr12n16s1")))) + (properties `((upstream-name . "DatabaseLinke.R"))) + (build-system r-build-system) + (propagated-inputs (list r-readwriter)) + (home-page "https://github.com/vertesy/DatabaseLinke.R") + (synopsis + "Parse links to databases from your list of gene symbols") + (description + "This package provides a set of functions to parse and open (search +query) links to genomics related and other websites for R. Useful when you +want to explore e.g.: the function of a set of differentially expressed +genes.") + (license license:gpl3)))) + (define-public r-seurat-utils - (let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5") + (let ((commit "c0374cc9e25ce391ba8013fda0f8c7babbb9201d") (revision "1")) (package (name "r-seurat-utils") - (version (git-version "1.6.5" revision commit)) + (version (git-version "2.5.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -17903,12 +18410,15 @@ facilitates comparative analysis of known RNA families.") (file-name (git-file-name name version)) (sha256 (base32 - "1mn64h375mkj6x4ix5493z32gqg96yc507j5jr0lx9g5wk1bf762")))) + "15l86b43q245gzz7gsr5rhs4sir74lc14d64yqxfqcb0zrb2bzzd")))) (properties `((upstream-name . "Seurat.utils"))) (build-system r-build-system) (propagated-inputs (list r-codeandroll2 r-cowplot + r-databaselinke-r r-dplyr + r-enhancedvolcano + r-foreach r-ggcorrplot r-ggexpress r-ggplot2 @@ -17916,15 +18426,21 @@ facilitates comparative analysis of known RNA families.") r-ggrepel r-hgnchelper r-htmlwidgets + r-job + r-magrittr r-markdownhelpers r-markdownreports r-matrix r-matrixstats + r-pheatmap + r-plotly r-princurve + r-qs r-r-utils r-readr r-readwriter r-reshape2 + r-rstudioapi r-scales r-seurat r-soupx @@ -17933,6 +18449,7 @@ facilitates comparative analysis of known RNA families.") r-stringr r-tibble r-tictoc + r-tidyverse r-vroom)) (home-page "https://github.com/vertesy/Seurat.utils") (synopsis "Collection of utility functions for Seurat") @@ -17984,7 +18501,7 @@ updated much more frequently.") (define-public python-ctxcore (package (name "python-ctxcore") - (version "0.1.1") + (version "0.2.0") (source (origin (method git-fetch) @@ -17994,8 +18511,8 @@ updated much more frequently.") (file-name (git-file-name name version)) (sha256 (base32 - "16nlj7z8pirgjad7vlgm7226b3hpw4a7n967vyfg26dsf5n8k70d")))) - (build-system python-build-system) + "0nv4lc46cnzpg5gcdxrsv7b4srmkq55zl3rcadw5pn3yyz5fzd2k")))) + (build-system pyproject-build-system) (arguments (list #:phases @@ -18007,12 +18524,12 @@ updated much more frequently.") (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))))) (propagated-inputs (list python-cytoolz - python-numba python-frozendict + python-numba python-numpy python-pandas + python-pyarrow python-pyyaml - python-pyarrow-0.16 python-tqdm)) (native-inputs (list python-pytest @@ -18060,67 +18577,77 @@ tree-based ensemble regressors.") (license license:bsd-3))) (define-public pyscenic - (package - (name "pyscenic") - (version "0.11.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/aertslab/pySCENIC") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0pbmmr1zdb1vbbs6wx357s59d13pna6x03wq8blj6ckjws8bbq73")))) - (build-system python-build-system) - (arguments - `(#: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"))) - (replace 'check - (lambda _ - (invoke "pytest" "-v")))))) - (propagated-inputs - (list python-ctxcore - python-cytoolz - python-multiprocessing-on-dill - python-llvmlite - python-numba - python-attrs - python-frozendict - python-numpy - python-pandas - python-cloudpickle - python-dask - python-distributed - python-arboreto - python-boltons - python-setuptools - python-pyyaml - python-tqdm - python-interlap - python-umap-learn - python-loompy - python-networkx - python-scipy - python-fsspec - python-requests - python-aiohttp - python-scikit-learn)) - (native-inputs - (list python-pytest)) - (home-page "https://scenic.aertslab.org/") - (synopsis "Single-Cell regulatory network inference and clustering") - (description - "pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell + ;; Latest commit from the update-pyarrow branch + (let ((commit "5f170fdf474548c37ab381d1849c662820d658ee") + (revision "1")) + (package + (name "pyscenic") + (version (git-version "0.11.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aertslab/pySCENIC") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03qkvy400rjndg2ds6bhcaprir71mqr2v3yv9vd77lcnzxgw3s0z")))) + (build-system pyproject-build-system) + (arguments + (list + #:phases + '(modify-phases %standard-phases + ;; The cli modules referenced here have been removed, so this + ;; breaks the sanity check. + (add-after 'unpack 'do-not-reference-deleted-modules + (lambda _ + (substitute* "setup.py" + (("'db2feather = .*',") "") + (("'invertdb = .*',") "") + (("'gmt2regions = pyscenic.cli.gmt2regions:main'") "")))) + ;; Numba needs a writable dir to cache functions. + (add-before 'check 'set-numba-cache-dir + (lambda _ + (setenv "NUMBA_CACHE_DIR" "/tmp")))))) + (propagated-inputs + (list python-ctxcore + python-cytoolz + python-multiprocessing-on-dill + python-llvmlite + python-numba + python-attrs + python-frozendict + python-numpy + python-pandas + python-cloudpickle + python-dask + python-pyarrow ;XXX for dask + python-distributed + python-arboreto + python-boltons + python-setuptools + python-pyyaml + python-tqdm + python-interlap + python-umap-learn + python-loompy + python-networkx + python-scipy + python-fsspec + python-requests + python-aiohttp + python-scikit-learn)) + (native-inputs + (list python-pytest)) + (home-page "https://scenic.aertslab.org/") + (synopsis "Single-Cell regulatory network inference and clustering") + (description + "pySCENIC is a Python implementation of the SCENIC pipeline (Single-Cell rEgulatory Network Inference and Clustering) which enables biologists to infer transcription factors, gene regulatory networks and cell types from single-cell RNA-seq data.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public python-ikarus (package @@ -20169,24 +20696,28 @@ aligner.") (uri (pypi-uri "scvelo" version)) (sha256 (base32 "0h5ha1459ljs0qgpnlfsw592i8dxqn6p9bl08l1ikpwk36baxb7z")))) - (build-system python-build-system) + (build-system pyproject-build-system) (arguments - `(#: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"))) - (replace 'check - (lambda* (#:key outputs tests? #:allow-other-keys) - (when tests? - ;; The discovered test file names must match the names of the - ;; compiled files, so we cannot run the tests from - ;; /tmp/guix-build-*. - (with-directory-excursion - (string-append (assoc-ref outputs "out") - "/lib/python3.10/site-packages/scvelo/core/tests/") - (invoke "pytest" "-v")))))))) + (list + #:test-flags + ;; XXX: these two tests fail for unknown reasons + '(list "-k" "not test_perfect_fit and not test_perfect_fit_2d") + #: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"))) + (replace 'check + (lambda* (#:key tests? test-flags #:allow-other-keys) + (when tests? + ;; The discovered test file names must match the names of the + ;; compiled files, so we cannot run the tests from + ;; /tmp/guix-build-*. + (with-directory-excursion + (string-append #$output + "/lib/python3.10/site-packages/scvelo/core/tests/") + (apply invoke "pytest" "-v" test-flags)))))))) (propagated-inputs (list python-anndata python-hnswlib |