https://github.com/carmonalab/stacas
R package for semi-supervised single-cell data integration
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: nature.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.9%) to scientific vocabulary
Repository
R package for semi-supervised single-cell data integration
Basic Info
Statistics
- Stars: 87
- Watchers: 4
- Forks: 9
- Open Issues: 3
- Releases: 5
Metadata Files
README.md
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:
```r if (!requireNamespace("remotes")) install.packages("remotes") library(remotes)
remotes::install_github("carmonalab/STACAS") ```
STACAS basic usage
Standard integration (more here)
```r 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)
```r 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
Andreatta M, Herault L, Gueguen P, Gfeller D, Berenstein AJ, Carmona SJ - "Semi-supervised integration of single-cell transcriptomics data", Nature Communications (2024) - https://www.nature.com/articles/s41467-024-45240-z
Andreatta M, Carmona SJ - "STACAS: Sub-Type Anchor Correction for Alignment in Seurat to integrate single-cell RNA-seq data", Bioinformatics (2021) - https://doi.org/10.1093/bioinformatics/btaa755
Owner
- Name: Cancer Systems Immunology Lab
- Login: carmonalab
- Kind: organization
- Location: Lausanne, Switzerland
- Website: https://agora-cancer.ch/laboratory/carmona-lab
- Twitter: carmonation
- Repositories: 16
- Profile: https://github.com/carmonalab
At Ludwig Cancer Research Lausanne and Department of Oncology, University of Lausanne & Swiss Institute of Bioinformatics
GitHub Events
Total
- Release event: 1
- Watch event: 11
- Issue comment event: 1
- Push event: 3
- Create event: 1
Last Year
- Release event: 1
- Watch event: 11
- Issue comment event: 1
- Push event: 3
- Create event: 1
Dependencies
- R >= 3.6.1 depends
- Seurat >= 4.0.0 imports
- future * imports
- future.apply * imports
- ggridges * imports
- grid * imports
- gridExtra * imports
- pbapply * imports