Skip to content

R package for semi-supervised single-cell data integration

License

Notifications You must be signed in to change notification settings

carmonalab/STACAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

STACAS is a method for scRNA-seq integration, especially suited to accurately integrate datasets with large cell type imbalance (e.g. in terms of proportions of distinct cell populations).

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 is robust to incomplete cell type labels and can be applied to large-scale 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)
InstallData("pbmcsca")
data("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

Citation