Tool to preprocess, analyze and visualize DNA methylation data from Illumina micro-arrays
Project description
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
Main functionalities
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)
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:
Fig 1. Samples beta values density |
Fig 2. Differentially methylated regions (DMRs) |
Fig 3. Probes beta values associated with a specific gene |
Fig 4. Copy number variations (CNVs) |
Installation
With uv (recommended)
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 | sh
Then install Pylluminator into a uv-managed project:
uv add pylluminator
Or with the optional GSEA extras:
uv add "pylluminator[gsea]"
With pip
You can install Pylluminator directly with:
pip install pylluminator
Or, if you want to use the GSEA functionalities, install the additional dependencies with:
pip install pylluminator[gsea]
From source
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 | sh
Clone and install
git clone https://github.com/eliopato/pylluminator.git
cd pylluminator
uv sync
This creates a virtual environment and installs all dependencies automatically. To include optional extras:
uv sync --extra gsea
uv sync --extra dev
uv sync --extra docs
Run scripts or tests within the project environment using uv run:
uv run pytest
Usage
Refer to https://pylluminator.readthedocs.io/ for step-by-step tutorials and detailed documentation.
Citing
Pylluminator is described in detail in: Pylluminator: fast and scalable analysis of DNA methylation data in Python, available on BioRxiv
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)
Contributing
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 docs
Bug reports / new features suggestion
If 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
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
This package is strongly inspired from SeSAMe and includes code from methylprep for .idat files parsing.
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 pylluminator-2.0.tar.gz.
File metadata
- Download URL: pylluminator-2.0.tar.gz
- Upload date:
- Size: 82.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23f850944f32f01c10f43cf093e1fa5519274ddcf6613f713fa331355927824a
|
|
| MD5 |
727969041218c3ee4817f5eaf011522b
|
|
| BLAKE2b-256 |
92d6b0ed3ffe6ed1734b56991e9286b48bfff8306c1bbdfb5a9e199cbca1a278
|
File details
Details for the file pylluminator-2.0-py3-none-any.whl.
File metadata
- Download URL: pylluminator-2.0-py3-none-any.whl
- Upload date:
- Size: 88.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8684d74865a5805a930c65ea202df4613bbf22a6f14e79b36f63bc011e0458f
|
|
| MD5 |
fe840334f8a3c210605405049693f791
|
|
| BLAKE2b-256 |
78ed3fb02a30b5547bb7068ddc8bd747f1be1f5b35fa8507a98c8bc5010adc2c
|