PACMON is a pathway-constrained multi-omics latent variable model for perturbation analysis. This repository contains the package code plus script-first manuscript workflows for CITE-seq, Tahoe-100M, LUHMES, and synthetic benchmarks.
poetry install --with test,lint --with manuscriptThe manuscript group includes heavier runtime dependencies used by the
workflow scripts. Large data, checkpoints, and generated outputs should stay in
local repo-relative folders such as data/, models/, and results/.
# CITE-seq
python scripts/perturb_cite_seq/01_preprocess.py
python scripts/perturb_cite_seq/02_train.py
python scripts/perturb_cite_seq/03_analyse.py
# Tahoe-100M
python scripts/tahoe/01_preprocess.py
python scripts/tahoe/02_train.py
python scripts/tahoe/03_analyse.py
# LUHMES
python scripts/luhmes/01_preprocess.py
python scripts/luhmes/02_train.py
python scripts/luhmes/03_analyse.py
# Synthetic benchmark
python scripts/synthetic/01_generate.py --smoke
python scripts/synthetic/02_sweep.py --smoke
python scripts/synthetic/03_summarise.pyAll scripts expose --help and use overrideable repo-relative defaults such as
--data-root, --preprocessed-path, --preprocessed-dir,
--checkpoint-dir, --output-root, and --train-from-scratch.
poetry check
poetry run ruff check scripts tests/test_synthetic.py
conda run -n pacmon python -m compileall -q scripts pacmon runtime tests
conda run -n pacmon python -m pytest -qMissing local data or checkpoints should fail with a message showing the expected path and the flag to override it.