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.

Quick start


# Install sctransform from CRAN

# Or the development version from GitHub:
# the development version currently support v2 regularization
# v2 regularization will be available on CRAN soon
# install.packages("remotes")
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:

Please use the issue tracker if you encounter a problem


Try the sctransform package in your browser

Any scripts or data that you put into this service are public.

sctransform documentation built on Sept. 22, 2022, 1:09 a.m.