No project description provided
Project description
MuTopia learns topographic models of somatic mutation: it simultaneously decomposes a cancer cohort’s mutation counts into distinct processes (signatures) and explains how local genomic context shapes each signature’s activity across the genome.
Unlike standard signature tools that produce per-sample counts, MuTopia produces:
A genome-wide topographic map of each mutational process at 10 kb resolution
SHAP feature attributions linking signature activity to chromatin, replication timing, sequence composition, and any other genomic track you supply
Per-mutation posterior probabilities annotated directly in VCF files
Accurate refitting for targeted panel and exome sequencing via exposure correction
Features
Feature |
Description |
|---|---|
G-Tensors |
Spatially-indexed data structure integrating genomic feature tracks with mutation calls |
Topographic NMF |
Gradient-boosted local models + iterative NMF learn signature × context interactions |
SHAP interpretability |
Built-in SHAP beeswarm, interaction matrix, and track-plot visualizations |
VCF annotation |
mutopia sbs annotate-vcf assigns every mutation a posterior over components |
Panel/exome support |
Whitelist BED corrects exposure for non-whole-genome sequencing |
Hyperparameter tuning |
Optuna-based study management via topo-model study |
Genome track plots |
Composable genome-browser figures in matplotlib |
Installation
MuTopia requires Python 3.11 due to a pinned scikit-learn dependency (1.4.2) used for fast gradient-boosted tree training. We recommend uv — it resolves and installs the full dependency set in seconds and keeps environments reproducible across machines.
With Docker (zero setup)
The pre-built image ships with MuTopia plus all the bioinformatics tools it needs (bedtools, bcftools, tabix, UCSC bigWigAverageOverBed):
docker pull allenlynch/mutopia:latest
docker run --rm -v "$PWD":/workspace allenlynch/mutopia:latest gtensor --help
With uv (recommended for native installs)
# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv --python 3.11 .venv
source .venv/bin/activate
uv pip install mutopia
With conda
conda create -n mutopia -c conda-forge -y python=3.11
conda activate mutopia
pip install mutopia
Verify the CLI tools are on your PATH:
gtensor --help
topo-model --help
mutopia --help
Quick start
# 1. Build a G-Tensor from genomic features and mutation VCFs
gtensor compose config.yaml -w 8
# 2. Split into train / test by chromosome
gtensor split data.nc chr1
# 3. Train a topographic model
topo-model train -ds data.train.nc data.test.nc -k 15 -o model.pkl -@ 8 --lazy
# 4. Analyze results in Python
python - << 'EOF'
import mutopia.analysis as mu
model = mu.load_model("model.pkl")
data = mu.gt.load_dataset("data.nc", with_samples=False)
data = model.annot_data(data, threads=8, calc_shap=True)
mu.pl.plot_signature_panel(data)
mu.pl.plot_shap_summary(data, scale=40)
EOF
# 5. Annotate individual sample VCFs
topo-model setup model.pkl data.nc data_setup.nc -@ 8
mutopia sbs annotate-vcf model.pkl data_setup.nc sample.vcf.gz \
-m mutation-rate.bedgraph.gz \
-o sample_annotated.vcf
Documentation
Full documentation, tutorials, and API reference are at sigscape.github.io/MuTopia.
Citation
If you use MuTopia in your research, please cite:
Lynch AW, et al. (2025). MuTopia: topographic modeling of mutational processes
across the cancer genome. [Preprint]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mutopia-1.0.6.tar.gz.
File metadata
- Download URL: mutopia-1.0.6.tar.gz
- Upload date:
- Size: 271.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55ebc2fc32900aab3423f2ccf09631bd87c2a55023eced5000282536e2121f15
|
|
| MD5 |
7e0142d003280ca5709d65e1775b2344
|
|
| BLAKE2b-256 |
4f9f4062d32abc2a6c9d92d6821a025750d862da2f4d5de9c2b7ca68002e9e52
|
Provenance
The following attestation bundles were made for mutopia-1.0.6.tar.gz:
Publisher:
publish.yml on sigscape/MuTopia
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mutopia-1.0.6.tar.gz -
Subject digest:
55ebc2fc32900aab3423f2ccf09631bd87c2a55023eced5000282536e2121f15 - Sigstore transparency entry: 1289226586
- Sigstore integration time:
-
Permalink:
sigscape/MuTopia@3a9b6804a1f03f0e25a29ad71dfedd41a7f56d12 -
Branch / Tag:
refs/tags/v1.0.6 - Owner: https://github.com/sigscape
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3a9b6804a1f03f0e25a29ad71dfedd41a7f56d12 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mutopia-1.0.6-py3-none-any.whl.
File metadata
- Download URL: mutopia-1.0.6-py3-none-any.whl
- Upload date:
- Size: 307.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bdc2b7ade25a8ac510ef15bec218dacdfa502464bb5063b4eaf67d7b4d0903a3
|
|
| MD5 |
029459349ac51d831b0355649b6abd99
|
|
| BLAKE2b-256 |
8e4ff586a1686bfe7fa22382318631cf64f5325420b50c09984a4a02aa4ed5c6
|
Provenance
The following attestation bundles were made for mutopia-1.0.6-py3-none-any.whl:
Publisher:
publish.yml on sigscape/MuTopia
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mutopia-1.0.6-py3-none-any.whl -
Subject digest:
bdc2b7ade25a8ac510ef15bec218dacdfa502464bb5063b4eaf67d7b4d0903a3 - Sigstore transparency entry: 1289226648
- Sigstore integration time:
-
Permalink:
sigscape/MuTopia@3a9b6804a1f03f0e25a29ad71dfedd41a7f56d12 -
Branch / Tag:
refs/tags/v1.0.6 - Owner: https://github.com/sigscape
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3a9b6804a1f03f0e25a29ad71dfedd41a7f56d12 -
Trigger Event:
push
-
Statement type: