steam

Evaluating consistency and reliability of clustering in spatial omics using STEAM

https://github.com/fanzhanglab/steam

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.5%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Evaluating consistency and reliability of clustering in spatial omics using STEAM

Basic Info
  • Host: GitHub
  • Owner: fanzhanglab
  • License: mit
  • Language: HTML
  • Default Branch: main
  • Homepage:
  • Size: 86.5 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 5
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.Rmd

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```


# STEAM 




[![R-CMD-check](https://github.com/fanzhanglab/STEAM/actions/workflows/check-standard.yaml/badge.svg)](https://github.com/fanzhanglab/STEAM/actions/workflows/check-standard.yaml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) 
![Visitors](https://api.visitorbadge.io/api/visitors?path=https%3A%2F%2Fgithub.com%2Ffanzhanglab%2FSTEAM-v4&label=%23Visits&labelColor=%23000000&countColor=%2300c00B&style=plastic)



One common challenge in evaluating the robustness of identified cell type clusters in spatial omics is the lack of ground truth cell type labels in real-world data from disease conditions. To address this, we introduce STEAM, a Spatial Transcriptomics Evaluation Algorithm and Metric for clustering performance, developed to evaluate the consistency of clustering algorithms and the reliability of cell annotations in spatial omics data. Our hypothesis is that if clusters are robust and consistent across tissue regions, selecting a subset of cells or spots within a cluster should enable accurate prediction of cell type annotations for the remaining cells within that cluster, due to spatial proximity and gene expression covarying patterns. STEAM incorporates various machine learning models, including Random Forest, XGBoost, and SVM, to assess the prediction accuracy and consistency of clusters, along with statistical metrics like Kappa score, F1 score, ARI (Adjusted Rand Index), etc. We demonstrated the capability of STEAM on multi-cell and single-cell resolution spatial transcriptomics and proteomics. Notably, STEAM supports multi-sample training, enabling the evaluation of cross-replicate clustering consistency. Furthermore, we used STEAM to evaluate the performance of spatial-aware and spatial-ignorant clustering methods, offering researchers a valuable tool for more informed result interpretation.


## Installation You can install the STEAM Package from [GitHub](https://github.com/fanzhanglab/STEAM/) using the devtools as follows: ``` r # install.packages("devtools") devtools::install_github("fanzhanglab/STEAM") ``` (OR) ``` r remotes::install_github("fanzhanglab/STEAM") ```
### Dependencies / Other required packages ``` r - R (\>= 4.2) - ggplot2 (\>= 3.4.2) - caret - randomForest - e1071 - scales - gridExtra - grid - reshape2 - viridis ```
## Tutorials **Step-by-step notebook** of applying STEAM on 10X Visium Human Brain Data (DLPFC): - Tutorial of applying STEAM on DLPFC data #### Below are several major steps of running STEAM: ``` r # Create a new STEAM object for the loaded spatial transcriptomic data STEAM.Obj <- LoadSTEAM(count_exp = matrix, spatial = coordinates, labels = labels, Seurat.obj = NULL) ``` ``` r STEAM.Obj <- RunSTEAM(STEAM.obj, train.ratio = 0.8, n.size = 5, seed = 123, cv.folds = 10, cv.repeats = 3, trainval.ratio = 0.8, model = "rf", n.tree = 500, kernel = 'linear', train.folder.name = 'train.out', allowParallel = FALSE) ```
## Citations Reynoso, S., Schiebout, C., Krishna, R., Zhang, F. STEAM: Spatial Transcriptomics Evaluation Algorithm and Metric for clustering performance, [*bioRxiv*](link), 2025
## Help, Suggestion and Contribution Using github [**issues**](https://github.com/fanzhanglab/STEAM/issues) section, if you have any question, comments, suggestions, or to report coding related issues of STEAM is highly encouraged than sending emails. - Please **check the GitHub [issues](https://github.com/fanzhanglab/STEAM/issues)** for similar issues that has been reported and resolved. This helps the team to focus on adding new features and working on cool projects instead of resolving the same issues! - **Examples** are required when filing a GitHub issue. In certain cases, please share your STEAM object and related codes to understand the issues.
## Contact Please contact [fanzhanglab@gmail.com](fanzhanglab@gmail.com) for further questions or protential collaborative opportunities!

Owner

  • Name: The Zhang Lab
  • Login: fanzhanglab
  • Kind: organization
  • Email: fanzhanglab@gmail.com

The Computational Omics and Systems Immunology (COSI) lab

Citation (CITATION.cff)

cff-version: 1.0.3
message: "If you use this software, please cite it using the following reference."
authors:
  - family-names: Reynoso
    given-names: S.
  - family-names: Schiebout
    given-names: C.
  - family-names: Krishna
    given-names: R.
  - family-names: Zhang
    given-names: F.
title: "STEAM"
date-released: 2025
url: https://www.biorxiv.org/content/10.1101/2025.02.17.636505v1
journal: bioRxiv
doi: https://doi.org/10.1101/2025.02.17.636505

GitHub Events

Total
  • Issues event: 5
  • Watch event: 1
  • Issue comment event: 2
  • Public event: 1
  • Push event: 23
  • Create event: 1
Last Year
  • Issues event: 5
  • Watch event: 1
  • Issue comment event: 2
  • Public event: 1
  • Push event: 23
  • Create event: 1

Dependencies

.github/workflows/check-standard.yaml actions
  • actions/checkout v3 composite
  • actions/setup-node v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 4.0 depends
  • caret * imports
  • e1071 * imports
  • ggplot2 * imports
  • grDevices * imports
  • grid * imports
  • gridExtra * imports
  • mclust * imports
  • randomForest * imports
  • reshape2 * imports
  • scales * imports
  • stats * imports
  • utils * imports
  • viridis * imports
  • Seurat * suggests
  • ggpointdensity * suggests
  • knitr * suggests
  • rmarkdown * suggests