Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 3.39 KB

File metadata and controls

79 lines (53 loc) · 3.39 KB

STACAS: Accurate semi-supervised integration of single-cell transcriptomics data

STACAS is a method for scRNA-seq integration or batch effect correction. Through an open-source benchmark, we showed that STACAS outperforms competing methods such as Harmony, Seurat, and scVI/scANVI.

Prior cell type knowledge, given as cell type labels, can be provided to the algorithm to perform semi-supervised integration, leading to increased preservation of biological variability in the resulting integrated space.

STACAS scales well to large datasets and is robust to incomplete and imprecise input cell type labels, which are commonly encountered in real-life integration tasks.

Package Installation

To install STACAS directly from the Git repository, run the following code from within RStudio:

if (!requireNamespace("remotes")) install.packages("remotes")
library(remotes)

remotes::install_github("carmonalab/STACAS")

STACAS basic usage

Standard integration (more here)

library(STACAS)

# get the test dataset "pbmcsca" from SeuratData package
if (!requireNamespace("remotes")) install.packages("remotes")
if (!requireNamespace("SeuratData")) install_github('satijalab/seurat-data')
library(SeuratData)
library(Seurat)

options(timeout = 3000)
InstallData("pbmcsca")
data("pbmcsca")
pbmcsca <- UpdateSeuratObject(pbmcsca)

# Integrate scRNA-seq datasets generated in different batches (in this example, using different methods/technologies)
pbmcsca.integrated <- NormalizeData(pbmcsca) |>
    SplitObject(split.by = "Method")|>
    Run.STACAS()

pbmcsca.integrated <- RunUMAP(pbmcsca.integrated, dims = 1:30) 

# Visualize
DimPlot(pbmcsca.integrated, group.by = c("Method","CellType")) 

Semi-supervised integration (more here)

pbmcsca.semisup <- NormalizeData(pbmcsca) |>
    SplitObject(split.by = "Method")|>
    Run.STACAS(cell.labels = "CellType")

pbmcsca.semisup <- RunUMAP(pbmcsca.semisup, dims = 1:30) 

STACAS integration DEMOS

Find a tutorial for STACAS in a complete Seurat integration pipeline at: STACAS demo (code and instructions here)

See also how STACAS compares to other computational tools for the integration of heterogeneos data sets: STACAS vs other tools

Integration performance

Use scIntegrationMetrics to evaluate the quality of integration results, or the snakemake pipeline for reproducible benchmarking.

Citation