Skip to main content

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

mutopia-1.0.5.tar.gz (271.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mutopia-1.0.5-py3-none-any.whl (307.1 kB view details)

Uploaded Python 3

File details

Details for the file mutopia-1.0.5.tar.gz.

File metadata

  • Download URL: mutopia-1.0.5.tar.gz
  • Upload date:
  • Size: 271.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mutopia-1.0.5.tar.gz
Algorithm Hash digest
SHA256 24641437d1b945135b9b6f2b21d43d86d7ef2e9c2b39bb3a8908af80b41e2e76
MD5 6e3b750ed19c2c7c45c0f61d5aaf1db3
BLAKE2b-256 7c9bb17b03cd0656c5dfe7e954dc5bd6657a83b77a9e38e20120ae58fff4845f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mutopia-1.0.5.tar.gz:

Publisher: publish.yml on sigscape/MuTopia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mutopia-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: mutopia-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 307.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mutopia-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4d75ab0f0a30ef83e2d5552afdd6265379231dd40be84fa905e167507ae32cbb
MD5 23e127a4e7a20e1f154cb27eae7aa9f1
BLAKE2b-256 0610700ab6965d83c37f33899fa2474c990244547c53bceabf2d4ad7befa5a4f

See more details on using hashes here.

Provenance

The following attestation bundles were made for mutopia-1.0.5-py3-none-any.whl:

Publisher: publish.yml on sigscape/MuTopia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page