Skip to main content

pypi version pypiDownloads condaDownloads license

PyDESeq2 is a python implementation of the DESeq2 method [1] for differential expression analysis (DEA) with bulk RNA-seq data, originally in R. It aims to facilitate DEA experiments for python users.

As PyDESeq2 is a re-implementation of DESeq2 from scratch, you may experience some differences in terms of retrieved values or available features.

Currently, available features broadly correspond to the default settings of DESeq2 (v1.34.0) for single-factor and multi-factor analysis (with categorical or continuous factors) using Wald tests. We plan to implement more in the future. In case there is a feature you would particularly like to be implemented, feel free to open an issue.

Table of Contents

Installation

PyPI

PyDESeq2 can be installed from PyPI using pip:

pip install pydeseq2

We recommend installing within a conda environment:

conda create -n pydeseq2
conda activate pydeseq2
conda install pip
pip install pydeseq2

You can also add it to your projects through uv:

uv add pydeseq2

Bioconda

PyDESeq2 can also be installed from Bioconda with conda:

conda install -c bioconda pydeseq2

If you're interested in contributing or want access to the development version, please see the contributing section.

Requirements

The list of package version requirements is available in pyproject.toml.

For reference, the code is being tested in a github workflow (CI) with python 3.11 to 3.13 and the latest versions of the following packages:

- anndata
- formulaic
- numpy
- pandas
- scikit-learn
- scipy
- formulaic-contrasts
- matplotlib

Please don't hesitate to open an issue in case you encounter any issue due to possible deprecations.

Getting started

The Getting Started section of the documentation contains downloadable examples on how to use PyDESeq2.

Documentation

The documentation is hosted here on ReadTheDocs. If you want to have the latest version of the documentation, you can build it from source. Please go to the dedicated README.md for information on how to do so.

Data

The quick start examples use synthetic data, provided in this repo (see datasets.)

The experiments described in the PyDESeq2 article rely on data from The Cancer Genome Atlas, which may be obtained from this portal.

Contributing

Please the Contributing section of the documentation to see how you can contribute to PyDESeq2.

1 - Download the repository

git clone https://github.com/owkin/PyDESeq2.git

2 - Create a uv environment

Run uv venv --python 3.13 (or higher python version) to create the pydeseq2 environment and then activate it: source .venv/bin/activate.

cd to the root of the repo and run uv sync --extra dev --extra doc to install in developer mode.

Then, run pre-commit install.

The pre-commit tool will automatically run ruff, black, and mypy.

PyDESeq2 is a living project and any contributions are welcome! Feel free to open new PRs or issues.

Credits

PyDESeq2 has been originally developed by Boris Muzellec, Maria Teleńczuk, Vincent Cabeli, and Mathieu Andreux and funded by Owkin. In Dec 2025, the maintenance of PyDESeq2 was taken over by the scverse community.

Citing this work

@article{muzellec2023pydeseq2,
  title={PyDESeq2: a python package for bulk RNA-seq differential expression analysis},
  author={Muzellec, Boris and Telenczuk, Maria and Cabeli, Vincent and Andreux, Mathieu},
  year={2023},
  doi = {10.1093/bioinformatics/btad547},
  journal={Bioinformatics},
}

References

[1] Love, M. I., Huber, W., & Anders, S. (2014). "Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2." Genome biology, 15(12), 1-21. https://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8

[2] Zhu, A., Ibrahim, J. G., & Love, M. I. (2019). "Heavy-tailed prior distributions for sequence count data: removing the noise and preserving large differences." Bioinformatics, 35(12), 2084-2092. https://academic.oup.com/bioinformatics/article/35/12/2084/5159452

License

PyDESeq2 is released under an MIT license.

Metadata

Release files for pydeseq2 0.5.4

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

Source distribution (sdist)

Source distribution for pydeseq2 0.5.4
File Size Uploaded
pydeseq2-0.5.4.tar.gz 790.5 kB Details

Built distribution (wheel)

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

Total release size: 836.1 kB

Release files / pydeseq2-0.5.4.tar.gz

Download URL pydeseq2-0.5.4.tar.gz
Size 790.5 kB
Tags Source
SHA-256 checksum
How to use checksums
49d6f47840b5444ea2b69be7857c6c4e58f369066a0fb24bc52f7d3a62bbd92c
BLAKE2b-256 checksum
How to use checksums
4a705086491c13dd298501707c43a4c03758959a574662bfd9dcd1d379e388aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 23, 2026.

Transparency log

Release files / pydeseq2-0.5.4-py3-none-any.whl

Download URL pydeseq2-0.5.4-py3-none-any.whl
Size 45.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
690458824f1c4df0d13dbf7e5bdc1298f6dfb444b04a6e2aef9e7d3f21ba30dd
BLAKE2b-256 checksum
How to use checksums
12ff94bc1aea7cba8bd6559469732408d6699c71077a495068141fcf9eb1f0dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Jan 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.4 This release

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.12

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

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