R package for normalization and variance stabilization of single-cell RNA-seq data using regularized negative binomial regression
The sctransform package was developed by Christoph Hafemeister in Rahul Satija's lab at the New York Genome Center and described in Hafemeister and Satija, Genome Biology 2019. Recent updates are described in (Choudhary and Satija, Genome Biology, 2022). Core functionality of this package has been integrated into Seurat, an R package designed for QC, analysis, and exploration of single cell RNA-seq data.
Installation:
# Install sctransform from CRAN
install.packages("sctransform")
# Or the development version from GitHub:
remotes::install_github("satijalab/sctransform", ref="develop")
Running sctransform:
# Runnning sctransform on a UMI matrix
normalized_data <- sctransform::vst(umi_count_matrix)$y
# v2 regularization
normalized_data <- sctransform::vst(umi_count_matrix, vst.flavor="v2")$y
# Runnning sctransform on a Seurat object
seurat_object <- Seurat::SCTransform(seurat_object)
#v2 regularization
seurat_object <- Seurat::SCTransform(seurat_object, vst.flavor="v2")
For usage examples see vignettes in inst/doc or use the built-in help after installation
?sctransform::vst
Available vignettes:
- Variance stabilizing transformation
- Using sctransform in Seurat
- Examples of how to perform normalization, feature selection, integration, and differential expression with sctransform v2 regularization
Please use the issue tracker if you encounter a problem
-
Hafemeister, C. & Satija, R. Normalization and variance stabilization of single-cell RNA-seq data using regularized negative binomial regression. Genome Biology 20, 296 (2019). https://doi.org/10.1186/s13059-019-1874-1. An early version of this work was used in the paper Developmental diversification of cortical inhibitory interneurons, Nature 555, 2018.
-
Choudhary, S. & Satija, R. Comparison and evaluation of statistical error models for scRNA-seq. Genome Biology 23.1 (2022). https://doi.org/10.1186/s13059-021-02584-9