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.
decal is compatible with tidyverse analysis.decal model and evaluate your statistical power.MASS, fastglm and Matrix.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")
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:
perturbations).count).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:
n0 and n1: number of non-perturbed and perturbed cells, respectively.x0 and x1: 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.pvalue and p_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.
sctransform package and described by Hafemeister & Satija (2019)