Skip to content

eliopato/pylluminator

Repository files navigation

logo Welcome to pylluminator

Last commit Test Status Code coverage Documentation Status MIT License

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...)
    • DMP and DMR, accounting for replicates / random effects
    • CNV
  • quality control

Visualization examples:

https://raw.githubusercontent.com/eliopato/pylluminator/refs/heads/main/docs/images/tutorials_1_-_Read_data_and_get_betas_16_0.png

Fig 1. Beta values

https://raw.githubusercontent.com/eliopato/pylluminator/refs/heads/main/docs/images/tutorials_3_-_Calculate_DMP_and_DMR_15_0.png

Fig 2. Differentially methylated regions (DMRs)

https://raw.githubusercontent.com/eliopato/pylluminator/refs/heads/main/docs/images/tutorials_3_-_Calculate_DMP_and_DMR_17_1.png

Fig 3. Gene visualization

https://raw.githubusercontent.com/eliopato/pylluminator/refs/heads/main/docs/images/tutorials_4_-_Copy_Number_Variation_9_0.png

Fig 4. Copy number variations (CNVs)

Installation

With pip

You can install Pylluminator directly with:

pip install pylluminator

From source

We recommend using a virtual environment with Python 3.12 to build pylluminator from source. Here is an example using Conda.

Setup the virtual environment (optional)

If you don't have Conda installed yet, here are the instructions depending on your OS : Windows | Linux | MacOS. After installing it, make sure you have Pip installed by running the following command in the terminal:

conda install anaconda::pip

Now you can create a Conda environment named "pylluminator" and activate it. You can change the name to your liking ;)

conda create -n pylluminator python=3.12
conda activate pylluminator

Install pylluminator

You can download the latest source from github, or clone the repository with this command:

git clone https://github.com/eliopato/pylluminator.git

Your are now ready to install the dependencies and the package :

cd pylluminator
pip install -r requirements.txt

Usage

Refer to https://pylluminator.readthedocs.io/ for step-by-step tutorials and detailed documentation.

Contributing

We welcome contributions! If you'd like to help improve the package, please follow these steps:

  1. Fork the repository.
  2. Create a new branch for your feature or bugfix.
  3. Make your changes and test them.
  4. Submit a pull request describing your changes.

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.

About

Python package for processing and analyzing Illumina DNA methylation data

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages