Subject: [PATCH] gnu: Add python-multivelo.
From: Mădălin Ionel Patrașcu<[email-masked]>
To: <[email-masked]>
Date: Sun, 23 Oct 2022 23:37:21 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

X-Debbugs-Cc: [email-masked]

* gnu/packages/bioinformatics.scm (python-multivelo): New variable.
---
 gnu/packages/bioinformatics.scm | 62 +++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index f2de09aa32..d7426c0ac9 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -10540,6 +10540,68 @@ (define-public python-biothings-client
 API services.")
     (license license:bsd-3)))
 
+(define-public python-multivelo
+  (package
+    (name "python-multivelo")
+    (version "0.1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "multivelo" version))
+              (sha256
+               (base32
+                "1b4qyngwagh5sc2ygyfqyirg63myzh1g1glk03a1ykxfii32cjlp"))))
+    (build-system python-build-system)
+    (arguments
+     (list
+      #:tests? #f ;pypi source does not contains tests
+      #:phases
+      #~(modify-phases %standard-phases
+          (replace 'build
+            (lambda _
+              ;; ZIP does not support timestamps before 1980.
+              (setenv "SOURCE_DATE_EPOCH" "315532800")
+              (invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
+           (replace 'install
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (add-installed-pythonpath inputs outputs)
+               (for-each
+                 (lambda (wheel)
+                   (format #t wheel)
+                   (invoke "python" "-m" "pip" "install"
+                            wheel (string-append "--prefix=" #$output)))
+                 (find-files "dist" "\\.whl$"))))
+           (add-before 'sanity-check 'set-env
+             (lambda _
+               ;; /homeless-shelter/.config/matplotlib is not a writable directory;
+               (setenv "MPLCONFIGDIR" "/tmp")
+               ;; numba RuntimeError: cannot cache function 'rdist'
+               (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
+    (native-inputs (list python-pypa-build))
+    (propagated-inputs
+      (list python-anndata
+            python-h5py
+            python-ipywidgets
+            python-joblib
+            python-loompy
+            python-matplotlib
+            python-numba
+            python-numpy
+            python-pandas
+            python-scanpy
+            python-scikit-learn
+            python-scipy
+            python-seaborn
+            python-tqdm
+            python-umap-learn
+            scvelo))
+    (home-page "https://github.com/welch-lab/MultiVelo")
+    (synopsis "Velocity inference from single-cell multi-omic data")
+    (description "@code{MultiVelo} uses a probabilistic latent variable model
+to estimate the switch time and rate parameters of gene regulation, providing a
+quantitative summary of the temporal relationship between epigenomic and
+transcriptomic changes.")
+    (license license:bsd-3)))
+
 (define-public python-mygene
   (package
     (name "python-mygene")

base-commit: 3734857fc55df2c599c2fe5cc4ae49f5d47879fc
-- 
2.37.3