Skip to content
cccskills
FreePublished on GitHub

bioconductor-standr

standR is an user-friendly R package providing functions to assist conducting good-practice analysis of Nanostring's GeoMX DSP data. All functions in the package are built based on the SpatialExperiment object, allowing integration into various spatial transcriptomics-related packages from Bioconductor. standR allows data inspection, quality control, normalization, batch correction and evaluation with informative visualizations.

The English summary is being prepared. Showing the original description.

Run score Not tested

See how to install

Files included (1)

  • SKILL.md5.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

standR

Workflows

Standard Workflow

Perform quality control, TMM normalization, and RUV4 batch correction on NanoString GeoMx DSP data.

library(standR)
library(SpatialExperiment)
library(limma)
library(ExperimentHub)

# Load data
eh <- ExperimentHub()
countFile <- eh[["EH7364"]]
sampleAnnoFile <- eh[["EH7365"]]
featureAnnoFile <- eh[["EH7366"]]

spe <- readGeoMx(countFile, sampleAnnoFile, featureAnnoFile = featureAnnoFile, rmNegProbe = TRUE)

# Preprocess and QC
colData(spe)$regions <- paste0(colData(spe)$region,"_",colData(spe)$SegmentLabel) |> 
  (\(.) gsub("_Geometric Segment","",.))() |>
  paste0("_",colData(spe)$pathology) |>
  (\(.) gsub("_NA","_ns",.))()

spe <- addPerROIQC(spe, rm_genes = TRUE)
spe <- spe[,rownames(colData(spe))[colData(spe)$lib_size > 50000]]

# Normalization
colData(spe)$biology <- paste0(colData(spe)$disease_status, "_", colData(spe)$regions)
spe_tmm <- geomxNorm(spe, method = "TMM")

# Batch correction
spe <- findNCGs(spe, batch_name = "SlideName", top_n = 500)
spe_ruv <- geomxBatchCorrection(spe, factors = "biology", NCGs = metadata(spe)$NCGs, k = 5)

Input: Raw NanoString GeoMx DSP count and annotation files from ExperimentHub; Output: A normalized, batch-corrected SpatialExperiment object.

When to Use

  • Analyzing NanoString GeoMx DSP data using SpatialExperiment structures.
  • Performing gene-level and ROI-level quality control using addPerROIQC and filtering based on library size (lib_size).
  • Normalizing spatial transcriptomics data with TMM or other methods via geomxNorm.
  • Removing slide-associated batch effects using findNCGs and geomxBatchCorrection.

When NOT to Use

  • For single-cell RNA-seq data without spatial coordinates, use standard packages like scran or Seurat because standR is tailored for GeoMx DSP spatial data.
  • For spatial datasets requiring continuous cell state modeling across microenvironments, use Statial because standR focuses on ROI-level profiling and batch correction.

Data Requirements

  • Input counts, sample annotations, and feature annotations loaded into a SpatialExperiment object using readGeoMx.
  • Requires metadata columns such as lib_size for ROI filtering, and slide/batch information (e.g., SlideName) for batch correction.

Key Parameters

  • rmNegProbe (TRUE): Parameter in readGeoMx to remove negative probes.
  • rm_genes (TRUE): Parameter in addPerROIQC to remove non-expressed genes.
  • y_threshold (50000): Library size threshold used in plotROIQC to identify low-quality ROIs.
  • method ("TMM"): Normalization method in geomxNorm.
  • batch_name ("SlideName"): Column name in colData representing the batch variable in findNCGs.
  • top_n (500): Number of top least variable genes to select as negative control genes in findNCGs.
  • factors ("biology"): Biological factors to preserve during batch correction in geomxBatchCorrection.
  • k (5): Number of factors of unwanted variation to remove in geomxBatchCorrection.

Best Practices

  • Merge region-related annotations (e.g., region, SegmentLabel, pathology) to avoid collinearity before batch correction.
  • Run gene-level QC using addPerROIQC and visualize removed genes with plotGeneQC.
  • Perform ROI-level QC using plotROIQC to identify low library size or low cell count regions.
  • Inspect technical variations using Relative Log Expression (plotRLExpr) and Principal Component Analysis (drawPCA) before and after normalization.

Common Pitfalls

  • Collinearity in batch correction: Avoid by merging overlapping annotations in colData before running geomxBatchCorrection.
  • Incorrect normalization method: Using "RPKM" or "TPM" in geomxNorm without adding a genelength column to rowData will fail.
  • Low library size ROIs confounding downstream analysis: Filter out low-quality ROIs (e.g., lib_size > 50000) before normalization.

Alternatives

  • edgeR: For general differential expression and TMM normalization without spatial-specific workflows.
  • limma: For linear modeling of expression data without built-in GeoMx-specific QC and batch correction.
  • DESeq2: For alternative normalization and differential testing on count data.

Citations

  • Ning Liu, Dharmesh Bhuva, Ahmed Mohamed, Chin Wee Tan, Melissa Davis (2026). standR: An R package for NanoString GeoMx DSP data analysis.

References

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

The package contains functions for exploratory oligonucleotide array analysis. The dependence on tkWidgets only concerns few convenience functions. 'affy' is fully functional without it.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This tool uses the label-tree function from HyPhy to annotate a phylogenetic tree. It allows users to select a subset of leaves using either a regular expression or a list of sequence names, and then apply a specified label to these selecte

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

This package provides a client for the Bioconductor AnnotationHub web resource. The AnnotationHub web resource provides a central location where genomic files (e.g., VCF, bed, wig) and other resources from standard locations (e.g., UCSC, En

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

apeglm provides Bayesian shrinkage estimators for effect sizes for a variety of GLM models, using approximation of the posterior for individual coefficients.

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

ASURAT is a software for single-cell data analysis. Using ASURAT, one can simultaneously perform unsupervised clustering and biological interpretation in terms of cell type, disease, biological process, and signaling pathway activity. Inputting a single-cell RNA-seq data and knowledge-based databases, such as Cell Ontology, Gene Ontology, KEGG, etc., ASURAT transforms gene expression tables into original multivariate tables, termed sign-by-sample matrices (SSMs).

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

AUCell allows to identify cells with active gene sets (e.g. signatures, gene modules...) in single-cell RNA-seq data. AUCell uses the "Area Under the Curve" (AUC) to calculate whether a critical subset of the input gene set is enriched with

The English summary is being prepared. Showing the original description.

bioMate-AI/biomate-bioconductor-kb793Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill