Mepylome: Ultra-Fast Methylation Array Analysis Toolkit
Mepylome is a high-performance Python toolkit tailored for parsing, processing, and analyzing methylation array IDAT files. Serving as a versatile library, Mepylome supports a wide range of methylation analysis tasks. It also includes an interactive GUI that enables users to generate UMAP plots and CNV plots (Copy Number Variation) directly from collections of IDAT files. Mepylome is designed for large-scale cohort processing and delivers substantial speed improvements over existing methylation analysis pipelines.
✨ Key Highlights
- ⚡ Very fast processing engine
- 🧬 Supports Illumina 450k, EPIC, EPICv2, 27k, MSA48, and MM285 arrays
- 📊 CNV analysis with interactive Plotly visualizations
- 🧹 Clean API for large-scale cohort processing
- 🖥️ Optional GUI for UMAP + CNV exploration
- 🎯 Data inference: tumor purity estimation, MLH1 promoter methylation reports, sex prediction, chondrosarcoma risk prediction (CHROME)
- 🧪 Built-in QC including pOOBAH detection and quality metrics
Features
Data Processing
- Parsing of IDAT files
- Extraction of methylation signals
Copy Number Analysis
- Calculation of Copy Number Variations (CNV) with visualization using plotly.
- Interactive visualization using Plotly
- CN-summary plots
Supported Array Types
- Illumina EPIC / EPICv2
- Illumina 450k
- Illumina 27k
- Illumina MSA48
- Illumina MM285 (Mouse)
Performance
Quality Control
- pOOBAH-based probe calculation
- Quality metrics for samples and probes
- Heatmap of beta values of a gene or genomic region
Data Inference
Derived, higher-level results computed from methylation data, beyond raw signals and CNV:
- Tumor purity estimation from methylation beta values
- MLH1 promoter methylation report pages (e.g. for Lynch syndrome / mismatch-repair-deficiency workups)
- Interactive visualization of methylation across a gene or an arbitrary genomic region
GUI
- Methylation analysis tool with a graphical browser interface for UMAP
analysis, CNV plots and supervised classification
- Can be run from the command line with minimal setup or customized through a Python script
Documentation
The mepylome documentation, including installation instructions, tutorial and API, is available at https://mepylome.readthedocs.io/
Usage
Methylation extraction and copy number variation plots
from pathlib import Path
from mepylome import CNV, MethylData
# Sample
analysis_dir = Path("/path/to/idat/directory")
sample_file = analysis_dir / "200925700125_R07C01"
# CNV neutral reference files
reference_dir = Path("/path/to/reference/directory")
# Get methylation data
sample_methyl = MethylData(file=sample_file)
reference_methyl = MethylData(file=reference_dir)
# Beta value
betas = sample_methyl.betas
# Print overview of processed data
print(sample_methyl)
# CNV anylsis
cnv = CNV.set_all(sample_methyl, reference_methyl)
# Visualize CNV in the browser
cnv.plot()
Methylation analysis: Command-line interface and GUI
Basic usage:
Mepylome provides a command-line interface for launching a GUI and performing methylation analysis. Ensure you have an analysis directory, a CNV reference directory, and an annotation file (located within the analysis directory). Use the following command to initiate the analysis:
mepylome --analysis_dir /path/to/idats --reference_dir /path/to/ref
If you want to perform a quick test, use:
mepylome --tutorial
This command downloads sample IDAT files and provides a demonstration of the package's functionality.
You can try the tutorial directly in Google Colab-without downloading or installing anything-by clicking the link below. Please note that GUI support is limited in Colab.
See https://mepylome.readthedocs.io/ for details.
Publication
This library is described in the following peer-reviewed publication:
https://doi.org/10.1002/aisy.202500778
Contributing
Contributions are welcome! If you have any bug reports, feature requests, or suggestions, please open an issue or submit a pull request.
License
This project is licensed under the MIT license.
Acknowledgements
Mepylome is strongly influenced by minfi and conumee2. Some functionalities, such as the manifest handler and parser, are adapted from methylprep.
Metadata
Release files for mepylome 0.13.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mepylome-0.13.2.tar.gz | 649.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mepylome-0.13.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / mepylome-0.13.2.tar.gz
| Download URL | mepylome-0.13.2.tar.gz |
|---|---|
| Size | 649.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ad2dd83546c911d77ccbbe0564fc6c7ce63eb8eb64b6d398a1f55456ab66769
|
|
BLAKE2b-256 checksum How to use checksums |
63d7a192b013b3b1f301b3b5db8d37d3221df1af7a4efdbcab80073caeffba86
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|
Release files / mepylome-0.13.2-py3-none-any.whl
| Download URL | mepylome-0.13.2-py3-none-any.whl |
|---|---|
| Size | 687.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0ba845b402bb57c4a3686dca4d5e7a3ed626a61c249f0cc9483029ff64790289
|
|
BLAKE2b-256 checksum How to use checksums |
83f9ef9b4e4f0d3fdd28a7c23f893206869b5417f316a9b2c21ea0d6ce9519e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.11
|