Skip to content

MLO-lab/pacmon

Repository files navigation

PACMON

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.

Install

poetry install --with test,lint --with manuscript

The 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/.

Workflows

# 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.py

All 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.

Validation

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 -q

Missing local data or checkpoints should fail with a message showing the expected path and the flag to override it.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages