gnu: Add python-decoupler.

This package is a successor of python-decoupler-py with reworked tests
and inputs. Project has changed the license from GPL3+ to BSD-3.

See: <https://github.com/scverse/decoupler/blob/main/CHANGELOG.md#200>

* gnu/packages/bioinformatics.scm (python-decoupler): New variable based
  on python-decoupler-py.
  [source] <url>: Fix permanent redirect.
  [arguments] <test-flags>: Rework skipped tests.
  <phases>: Remove 'relax-requirements.
  [propagated-inputs]: Remove python-ipython, python-matplotlib,
  python-nbsphinx, python-numpy, python-numpydoc, python-omnipath,
  python-scanpy, python-scikit-learn, python-skranger, and
  python-typing-extensions; add python-dcor, python-docrep,
  python-igraph, python-ipywidgets, python-marsilea, python-requests,
  python-session-info2, and python-xgboost.
  [native-inputs]: Remove python-poetry-core; add nss-certs-for-test,
  python-hatchling, python-gseapy, python-memory-profiler, and
  python-scanpy.
  [home-page]: Fix permanent redirect.
  [licenses]: Switch to bsd-3.

(python-decoupler-py): Deprecate package.

Change-Id: Ia517db074c7ac405408731c9a8cfe00e56b8107b
This commit is contained in:
Sharlatan Hellseher 2025-08-07 17:06:40 +01:00
parent 018b8a474e
commit 962948f2a4
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -79,6 +79,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages bioconductor) #:use-module (gnu packages bioconductor)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages certs)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages cmake) #:use-module (gnu packages cmake)
@ -2836,41 +2837,51 @@ specifying the usage of each program for each cell in the data.")
parsing of Variant Call Format (VCF) files.") parsing of Variant Call Format (VCF) files.")
(license license:expat))) (license license:expat)))
(define-public python-decoupler-py (define-public python-decoupler
(package (package
(name "python-decoupler-py") (name "python-decoupler")
;; Upstream places release on a new branch, see (version "2.1.1")
;; <https://github.com/saezlab/decoupler-py/issues/175>.
(version "1.8.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/saezlab/decoupler-py") (url "https://github.com/scverse/decoupler")
(commit version))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0c3yg7jjb1nxb6hsh9wn7wr8w0ba55gixdbf5fp443nhv1cwlajj")))) "0b15n5sq940sn29jsgmdkkm4fcpzfq1n221scfwhjxb4ybdpsz4v"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:test-flags #:test-flags
'(list "-k" '(list "-k" (string-join
;; These tests require internet access ;; Tests requiring internet access to reach out
(string-append "not test_get_resource" ;; <datasets.cellxgene.cziscience.com>, <ftp.ebi.ac.uk>,
" and not test_show_resources" ;; <omnipathdb.org>, <raw.githubusercontent.com>,
" and not test_get_dorothea" ;; <static.omnipathdb.org>, <www.ensembl.org>,
" and not test_get_progeny" ;; <www.ncbi.nlm.nih.gov>, and <zenodo.org>.
" and not test_get_ksn_omnipath" (list "not test_collectri"
;; This attempts to download things for Omnipath "test_covid5k"
" and not test_get_collectri")) "test_dorothea"
"test_download"
"test_download_anndata"
"test_ensmbl_to_symbol"
"test_erygast1k"
"test_hallmark"
"test_hsctgfb"
"test_knocktf"
"test_msvisium"
"test_pbmc3k"
"test_progeny"
"test_resource"
"test_show_resources"
"test_translate"
;; XXX: Some precision mismatched.
"test_func_gsea"
"test_net_corr")
" and not "))
#:phases #:phases
'(modify-phases %standard-phases '(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
;; numba = "^0.60.0"; all tests passed.
(("0.60.0") "0.61.0"))))
(add-before 'check 'set-home (add-before 'check 'set-home
;; Some tests require a home directory to be set. ;; Some tests require a home directory to be set.
(lambda _ (setenv "HOME" "/tmp"))) (lambda _ (setenv "HOME" "/tmp")))
@ -2879,27 +2890,35 @@ parsing of Variant Call Format (VCF) files.")
(lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp")))))) (lambda _ (setenv "NUMBA_CACHE_DIR" "/tmp"))))))
(propagated-inputs (list python-adjusttext (propagated-inputs (list python-adjusttext
python-anndata python-anndata
python-ipython python-dcor
python-matplotlib python-docrep
python-nbsphinx python-igraph
python-ipywidgets
python-marsilea
python-numba python-numba
python-numpy python-requests
python-numpydoc
python-omnipath
python-scanpy
python-scikit-learn
python-scipy python-scipy
python-skranger python-session-info2
python-tqdm python-tqdm
python-typing-extensions)) python-xgboost))
(native-inputs (list python-poetry-core python-pytest)) (native-inputs
(home-page "https://github.com/saezlab/decoupler-py") (list nss-certs-for-test
python-hatchling
python-gseapy
python-memory-profiler
python-pytest
python-scanpy))
(home-page "https://github.com/scverse/decoupler")
(synopsis (synopsis
"Framework for modeling, analyzing and interpreting single-cell RNA-seq data") "Framework for modeling, analyzing and interpreting single-cell RNA-seq data")
(description (description
"This package provides different statistical methods to extract "This package provides different statistical methods to extract
biological activities from omics data within a unified framework.") biological activities from omics data within a unified framework.")
(license license:gpl3+))) (license license:bsd-3)))
;; See: <https://github.com/scverse/decoupler/blob/main/CHANGELOG.md#200>
(define-public python-decoupler-py
(deprecated-package "python-decoupler-py" python-decoupler))
(define-public python-demuxem (define-public python-demuxem
(package (package