{ "info": { "author": "Mohammad lotfollahi", "author_email": "mohammad.lotfollahi@helmholtz-muenchen.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)" ], "description": "# scGen [![PyPI version](https://badge.fury.io/py/scgen.svg)](https://badge.fury.io/py/scgen) [![Build Status](https://travis-ci.com/theislab/scGen.svg?branch=master)](https://travis-ci.com/theislab/scGen) [![Documentation Status](https://readthedocs.org/projects/scgen/badge/?version=latest)](https://scgen.readthedocs.io/en/latest/?badge=latest)\n\n\n\n\n\n## Introduction\nA tensorflow implementation of scGen. scGen is a generative model to predict single-cell perturbation response across cell types, studies and species\n [(Nature Methods, 2019)](https://www.nature.com/articles/s41592-019-0494-8) .\n
\n \n \n
\n
\n
\n\n## Getting Started\n*What you can do with scGen:\n\n* Train on a dataset wih multiple cell types and conditions and predict the the perturbation effect on the cell type\nwhich you only have in one condition. This scenario can be extended to multiple species where you want to predict\nthe effect of a specific species using another or all the species.\n\n* Train on a dataset where you have two conditions (e.g. control and perturbed) and predict on second dataset\nwith similar genes.\n\n* Remove batch effect on labeled data. In this scenario you need to provide cell_type and batch labels to\nthe method. Note that `batch_removal` does not require all cell types to be present in all datasets (batches). If\nyou have dataset specific cell type it will preserved as before.\n\n* We assume there exist two conditions in you dataset (e.g. control and perturbed). You can train the model and with\nyour data and predict the perturbation for the cell type/species of interest. \n\n* We recommend to use normalized data for the training. A simple example for normalization pipeline using scanpy:\n\n``` python\nimport scanpy as sc\nadata = sc.read(data)\nsc.pp.normalize_per_cell(adata)\nsc.pp.log1p(adata)\n```\n* We further recommend to use highly variable genes (HVG). For the most examples in the paper we used top ~7000\nHVG. However, this is optional and highly depend on your application and computational power.\n\n\n\n\n## Installation\n\n### Installation with pip\nTo install the latest version from PyPI, simply use the following bash script:\n```bash\npip install scgen\n```\nor install the development version via pip: \n```bash\npip install git+https://github.com/theislab/scgen.git\n```\n\nor you can first install flit and clone this repository:\n```bash\npip install flit\ngit clone https://github.com/theislab/scGen\ncd scgen\nflit install\n```\n\nOn Windows machines you may need to download a C++ compiler if you wish to build from source yourself.\n\n\n\n## Examples\n\n* For perturbation prediction check this [example](https://nbviewer.jupyter.org/github/M0hammadL/scGen_notebooks/blob/master/notebooks/scgen_kang.ipynb)\n for interferon (IFN)-\u03b2 stimulation from [Kang et al.](https://www.nature.com/articles/nbt.4042).\n\n* For batch removal check our [example](https://nbviewer.jupyter.org/github/M0hammadL/scGen_notebooks/blob/master/notebooks/scgen_batch_removal.ipynb) on integrating four pancreas datasets.\n\n## Reproducing paper results:\nIn order to reproduce paper results visit [here](https://github.com/M0hammadL/scGen_reproducibility).\n\n## References\n\nLotfollahi, Mohammad and Wolf, F. Alexander and Theis, Fabian J.\n**\"scGen predicts single-cell perturbation responses.\"**\nNature Methods, 2019. [pdf](https://rdcu.be/bMlbD)\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/theislab/scgen", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "scgen", "package_url": "https://pypi.org/project/scgen/", "platform": "", "project_url": "https://pypi.org/project/scgen/", "project_urls": { "Homepage": "https://github.com/theislab/scgen" }, "release_url": "https://pypi.org/project/scgen/1.1.3/", "requires_dist": [ "future-fstrings", "get_version", "anndata", "scanpy", "adjustText", "tensorflow", "numpy", "scipy", "pandas", "keras", "matplotlib", "pytest; extra == \"test\"" ], "requires_python": "", "summary": "ScGen - Predicting single cell perturbations", "version": "1.1.3" }, "last_serial": 5714565, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2032ea062447d931edf188117a5d717d", "sha256": "2c80d276a9e024a2d488f4e865ee09703ee608802885edbfb8c99d9c5812c02d" }, "downloads": -1, "filename": "scgen-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2032ea062447d931edf188117a5d717d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 81139, "upload_time": "2019-02-23T11:30:28", "url": "https://files.pythonhosted.org/packages/19/e5/4d9ed47d71e067e9622ba04630f5012b178856f5cc8e46b31b1aa4bc51ad/scgen-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6e5c0bdc3d0b390089945bdb3de66809", "sha256": "db8a51efb4625daa1fba6574e963ad5e325f8a4f0e5e958af2e6eecd5dacbea9" }, "downloads": -1, "filename": "scgen-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6e5c0bdc3d0b390089945bdb3de66809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 940251, "upload_time": "2019-02-23T11:30:40", "url": "https://files.pythonhosted.org/packages/60/67/364ef5fa315daa9734387aab7c14efe62a1405a11467f1c4156e7b46713a/scgen-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0f0415b5bd93a0c401bb0e2777ca66a9", "sha256": "a5d785762f64f40a8d82571fdc810c4c9789d976859d234d97ad302fe1e7867c" }, "downloads": -1, "filename": "scgen-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0f0415b5bd93a0c401bb0e2777ca66a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 131369, "upload_time": "2019-07-29T14:35:52", "url": "https://files.pythonhosted.org/packages/ee/11/478265b0c68b57e877b4074f971529f7f518da45234b90166e5f8892ec46/scgen-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be5d99fffd864291adbbae0b73814b1a", "sha256": "6bd615173089450db3edaf0bc08c5e5e8580e5d709afe6f4bc5688a770407b0a" }, "downloads": -1, "filename": "scgen-1.1.0.tar.gz", "has_sig": false, "md5_digest": "be5d99fffd864291adbbae0b73814b1a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 951029, "upload_time": "2019-07-29T14:36:01", "url": "https://files.pythonhosted.org/packages/41/28/4b5697f4bf2ccabe7c127d5f45f92280a15e4bbdcdbe2b46e4167f38a973/scgen-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "d76fc9cafe47ccc9237b4a71d468d048", "sha256": "64582ea79985168347fa8e8cde0e445e3974747f4e9566429e7534f8fb58e5b9" }, "downloads": -1, "filename": "scgen-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d76fc9cafe47ccc9237b4a71d468d048", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 132190, "upload_time": "2019-07-31T12:59:46", "url": "https://files.pythonhosted.org/packages/62/3e/d23fdbeb21a9c3124892eae5961b8d452fc233502c73ac4413211fa3bfd5/scgen-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c4970ae2208bd6feb401b2fcaeaab74", "sha256": "87a834fe3a2a7c853b2be06705b9b2b6472cdded3f7ab32013eb8b73f61b5c5d" }, "downloads": -1, "filename": "scgen-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0c4970ae2208bd6feb401b2fcaeaab74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 951427, "upload_time": "2019-07-31T12:59:52", "url": "https://files.pythonhosted.org/packages/0a/09/6cdfb02bbd3d2c40404384ebe545e0020fe0b3399657ff2c446d3d0626d2/scgen-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "4b06be255bbaaef404f11606dae90bcd", "sha256": "3276d0ede60efcbf37a6500ba606654a62f1f0be471f07812deb09bce6da01c0" }, "downloads": -1, "filename": "scgen-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4b06be255bbaaef404f11606dae90bcd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 131596, "upload_time": "2019-08-21T12:41:26", "url": "https://files.pythonhosted.org/packages/af/56/30bf3a3bbbea63c42c80393072042b1ba8d3987d7b854b0cf3734531deb1/scgen-1.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "65ec3be471c60d72148a8366f8addd6b", "sha256": "922f9dbcf7ae1f3f66f91ccdfaaf28e9340c16281e79b35b39b1c4734ed4dad3" }, "downloads": -1, "filename": "scgen-1.1.2.tar.gz", "has_sig": false, "md5_digest": "65ec3be471c60d72148a8366f8addd6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 951411, "upload_time": "2019-08-21T12:41:32", "url": "https://files.pythonhosted.org/packages/ea/75/27ddaf7cbd41c68b319acc72fe5eb1efd91871b568b66e581c4bfcf5320e/scgen-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "f88b385d5df5f5eab9f2475f1383e2dd", "sha256": "cc25c48f91d8f2c8f15bcc6fdb098d34dc5cf2d6c8db47d039b8d6e782635fb6" }, "downloads": -1, "filename": "scgen-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f88b385d5df5f5eab9f2475f1383e2dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 130790, "upload_time": "2019-08-22T11:05:21", "url": "https://files.pythonhosted.org/packages/9e/11/2e0cb6f63cd0a3d55154699d9f4b1f97de924f59019e0bffbea31d8a6a90/scgen-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca8f7524523cd5bdbbf72d3aa4a84448", "sha256": "f19ff55839bac4f1d821d108f08040fd61c098f65f99ad07e89b2412063c68bc" }, "downloads": -1, "filename": "scgen-1.1.3.tar.gz", "has_sig": false, "md5_digest": "ca8f7524523cd5bdbbf72d3aa4a84448", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 951210, "upload_time": "2019-08-22T11:05:26", "url": "https://files.pythonhosted.org/packages/3b/db/e4ae1e3aa6a5ef0fbabbe3d622ed2c32f490a517ebe3ecd83c4baf8fb614/scgen-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f88b385d5df5f5eab9f2475f1383e2dd", "sha256": "cc25c48f91d8f2c8f15bcc6fdb098d34dc5cf2d6c8db47d039b8d6e782635fb6" }, "downloads": -1, "filename": "scgen-1.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f88b385d5df5f5eab9f2475f1383e2dd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 130790, "upload_time": "2019-08-22T11:05:21", "url": "https://files.pythonhosted.org/packages/9e/11/2e0cb6f63cd0a3d55154699d9f4b1f97de924f59019e0bffbea31d8a6a90/scgen-1.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ca8f7524523cd5bdbbf72d3aa4a84448", "sha256": "f19ff55839bac4f1d821d108f08040fd61c098f65f99ad07e89b2412063c68bc" }, "downloads": -1, "filename": "scgen-1.1.3.tar.gz", "has_sig": false, "md5_digest": "ca8f7524523cd5bdbbf72d3aa4a84448", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 951210, "upload_time": "2019-08-22T11:05:26", "url": "https://files.pythonhosted.org/packages/3b/db/e4ae1e3aa6a5ef0fbabbe3d622ed2c32f490a517ebe3ecd83c4baf8fb614/scgen-1.1.3.tar.gz" } ] }