Skip to main content
MiTo

MiTo (Mitochondrial single-cell lineage tracing Toolkit)

Mitochondrial single-cell multi-omics in Python.

PyPI Python Tests Documentation License: MIT

MiTo infers clonal ancestries in single-cell data from natural mtDNA variation.

The framework provides the infrastructure to convert MAESTER pre-processing outputs into Allele Frequency Matrices (i.e., AnnData objects), filter informative mtDNA variants, genotype individual cells, and infer mitochondrial phylogenies and clones for downstream multi-omic analysis.

Versions. This README documents MiTo 1.0.2, the stable release of the original MiTo API, the one used for the analyses of the MiTo paper MiTo_benchmark_repro and by nf-MiTo pipeline nf-MiTo. MiTo 2.x has a redesigned API and one pipeline allowing processing MAESTER, ReDeeM and mtscATAC: see the current documentation. To stay on this release, use pip install "scmito<2". See CHANGELOG.md for the full history.

Installation

pip install scmito

Requires Python 3.11+.

import mito as mt
print(mt.__version__)

Quick start

import scanpy as sc
import mito as mt

# Allele Frequency Matrix (cell x site AnnData with AD / DP layers)
afm = sc.read('afm_unfiltered.h5ad')

# Cell and variant filters, distances in mtDNA mutation space
afm = mt.pp.filter_cells(afm, cell_filter='filter2')
afm = mt.pp.filter_afm(afm, filtering='MiTo')

# Phylogeny and clonal inference
tree = mt.tl.build_tree(afm, precomputed=True, solver='UPMGA')
annotator = mt.tl.MiToTreeAnnotator(tree)
annotator.clonal_inference()

# Visualization
mt.pl.plot_tree(tree, features=['MiTo clone'])

See getting-started tutorial for the full vignette.

API

MiTo follows the scverse layout, composing with scanpy and anndata:

Module Purpose
io Build AFMs from pre-processing outputs, read/write Newick tree objects
pp Cell and variant filtering, genotyping, distances, kNN graphs, embeddings
tl Tree building, clonal inference, clustering, fate bias
pl Trees, heatmaps, embeddings, coverage and variant-spectrum plots
ut Metrics, helpers

Supported platforms: scRNA-seq (MAESTER).

Full reference: MiTo docs.

Reproducing the paper

The paper analyses run with MiTo 1.0.2, using the conda recipe in MiTo_benchmark_repro (envs/environment.yml, which installs scmito==1.0.2 and the additional libraries the scripts need).

Development

git clone https://github.com/andrecossa5/MiTo.git
cd MiTo
pip install -e ".[test]"
pytest

Citation

If MiTo is useful in your work, please cite:

Cossa, A. Dalmasso A. et al. MiTo: mitochondrial lineage tracing and single-cell multi-omics. Nat Comm (2026). https://doi.org/10.1038/s41467-026-71607-5

MiTo builds on the Cassiopeia package for phylogeny reconstruction and data infrastructure. Please, cite it as well.

Releases

See CHANGELOG.md.

License

MIT — see LICENSE.

Metadata

Release files for scmito 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scmito 1.0.2
File Size Uploaded
scmito-1.0.2.tar.gz 1.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for scmito 1.0.2
File Interpreter ABI Platform
scmito-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 3.2 MB

Release files / scmito-1.0.2.tar.gz

Download URL scmito-1.0.2.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
e20ae23094e7e6bcd85329e51f13bd5fca56871cb05acd704b41db644b34606e
BLAKE2b-256 checksum
How to use checksums
332b652e04dfa8e1927d8a5d571074afe0f8800678368cb4654444132b2f6f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / scmito-1.0.2-py3-none-any.whl

Download URL scmito-1.0.2-py3-none-any.whl
Size 1.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c4e6beda0f1699eac1446c8dc3aa300983df1da66f4c5d0f76a9c5d4c3479e3f
BLAKE2b-256 checksum
How to use checksums
3cc7f2ead118d0caaf56db0170e6992ce8c71cc736e7f031e02fc45a57bec92c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page