{"id":22610591,"url":"https://github.com/wckdouglas/diffexpr","last_synced_at":"2025-04-11T07:47:50.379Z","repository":{"id":45870648,"uuid":"126621514","full_name":"wckdouglas/diffexpr","owner":"wckdouglas","description":"Porting DESeq2 into python via rpy2","archived":false,"fork":false,"pushed_at":"2023-06-01T02:05:44.000Z","size":694,"stargazers_count":68,"open_issues_count":0,"forks_count":21,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T05:23:09.261Z","etag":null,"topics":["differential-expression","python","rna-seq"],"latest_commit_sha":null,"homepage":"","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/wckdouglas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-24T17:06:02.000Z","updated_at":"2024-11-20T12:17:16.000Z","dependencies_parsed_at":"2023-02-18T21:31:10.553Z","dependency_job_id":"b62752b0-5662-46d6-9a71-95c7809b8061","html_url":"https://github.com/wckdouglas/diffexpr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wckdouglas%2Fdiffexpr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wckdouglas%2Fdiffexpr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wckdouglas%2Fdiffexpr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wckdouglas%2Fdiffexpr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wckdouglas","download_url":"https://codeload.github.com/wckdouglas/diffexpr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248359538,"owners_count":21090542,"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":["differential-expression","python","rna-seq"],"created_at":"2024-12-08T16:07:17.447Z","updated_at":"2025-04-11T07:47:50.340Z","avatar_url":"https://github.com/wckdouglas.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# diffexpr # \n[![CI](https://github.com/wckdouglas/diffexpr/workflows/CI/badge.svg)](https://github.com/wckdouglas/diffexpr/actions) [![codecov](https://codecov.io/gh/wckdouglas/diffexpr/branch/master/graph/badge.svg)](https://codecov.io/gh/wckdouglas/diffexpr)\n\nA python package using `rpy2` to port [DESeq2](https://bioconductor.org/packages/release/bioc/html/DESeq2.html) into python.\n\n## Installation ##\nDependencies are `pandas` (python), `rpy2` (python), and `DESeq2` (R)\nBest way to setup the environment should be via [docker](#docker), \nbut it should also be possible to install the dependency packages using\n[conda](https://docs.conda.io/en/latest/): \n\n```\nconda config --add channels defaults\nconda config --add channels bioconda\nconda config --add channels conda-forge\nconda create -q -n diffexpr python=3.6 \\\n    pandas tzlocal rpy2 biopython ReportLab pytest-cov \\\n    bioconductor-deseq2 codecov\nconda activate diffexpr # activate diffexpr environment\nRscript setup.R #to install DESeq2 correctly \npython setup.py install\n```\n\n## \u003ca name=\"docker\"\u003e\u003c/a\u003e Docker ##\n\nWe build two docker images in our [CI workflow](https://github.com/wckdouglas/diffexpr/blob/98166d9ee7c078520dfb55535634a5cdeaf477cf/.github/workflows/CI.yml#L106-L128):\n1. diffexpr (`ghcr.io/wckdouglas/diffexpr/diffexpr`): contains minimal dependencies for executing code in this package\n2. *diffexpr-dev* (`ghcr.io/wckdouglas/diffexpr/diffexpr-dev`): is the same as `diffexpr`, but with additional python packages (`matplotlib`, `seaborn`, and `jupyterlab`) for using this package in jupyter notebook analysis (see [below](#example) for how to spin up the jupyterlab instance from within the container), feel free to file an issue or put a PR to include your favorite packages!\n\n## \u003ca name=\"example\"\u003e\u003c/a\u003e Example ##\nAn example of running DESeq2 in *python* using `diffexpr` package is provided [here](https://github.com/wckdouglas/diffexp/blob/master/example/deseq_example.ipynb).\n\nThis should be reproducible by:\n\n```bash\ngit clone https://github.com/wckdouglas/diffexpr.git\ncd diffexpr\ndocker run \\\n    -p 1234:1234 \\\n    --mount type=bind,source=\"$(pwd)\",target=/jupyter \\\n    ghcr.io/wckdouglas/diffexpr/diffexpr-dev:master\n```\n\nand go to http://localhost:1234 to access the jupyter lab instance\n\nThe `--mount type=bind,source=\"$(pwd)\",target=/jupyter` option will mount the local filesystem (current directory) at `/jupyter`, such that the container has access to all the files under the current directory, the example notebook is under `/jupyter/example/deseq_example.ipynb`:\n\n![](example/jupyter.png)\n\n\n## Citation ##\n:bangbang: Please cite the original [DESeq2 paper](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-014-0550-8) if you used this package in your work:\n\n```\n@article{Love2014,\n  doi = {10.1186/s13059-014-0550-8},\n  url = {https://doi.org/10.1186/s13059-014-0550-8},\n  year = {2014},\n  month = dec,\n  publisher = {Springer Science and Business Media {LLC}},\n  volume = {15},\n  number = {12},\n  author = {Michael I Love and Wolfgang Huber and Simon Anders},\n  title = {Moderated estimation of fold change and dispersion for {RNA}-seq data with {DESeq}2},\n  journal = {Genome Biology}\n}\n```\n\n## Alternatives ##\n\n[pyDESeq2](https://github.com/owkin/PyDESeq2) is a pure python implementation of DESeq2. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwckdouglas%2Fdiffexpr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwckdouglas%2Fdiffexpr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwckdouglas%2Fdiffexpr/lists"}