summaryrefslogtreecommitdiff
path: root/gnu/packages/bioinformatics.scm
diff options
context:
space:
mode:
authorNavid Afkhami <navid.afkhami@mdc-berlin.de>2023-06-02 15:23:43 +0000
committerRicardo Wurmus <rekado@elephly.net>2023-06-02 19:54:27 +0200
commitf09944461f97537364231ff213a84faadbfb5fe6 (patch)
tree467b082f3b3341e5352e041a284f20fb7cae4323 /gnu/packages/bioinformatics.scm
parent69dfdb7bd190a1562eb11555da6f556b222245d3 (diff)
gnu: Add python-cell2cell.
* gnu/packages/bioinformatics.scm (python-cell2cell): New variable. Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
Diffstat (limited to 'gnu/packages/bioinformatics.scm')
-rw-r--r--gnu/packages/bioinformatics.scm69
1 files changed, 69 insertions, 0 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 89f8041d56..e7c15f94c8 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -1298,6 +1298,75 @@ pretty, publication-quality figures for next-generation sequencing
experiments.")
(license license:expat)))
+(define-public python-cell2cell
+ (package
+ (name "python-cell2cell")
+ (version "0.6.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/earmingol/cell2cell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1hwww0rcv8sc4k312n4d0jhbyix1jjqgv5djg25bw8127q5iym3s"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; We remove the dependency on statannotations because it
+ ;; will not work with the current version of seaborn. See
+ ;; https://github.com/trevismd/statannotations/issues/122
+ (substitute* "cell2cell/plotting/factor_plot.py"
+ (("from statannotations.Annotator import Annotator")
+ "")
+ (("if statistical_test is not None")
+ "if False"))
+ (substitute* "setup.py"
+ (("'statannotations',") "")
+ ;; We provide version 1.0.4, which should be fine.
+ (("'gseapy == 1.0.3'") "'gseapy'")
+ ;; Using matplotlib 3.5.2 leads to this bug:
+ ;; https://github.com/earmingol/cell2cell/issues/19 but we
+ ;; can't package a different minor version of matplotlib
+ ;; and limit its use to just this package.
+ (("matplotlib >= 3.2.0,<=3.5.1") ""))))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ;There are no tests
+ #:phases
+ '(modify-phases %standard-phases
+ ;; Numba needs a writable dir to cache functions.
+ (add-before 'build 'set-numba-cache-dir
+ (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+ (propagated-inputs
+ (list python-gseapy
+ python-kneed
+ python-matplotlib
+ python-networkx
+ python-numpy
+ python-openpyxl
+ python-pandas
+ python-scikit-learn
+ python-scipy
+ python-seaborn
+ python-statsmodels
+ python-scanpy
+ python-seaborn
+ python-tensorly
+ python-tqdm
+ python-umap-learn
+ python-xlrd))
+ (home-page "https://github.com/earmingol/cell2cell")
+ (synopsis "Python library for cell communication analysis")
+ (description
+ "Cell2cell is a Python library for cell communication analysis.
+This is a method to calculate, visualize and analyze communication between
+cell types. Cell2cell is suitable for single-cell RNA sequencing
+(scRNA-seq) data.")
+ (license license:bsd-3)))
+
(define-public python-cellbender
(package
(name "python-cellbender")