pydeseq2


Namepydeseq2 JSON
Version 0.4.12 PyPI version JSON
download
home_pageNone
SummaryA python implementation of DESeq2.
upload_time2024-10-25 08:28:34
maintainerNone
docs_urlNone
authorBoris Muzellec, Maria Telenczuk, Vincent Cabelli and Mathieu Andreux
requires_python>=3.9.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="docs/source/_static/pydeseq2_logo_green.png" width="600">

#
[![pypi version](https://img.shields.io/pypi/v/pydeseq2)](https://pypi.org/project/pydeseq2)
[![pypiDownloads](https://static.pepy.tech/badge/pydeseq2)](https://pepy.tech/project/pydeseq2)
[![condaDownloads](https://img.shields.io/conda/dn/bioconda/pydeseq2?logo=Anaconda)](https://anaconda.org/bioconda/pydeseq2)
[![license](https://img.shields.io/pypi/l/pydeseq2)](LICENSE)

PyDESeq2 is a python implementation of the [DESeq2](https://bioconductor.org/packages/release/bioc/html/DESeq2.html) 
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](https://bioconductor.org/packages/release/bioc/html/DESeq2.html) 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
- [PyDESeq2](#pydeseq2)
  - [Table of Contents](#table-of-contents)
  - [Installation](#installation)
    - [Requirements](#requirements)
  - [Getting started](#getting-started)
    - [Documentation](#documentation)
    - [Data](#data)
  - [Contributing](#contributing)
    - [1 - Download the repository](#1---download-the-repository)
    - [2 - Create a conda environment](#2---create-a-conda-environment)
  - [Development roadmap](#development-roadmap)
  - [Citing this work](#citing-this-work)
  - [References](#references)
  - [License](#license)

## 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
```

### 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](#contributing) section.

### Requirements

The list of package version requirements is available in `setup.py`.

For reference, the code is being tested in a github workflow (CI) with python
3.9 to 3.11 and the following package versions:
```
- anndata 0.8.0
- numpy 1.23.0
- pandas 1.4.3
- scikit-learn 1.1.1
- scipy 1.11.0
```

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


## Getting started

The [Getting Started](https://pydeseq2.readthedocs.io/en/latest/auto_examples/index.html) section of the documentation
contains downloadable examples on how to use PyDESeq2.


### Documentation

The documentation is hosted [here on ReadTheDocs](https://pydeseq2.readthedocs.io/en/latest/). 
If you want to have the latest version of the documentation, you can build it from source.
Please go to the dedicated [README.md](https://github.com/owkin/PyDESeq2/blob/main/docs/README.md) for information on how to do so.

### Data

The quick start examples use synthetic data, provided in this repo (see [datasets](https://github.com/owkin/PyDESeq2/blob/main/datasets/README.md).)

The experiments described in the [PyDESeq2 article](https://academic.oup.com/bioinformatics/article/39/9/btad547/7260507) rely on data
from [The Cancer Genome Atlas](https://www.cancer.gov/about-nci/organization/ccg/research/structural-genomics/tcga),
which may be obtained from this [portal](https://portal.gdc.cancer.gov/).

## Contributing

Please the [Contributing](https://pydeseq2.readthedocs.io/en/latest/usage/contributing.html) 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 conda environment

Run `conda create -n pydeseq2 python=3.9` (or higher python version) to create the `pydeseq2` environment and then activate it:
`conda activate pydeseq2`.

`cd` to the root of the repo and run `pip install -e ."[dev]"` to install in developer mode.

Then, run `pre-commit install`.

The `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/).

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

## Development Roadmap

Here are some of the features and improvements we plan to implement in the future:

- [x] Integration to the [scverse](https://scverse.org/) ecosystem:
  * [x] Refactoring to use the [AnnData](https://anndata.readthedocs.io/) data structure
  * [x] Submitting a PR to be listed as an [scverse ecosystem](https://github.com/scverse/ecosystem-packages/) package
- [x] Variance-stabilizing transformation
- [ ] Improving multi-factor analysis:
  * [x] Allowing n-level factors
  * [x] Support for continuous covariates
  * [ ] Implementing interaction terms


## 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](https://github.com/owkin/PyDESeq2/blob/main/LICENSE).


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pydeseq2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "Boris Muzellec, Maria Telenczuk, Vincent Cabelli and Mathieu Andreux",
    "author_email": "boris.muzellec@owkin.com",
    "download_url": "https://files.pythonhosted.org/packages/7b/25/03897b33329ba0a4d10a5c725d1acd31ae8f44b79e387d2312a2764de32b/pydeseq2-0.4.12.tar.gz",
    "platform": null,
    "description": "<img src=\"docs/source/_static/pydeseq2_logo_green.png\" width=\"600\">\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.9 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.9` (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- [ ] Improving multi-factor analysis:\n  * [x] Allowing n-level factors\n  * [x] Support for continuous covariates\n  * [ ] 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., & Anders, S. (2014). \"Moderated estimation of fold\n        change and dispersion for RNA-seq data with DESeq2.\" Genome biology, 15(12), 1-21.\n        <https://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8>\n\n[2] Zhu, A., Ibrahim, J. G., & 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        <https://academic.oup.com/bioinformatics/article/35/12/2084/5159452>\n\n## License\n\nPyDESeq2 is released under an [MIT license](https://github.com/owkin/PyDESeq2/blob/main/LICENSE).\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python implementation of DESeq2.",
    "version": "0.4.12",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0ee4831483ae3fa850709f98be4ef3a5d1ba6a8ca193b99bcd280ed9e98307f8",
                "md5": "780abb59b5e2ff84f4afcb86dd8e6076",
                "sha256": "474233b87f1ccf8741d20c742661eea2075690d48981c16c418e221c996ccfc5"
            },
            "downloads": -1,
            "filename": "pydeseq2-0.4.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "780abb59b5e2ff84f4afcb86dd8e6076",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9.0",
            "size": 46145,
            "upload_time": "2024-10-25T08:28:33",
            "upload_time_iso_8601": "2024-10-25T08:28:33.113731Z",
            "url": "https://files.pythonhosted.org/packages/0e/e4/831483ae3fa850709f98be4ef3a5d1ba6a8ca193b99bcd280ed9e98307f8/pydeseq2-0.4.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7b2503897b33329ba0a4d10a5c725d1acd31ae8f44b79e387d2312a2764de32b",
                "md5": "7354439b8ef7a5db19b0e8deb030a447",
                "sha256": "dfe1051bd1639caef8be42761f4aa6e93fee0920bb0c35ef51fb454151644015"
            },
            "downloads": -1,
            "filename": "pydeseq2-0.4.12.tar.gz",
            "has_sig": false,
            "md5_digest": "7354439b8ef7a5db19b0e8deb030a447",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9.0",
            "size": 51508,
            "upload_time": "2024-10-25T08:28:34",
            "upload_time_iso_8601": "2024-10-25T08:28:34.430850Z",
            "url": "https://files.pythonhosted.org/packages/7b/25/03897b33329ba0a4d10a5c725d1acd31ae8f44b79e387d2312a2764de32b/pydeseq2-0.4.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-25 08:28:34",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pydeseq2"
}
        
Elapsed time: 0.68617s