# SampleDisco core (CPU) dependencies — no PyTorch.
# The deep-learning stack (torch, scglue, harmony-pytorch) is the optional
# `multiomics` extra in pyproject.toml: `pip install sampledisco[multiomics]`.
# GPU acceleration is separate/driver-specific: see requirements-gpu.txt.
numpy>=1.23
pandas>=1.5
scipy>=1.9
scikit-learn>=1.2
scikit-misc>=0.3
statsmodels>=0.13
patsy>=0.5
scanpy>=1.11
anndata>=0.10
muon>=0.1
harmonypy>=0.0.9,<0.0.10   # pin to the pure-NumPy release; harmonypy 0.0.10+ imports torch
python-igraph>=0.10
leidenalg>=0.9
networkx>=3.0
POT>=0.9
pygam>=0.9
numba>=0.57
matplotlib>=3.6
seaborn>=0.12
pyyaml>=6.0
psutil>=5.9
pybedtools>=0.9

# multi-omics gene annotation (scGLUE path, imported at module top)
pyensembl>=2.3
# cluster-DGE (RAISIN) — both on the live downstream path
combat>=0.3
adjustText>=1.0
# NOTE: scGLUE (multi-omics) lives in the `multiomics` extra, not here. Install
# it from PyPI (`pip install sampledisco[multiomics]`), never `conda install -c
# bioconda scglue` — the bioconda recipe caps numpy<1.22 and breaks the stack.
