A normalization method for single-cell UMI count data using a
variance stabilizing transformation. The transformation is based on a
negative binomial regression model with regularized parameters. As part of the
same regression framework, this package also provides functions for
batch correction, and data correction. See Hafemeister and Satija (2019)
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:
# Running sctransform on a UMI matrix
normalized_data <- sctransform::vst(umi_count_matrix)$y
# v1 regularization
normalized_data <- sctransform::vst(umi_count_matrix, vst.flavor="v1")$y
# Running sctransform on a Seurat object
seurat_object <- Seurat::SCTransform(seurat_object)
# v1 regularization
seurat_object <- Seurat::SCTransform(seurat_object, vst.flavor="v1")
For usage examples see vignettes in inst/doc or use the built-in help after installation
?sctransform::vst
Available vignettes:
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