Tutorials | API documentation | Source code | Release on pip
Pylluminator is a Python package designed to provide an efficient workflow for processing, analyzing, and visualizing DNA methylation data. Pylluminator is inspired from the popular R packages SeSAMe and ChAMP.
Pylluminator supports the following Illumina's Infinium Beadchip array versions:
- human: 27k, 450k, MSA, EPIC, EPIC+, EPICv2
- mouse: MM285
- mammalian: Mammal40
- idat files parsing
- data preprocessing
- Type-I probes channel inference
- Dye bias correction (3 methods: using normalization control probes / linear scaling / non-linear scaling)
- Detection p-value calculation (pOOBAH)
- Background correction (NOOB)
- Batch effect correction (ComBat)
- Missing beta values imputation
- Lift over annotation
- data analysis and visualisation
- beta values (density, PCA, MDS, dendrogram...)
- DMPs accounting for replicates / random effects, DMRs
- CNV, CNS
- pathway analysis with GSEApy (GSEA, ORA)
- quality control
Visualization examples:
uv is a fast Python package manager. If you don't have it yet, install it with:
curl -LsSf https://astral.sh/uv/install.sh | shThen install Pylluminator into a uv-managed project:
uv add pylluminatorOr with the optional GSEA extras:
uv add "pylluminator[gsea]"You can install Pylluminator directly with:
pip install pylluminatorOr, if you want to use the GSEA functionalities, install the additional dependencies with:
pip install pylluminator[gsea]We recommend using uv to build pylluminator from source. The project requires Python 3.12 or later.
Install uv (if needed)
curl -LsSf https://astral.sh/uv/install.sh | shClone and install
git clone https://github.com/eliopato/pylluminator.git
cd pylluminator
uv syncThis creates a virtual environment and installs all dependencies automatically. To include optional extras:
uv sync --extra gsea
uv sync --extra dev
uv sync --extra docsRun scripts or tests within the project environment using uv run:
uv run pytestRefer to https://pylluminator.readthedocs.io/ for step-by-step tutorials and detailed documentation.
Pylluminator is described in detail in: Pylluminator: fast and scalable analysis of DNA methylation data in Python, published in Bioinformatics Advances, Volume 6, Issue 1, 2026, (https://doi.org/10.1093/bioadv/vbag146)
If you use this package in your research, please cite our work.
If you use the updated version of the EPICv2/hg38 annotations, please cite Re-annotating the EPICv2 manifest with genes, intragenic features, and regulatory elements, (BioRxiv link)
We welcome contributions! If you'd like to help improve the package, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and test them.
- Submit a pull request describing your changes.
The packages used for development (testing, packaging and building the documentation) can be installed with:
uv sync --extra dev --extra docsIf you encounter any bugs, have questions, or feel like the package is missing a very important feature, please open an issue on the GitHub Issues page.
When opening an issue, please provide as much detail as possible, including:
- Steps to reproduce the issue
- The version of the package you are using
- Any relevant code snippets or error messages
This project is licensed under the MIT License - see the LICENSE file for details.
This package is strongly inspired from SeSAMe and includes code from methylprep for .idat files parsing.




