{"id":13751642,"url":"https://github.com/owkin/PyDESeq2","last_synced_at":"2025-05-09T18:31:41.601Z","repository":{"id":64946546,"uuid":"569371342","full_name":"owkin/PyDESeq2","owner":"owkin","description":"A Python implementation of the DESeq2 pipeline for bulk RNA-seq DEA.","archived":false,"fork":false,"pushed_at":"2025-05-05T08:21:30.000Z","size":1432,"stargazers_count":645,"open_issues_count":42,"forks_count":74,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-05-05T09:36:19.271Z","etag":null,"topics":["bioinformatics","differential-expression","python","rna-seq","transcriptomics"],"latest_commit_sha":null,"homepage":"https://pydeseq2.readthedocs.io/en/stable/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/owkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-22T17:14:11.000Z","updated_at":"2025-05-05T08:19:51.000Z","dependencies_parsed_at":"2023-02-15T08:01:49.055Z","dependency_job_id":"2124529b-1c03-4501-98e9-512b3649e37d","html_url":"https://github.com/owkin/PyDESeq2","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FPyDESeq2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FPyDESeq2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FPyDESeq2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/owkin%2FPyDESeq2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/owkin","download_url":"https://codeload.github.com/owkin/PyDESeq2/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252474934,"owners_count":21753740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bioinformatics","differential-expression","python","rna-seq","transcriptomics"],"created_at":"2024-08-03T09:00:50.772Z","updated_at":"2025-05-09T18:31:41.559Z","avatar_url":"https://github.com/owkin.png","language":"Python","funding_links":[],"categories":["Genomics \u0026 Bioinformatics","基因","Ranked by starred repositories"],"sub_categories":["Commercial Software","资源传输下载"],"readme":"\u003cimg src=\"docs/source/_static/pydeseq2_logo_green.png\" width=\"600\"\u003e\n\n#\n[![pypi version](https://img.shields.io/pypi/v/pydeseq2)](https://pypi.org/project/pydeseq2)\n[![pypiDownloads](https://static.pepy.tech/badge/pydeseq2)](https://pepy.tech/project/pydeseq2)\n[![condaDownloads](https://img.shields.io/conda/dn/bioconda/pydeseq2?logo=Anaconda)](https://anaconda.org/bioconda/pydeseq2)\n[![license](https://img.shields.io/pypi/l/pydeseq2)](LICENSE)\n\nPyDESeq2 is a python implementation of the [DESeq2](https://bioconductor.org/packages/release/bioc/html/DESeq2.html) \nmethod [1] for differential expression analysis (DEA) with bulk RNA-seq data, originally in R.\nIt aims to facilitate DEA experiments for python users.\n\nAs PyDESeq2 is a re-implementation of [DESeq2](https://bioconductor.org/packages/release/bioc/html/DESeq2.html) from \nscratch, you may experience some differences in terms of retrieved values or available features.\n\nCurrently, available features broadly correspond to the default settings of DESeq2 (v1.34.0) for single-factor and \nmulti-factor analysis (with categorical or continuous factors) using Wald tests.\nWe plan to implement more in the future.\nIn case there is a feature you would particularly like to be implemented, feel free to open an issue.\n\n## Table of Contents\n- [PyDESeq2](#pydeseq2)\n  - [Table of Contents](#table-of-contents)\n  - [Installation](#installation)\n    - [Requirements](#requirements)\n  - [Getting started](#getting-started)\n    - [Documentation](#documentation)\n    - [Data](#data)\n  - [Contributing](#contributing)\n    - [1 - Download the repository](#1---download-the-repository)\n    - [2 - Create a conda environment](#2---create-a-conda-environment)\n  - [Development roadmap](#development-roadmap)\n  - [Citing this work](#citing-this-work)\n  - [References](#references)\n  - [License](#license)\n\n## Installation\n\n### PyPI\n\n`PyDESeq2` can be installed from PyPI using `pip`:\n\n`pip install pydeseq2`\n\nWe recommend installing within a conda environment:\n\n```\nconda create -n pydeseq2\nconda activate pydeseq2\nconda install pip\npip install pydeseq2\n```\n\n### Bioconda\n\n`PyDESeq2` can also be installed from Bioconda with `conda`:\n\n`conda install -c bioconda pydeseq2`\n\nIf you're interested in contributing or want access to the development version, please see the [contributing](#contributing) section.\n\n### Requirements\n\nThe list of package version requirements is available in `setup.py`.\n\nFor reference, the code is being tested in a github workflow (CI) with python\n3.10 to 3.11 and the following package versions:\n```\n- anndata 0.8.0\n- numpy 1.23.0\n- pandas 1.4.3\n- scikit-learn 1.1.1\n- scipy 1.11.0\n```\n\nPlease don't hesitate to open an issue in case you encounter any issue due to possible deprecations.\n\n\n## Getting started\n\nThe [Getting Started](https://pydeseq2.readthedocs.io/en/latest/auto_examples/index.html) section of the documentation\ncontains downloadable examples on how to use PyDESeq2.\n\n\n### Documentation\n\nThe documentation is hosted [here on ReadTheDocs](https://pydeseq2.readthedocs.io/en/latest/). \nIf you want to have the latest version of the documentation, you can build it from source.\nPlease go to the dedicated [README.md](https://github.com/owkin/PyDESeq2/blob/main/docs/README.md) for information on how to do so.\n\n### Data\n\nThe quick start examples use synthetic data, provided in this repo (see [datasets](https://github.com/owkin/PyDESeq2/blob/main/datasets/README.md).)\n\nThe experiments described in the [PyDESeq2 article](https://academic.oup.com/bioinformatics/article/39/9/btad547/7260507) rely on data\nfrom [The Cancer Genome Atlas](https://www.cancer.gov/about-nci/organization/ccg/research/structural-genomics/tcga),\nwhich may be obtained from this [portal](https://portal.gdc.cancer.gov/).\n\n## Contributing\n\nPlease the [Contributing](https://pydeseq2.readthedocs.io/en/latest/usage/contributing.html) section of the\ndocumentation to see how you can contribute to PyDESeq2.\n\n### 1 - Download the repository\n\n`git clone https://github.com/owkin/PyDESeq2.git`\n\n### 2 - Create a conda environment\n\nRun `conda create -n pydeseq2 python=3.10` (or higher python version) to create the `pydeseq2` environment and then activate it:\n`conda activate pydeseq2`.\n\n`cd` to the root of the repo and run `pip install -e .\"[dev]\"` to install in developer mode.\n\nThen, run `pre-commit install`.\n\nThe `pre-commit` tool will automatically run [ruff](https://docs.astral.sh/ruff/), [black](https://black.readthedocs.io/en/stable/), and [mypy](https://mypy.readthedocs.io/en/stable/).\n\nPyDESeq2 is a living project and any contributions are welcome! Feel free to open new PRs or issues.\n\n## Development Roadmap\n\nHere are some of the features and improvements we plan to implement in the future:\n\n- [x] Integration to the [scverse](https://scverse.org/) ecosystem:\n  * [x] Refactoring to use the [AnnData](https://anndata.readthedocs.io/) data structure\n  * [x] Submitting a PR to be listed as an [scverse ecosystem](https://github.com/scverse/ecosystem-packages/) package\n- [x] Variance-stabilizing transformation\n- [x] Improving multi-factor analysis:\n  * [x] Allowing n-level factors\n  * [x] Support for continuous covariates\n  * [x] Implementing interaction terms\n\n\n## Citing this work\n\n```\n@article{muzellec2023pydeseq2,\n  title={PyDESeq2: a python package for bulk RNA-seq differential expression analysis},\n  author={Muzellec, Boris and Telenczuk, Maria and Cabeli, Vincent and Andreux, Mathieu},\n  year={2023},\n  doi = {10.1093/bioinformatics/btad547},\n  journal={Bioinformatics},\n}\n```\n\n## References\n\n[1] Love, M. I., Huber, W., \u0026 Anders, S. (2014). \"Moderated estimation of fold\n        change and dispersion for RNA-seq data with DESeq2.\" Genome biology, 15(12), 1-21.\n        \u003chttps://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8\u003e\n\n[2] Zhu, A., Ibrahim, J. G., \u0026 Love, M. I. (2019).\n        \"Heavy-tailed prior distributions for sequence count data:\n        removing the noise and preserving large differences.\"\n        Bioinformatics, 35(12), 2084-2092.\n        \u003chttps://academic.oup.com/bioinformatics/article/35/12/2084/5159452\u003e\n\n## License\n\nPyDESeq2 is released under an [MIT license](https://github.com/owkin/PyDESeq2/blob/main/LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowkin%2FPyDESeq2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fowkin%2FPyDESeq2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fowkin%2FPyDESeq2/lists"}