Skip to main content

ScGen - Predicting single cell perturbations

Project description

scGen PyPI version Build Status Documentation Status

Introduction

A tensorflow implementation of scGen. scGen is a generative model to predict single-cell perturbation response across cell types, studies and species (bioRxiv, 2018) .

Getting Started

*What you can do with scGen:

  • Train on a dataset wih multiple cell types and conditions and predict the the perturbation effect on the cell type which you only have in one condition. This scenario can be extended to multiple species where you want to predict the effect of a specific species using another or all the species.

  • Train on a dataset where you have two conditions (e.g. control and perturbed) and predict on second dataset with similar genes.

  • Remove batch effect on labeled data. In this scenario you need to provide cell_type and batch labels to the method. Note that batch_removal does not require all cell types to be present in all datasets (batches). If you have dataset specific cell type it will preserved as before.

  • We assume there exist two conditions in you dataset (e.g. control and perturbed). You can train the model and with your data and predict the perturbation for the cell type/species of interest.

  • We recommend to use normalized data for the training. A simple example for normalization pipeline using scanpy:

import scanpy as sc
adata = sc.read(data)
sc.pp.normalize_per_cell(adata)
sc.pp.log1p(adata)
  • We further recommend to use highly variable genes (HVG). For the most examples in the paper we used top ~7000 HVG. However, this is optional and highly depend on your application and computational power.

Installation

Installation with pip

To install the latest version from PyPI, simply use the following bash script:

pip install scgen

or install the development version via pip:

pip install git+https://github.com/M0hammadL/scgen.git

or you can clone this repository and run the following install command:

git clone https://github.com/M0hammadL/scgen
cd scgen
python setup.py install

On Windows machines you may need to download a C++ compiler if you wish to build from source yourself.

Examples

  • For perturbation prediction check this example for interferon (IFN)-β stimulation from Kang et al..

  • For batch removal check our example on integrating four pancreas datasets.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scgen-1.0.0.tar.gz (940.3 kB view details)

Uploaded Source

Built Distribution

scgen-1.0.0-py2.py3-none-any.whl (81.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file scgen-1.0.0.tar.gz.

File metadata

  • Download URL: scgen-1.0.0.tar.gz
  • Upload date:
  • Size: 940.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.21.0

File hashes

Hashes for scgen-1.0.0.tar.gz
Algorithm Hash digest
SHA256 db8a51efb4625daa1fba6574e963ad5e325f8a4f0e5e958af2e6eecd5dacbea9
MD5 6e5c0bdc3d0b390089945bdb3de66809
BLAKE2b-256 6067364ef5fa315daa9734387aab7c14efe62a1405a11467f1c4156e7b46713a

See more details on using hashes here.

File details

Details for the file scgen-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: scgen-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 81.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.21.0

File hashes

Hashes for scgen-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2c80d276a9e024a2d488f4e865ee09703ee608802885edbfb8c99d9c5812c02d
MD5 2032ea062447d931edf188117a5d717d
BLAKE2b-256 19e54d9ed47d71e067e9622ba04630f5012b178856f5cc8e46b31b1aa4bc51ad

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page