Analyze pooled CRISPR screens
Project description
ScreenPro2
This package is conceptually similar to the ScreenProcessing pipeline but ScreenPro2 is designed to be more modular, flexible, and extensible as the field of Functional Genomics evolves and newer CRISPR screen platforms are developed.
For more information about the statistical methods used in ScreenPro2, please refer to the detailed documentation about PhenoScore module.
Note that ScreenPro2 starts with a counts matrix of oligo counts (samples x oligos) so you will need to process your raw sequencing data into a counts matrix before using ScreenPro2.
Installation
ScreenPro2 is available on PyPI and can be installed with pip:
pip install ScreenPro2
For the latest version (development version) install from GitHub:
pip install git+https://github.com/abearab/ScreenPro2.git
Usage
Load Data
First, load your data into an AnnData
object (see anndata for
more information).
The AnnData
object should have the following structure:
adata.X
should be a pandas dataframe of counts (samples x oligos)adata.obs
should be a pandas dataframe of sample metadata including "condition" and "replicate" columnsadata.var
should be a pandas dataframe of oligo metadata including "target" and "targetType" columns- "target" column should be the gene name or other identifier for the reference oligo
- "targetType" column should be the type of reference oligo. Currently, negative control oligos should have
"targetType" == "negCtrl"
Then you need create a ScreenPro
object. Here is an example code making a ScreenPro
object from an AnnData
object:
import pandas as pd
import anndata as ad
import screenpro as scp
adata = ad.AnnData(
X = counts_df, # pandas dataframe of counts (samples x oligos)
obs = meta_df, # pandas dataframe of sample metadata including "condition" and "replicate" columns
var = target_df # pandas dataframe of oligo metadata including "target" and "targetType" columns
)
screen = scp.ScreenPro(adata)
Perform Screen Processing Analysis
Once the ScreenPro
object is created, you can use several available workflows to calculate the enrichment of each oligo
between screen arms.
Drug Screen Workflow: calculate gamma
, rho
, and tau
scores
.calculateDrugScreen
method can be used to calculate the enrichment of each gene between screen arms for a drug
screen experiment. This method calculates gamma
, rho
, and tau
scores for each gene and adds them to the
`.pheno
Here is an example for running the workflow on a CRISPRi-dual-sgRNA-screens dataset:
# Run the ScreenPro2 workflow for CRISPRi-dual-sgRNA-screens
screen.calculateDrugScreen(
t0='T0', untreated='DMSO', treated='Drug',
growth_rate=1, # can be replaced by the growth values (population doublings/doubling differences)
score_level='compare_reps'
)
For example, in a Decitabine CRISPRi drug screen (see Figure 1B-C in this bioRxiv paper), each phenotype score represents a comparison between different arms of the screen and rho
scores shows the main drug phenotype as illustrated here:
Supported CRISPR Screen Platforms
One of the main goals of ScreenPro2 is to make it easy to process data from commonly used CRISPR screen platforms. Also, it is designed to be modular to enable easy extension to custom CRISPR screen platforms or other commonly used platforms in addition to the ones currently implemented.
Currently, ScreenPro2 has easy-to-use workflows for the following CRISPR screen platforms:
CRISPRi-dual-sgRNA-screens
Replogle et al. developed a CRISPRi screening platform that uses two sgRNAs per gene within a single plasmid and it has
been used to perform genome-scale CRISPRi screens. If you follow the codes in the provided GitHub repository, you
will end up with oligo counts and once you make ScreenPro
object, you can use the ScreenPro2 workflow for this
platform to calculate the enrichment of each gene between screen arms.
License
ScreenPro2 is licensed under the terms of the MIT license (see LICENSE for more information) and developed by Abolfazl (Abe) Arab (@abearab), a Research Associate in the Gilbert lab at UCSF and Arc Institute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for ScreenPro2-0.2.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e18fc6ff3d5d12d126b25eb559b17adc0d3a5e148986f7319a37e39eac23d3e5 |
|
MD5 | fff075fac171c08a69610db6e37c8c6b |
|
BLAKE2b-256 | f0bbe25334ade500cecc16f91ceecc559ef0b2e75d8880becb84051872341d06 |