← Back to all sparks
S

STACAS

ANALYTICS
Velocity0.0

R package STACAS by carmonalab — release notes from GitHub.

Single-cell batch correction that learned to use cell labels, then spent three releases chasing Seurat.

single-cellbatch-correctiondata-integrationseuratbioinformaticsr-package
Current state
STACAS integrates single-cell RNA-seq datasets by finding and weighting anchors between them, with rPCA-distance-based downweighting and an optional semi-supervised mode that uses cell type labels to discard inconsistent anchors. IntegrateData.STACAS() performs the integration natively rather than handing off, and StandardizeGeneSymbols() normalises gene naming across datasets before anchors are computed.
Where it's heading
The method work concentrated in version 2.0 and has been stable since; everything after is Seurat compatibility and operational robustness. Versions 2.1.1 through 2.3.0 track Seurat v5 assays, v3-to-v5 conversion, multi-layer objects and SCT normalisation, with the genuinely useful additions — a reference seed dataset, max.seed.datasets for large-scale integration, min.sample.size — arriving as side effects of that work. The package is from the same lab as GeneNMF, and its release rhythm follows the single-cell ecosystem's upstream churn rather than an internal roadmap.
Prediction
Expect the next release to follow further Seurat object-model changes, which have driven the last three. Nothing in the entries indicates new anchor-scoring or correction methodology in progress.

Recent moves

  1. 1y ago

    Multi-layer objects and Seurat v3-to-v5 conversion handled

    Improves handling of multi-layer objects and internal conversion between Seurat v3 and v5 data structures, plus function examples and documentation. Compatibility plumbing, but the kind that decides whether the package runs at all on a modern Seurat object.

    View source ↗
  2. 2y ago

    scale.data option for extreme batch effects; gene name conversion table

    Adds a scale.data option worth using when batch effects are extreme — integrating across species, or single cells against single nuclei — plus min.sample.size on Run.STACAS() and a human gene name conversion table. Also fixes NA consistency scores during anchor calculation and accounts for dashes silently becoming dots in gene names.

    View source ↗
  3. 3y ago

    Reference seeding, gene symbol standardisation, large-scale integration path

    Introduces StandardizeGeneSymbols() for cross-dataset gene naming, a reference parameter to seed the integration, and a large-scale strategy that builds the integration tree from only the largest max.seed.datasets datasets and appends the rest sequentially. FindAnchors.STACAS() also gains normalization.method, enabling SCT assays.

    View source ↗
  4. 4y ago

    Semi-supervised integration and rPCA anchor downweighting

    ⚡ SPARK

    The release that defined the current method: cell type labels can guide integration by removing anchors with inconsistent annotations, anchors are downweighted by rPCA distance instead of filtered out, and IntegrateData.STACAS() performs integration natively. Every release since has been compatibility work on top of this design.

    View source ↗
  5. 5y ago

    Seurat 4.0.0 compatibility and SCTransform support

    Adds Seurat 4.0.0 compatibility and SCTransform normalisation support, and warns when anchor filtering leaves too few anchors to work with. The warning is the tell for the filtering brittleness that 2.0 later replaced with downweighting.

    View source ↗