Skip to content
cccskills
FreePublished on GitHub

bioconductor-nnsvg

Method for scalable identification of spatially variable genes (SVGs) in spatially-resolved transcriptomics data. The method is based on nearest-neighbor Gaussian processes and uses the BRISC algorithm for model fitting and parameter estimation. Allows identification and ranking of SVGs with flexible length scales across a tissue slide or within spatial domains defined by covariates. Scales linearly with the number of spatial locations and can be applied to datasets containing thousands or more

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

See how to install

Files included (1)

  • SKILL.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

nnSVG

Workflows

Standard Workflow

library(SpatialExperiment)
library(nnSVG)

# Filter low-expressed and mitochondrial genes
spe <- filter_genes(spe)

# Calculate logcounts using library size factors
spe <- computeLibraryFactors(spe)
spe <- logNormCounts(spe)

# Run nnSVG to identify spatially variable genes
spe <- nnSVG(spe)

Input: A SpatialExperiment object containing raw counts and spatial coordinates. Output: A SpatialExperiment object with SVG ranking and statistics stored in rowData.

When to Use

  • Identifying spatially variable genes (SVGs) in spatially-resolved transcriptomics datasets (e.g., Visium, Slide-seq).
  • Identifying SVGs within spatial domains or cell types by incorporating covariates using the X parameter in nnSVG.
  • Scaling SVG identification to large datasets with thousands of spatial locations.

When NOT to Use

  • For non-spatial single-cell RNA-seq data, use standard highly variable gene (HVG) selection in scran or Seurat.
  • For simple differential expression between pre-defined clusters without spatial modeling, use findMarkers from scran.

Data Requirements

  • A SpatialExperiment object containing a counts assay and spatial coordinates (accessible via spatialCoords).
  • Alternatively, a numeric matrix of log-transformed normalized counts and a matrix of spatial coordinates.

Key Parameters

  • X (NULL): A model matrix of covariates (e.g., cell types or spatial domains) to include in the model.
  • filter_genes_ncounts (3): Minimum number of counts for gene filtering in filter_genes.
  • filter_genes_pcspots (0.5): Minimum percentage of spots with counts for gene filtering in filter_genes.
  • filter_mito (TRUE): Whether to filter out mitochondrial genes in filter_genes.

Best Practices

  • Filter out low-expressed genes using filter_genes before running nnSVG to avoid errors and reduce runtime.
  • Re-calculate library size factors and log-normalized counts after filtering genes.
  • For multi-sample datasets, run nnSVG individually per sample and combine results by averaging ranks.

Common Pitfalls

  • Running nnSVG on rows (genes) or columns (spots) containing all zero counts; ensure proper filtering using filter_genes or manual subsetting.
  • Empty levels in factor covariates when creating the design matrix; use droplevels() to remove them.

Alternatives

  • SpatialDE for spatial variable gene identification.
  • Spark / SPARK-G for statistical modeling of SVGs.
  • scran for non-spatial highly variable gene selection.

Citations

  • Weber and Hicks 2026 (or Weber et al., Nature Communications)
  • Datta et al., 2016 (Nearest-neighbor Gaussian processes)
  • Saha and Datta, 2018 (BRISC algorithm)

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-kb797Updated 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-kb797Updated 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-kb797Updated 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-kb797Updated 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-kb797Updated 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-kb797Updated Jun 21, 2026

See all skills by bioMate-AI

Report a problem with this skill