DECAL (Differential Expression analysis of Clonal Alterations Local effects) provide you tools to conduct differential expression analysis of single-cell perturbations to potential interacting genes. Similar to other expression analysis tools, it models gene expression using a Negative Binomial (or Gamma-Poisson) regression, modeling each gene UMI count by the cell total count and the cell alteration status.
decalis compatible with tidyverse analysis.- Includes a suit of simulation functions to generate your own dataset based
decalmodel and evaluate your statistical power. - Package has few dependencies, requiring only
MASS,fastglmandMatrix. - Can evaluate specific clonal alteration and gene effect, instead of modeling all genes and all alterations. This allow us to quickly investigate a large number of interactions skipping unlikely effects.
To install decal package current version, open your R terminal and type:
## Install remotes if not available with
## install.install.packages("remotes")
remotes::install_github("mauranolab/decal")
The package main function (decal) runs the whole statistical analysis by
fitting a Negative Binomial (or Gamma-Poisson) regression to each gene
and alteration pair specified and evaluate the perturbation statistical
significance for a single-cell perturbation experiment. You can run decal
as follow:
decal(perturbations, count, clone)
The three parameters required are the following:
- a table specifying the population and gene to evaluate perturbation
(
perturbations). - a UMI count matrix that each column correspond to a cell and each row
a gene or feature (
count). - a list of cells specifying your clones composition (
clone). This is represented by a R list composed by character (or integer) vectors named after the clone ID and indicating the cells belonging to this clone.
decal returns a deep copy of the perturbations table with the following
additional columns:
n0andn1: number of non-perturbed and perturbed cells, respectively.x0andx1: average UMI count among perturbed and non-perturbed cells, respectively.mu: average UMI count among all cells.xb: expected average UMI count of perturbed cells.theta: estimated negative binomial dispersion parameter.z: estimated perturbation z-score.lfc: log2 fold-change of perturbed cells gene expression.pvalueandp_adjusted: perturbation t-test significance values.
Below we include a example of decal analysis on a simulated dataset included
with our package.
library(decal)
data("sim_decal")
perturbations <- sim_decal$perturbations
count <- sim_decal$count
clone <- sim_decal$clone
decal(perturbations, count, clone)
Further details exploring this example are included in our quick-start vignette.
- The negative binomial dispersion estimation process was extracted and modified
from
sctransformpackage and described by Hafemeister & Satija (2019)
