跳到正文
cccskills
免费在 GitHub 公开

bioconductor-voyager

SpatialFeatureExperiment (SFE) is a new S4 class for working with spatial single-cell genomics data. The voyager package implements basic exploratory spatial data analysis (ESDA) methods for SFE. Univariate methods include univariate global spatial ESDA methods such as Moran's I, permutation testing for Moran's I, and correlograms. Bivariate methods include Lee's L and cross variogram. Multivariate methods include MULTISPATI PCA and multivariate local Geary's C recently developed by Anselin. The

中文简介正在准备中。当前显示原文说明。

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md6.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Voyager

Workflows

Standard Workflow

Perform exploratory spatial data analysis (ESDA) on spatial transcriptomics data, including univariate, bivariate, and multivariate spatial statistics, and visualize the results over tissue geometries.

library(SFEData)
library(SpatialFeatureExperiment)
library(SpatialExperiment)
library(ggplot2)
library(Voyager)
library(scater)
library(scran)
library(pheatmap)

# 1. Load required libraries & 2. Read dataset
sfe <- McKellarMuscleData()

# 3. Add and mirror the tissue image
sfe <- addImg(sfe, imageSource = "tissue_lowres_5a.jpeg", sample_id = "Vis5A", image_id = "lowres", scale_fct = 1024/22208)
sfe <- mirrorImg(sfe, sample_id = "Vis5A", image_id = "lowres")

# 4. Filter spots and normalize counts
sfe <- sfe[, colData(sfe)$in_tissue]
sfe <- logNormCounts(sfe)

# 5. Construct a spatial neighborhood graph
colGraph(sfe, "visium") <- findVisiumGraph(sfe)

# 6. Run univariate spatial statistics (Moran's I and Getis-Ord Gi*)
features_use <- c("Myh1", "Myh2")
sfe <- runUnivariate(sfe, type = "moran", features = features_use, colGraphName = "visium", swap_rownames = "symbol")
sfe <- runUnivariate(sfe, type = "localG", features = features_use, colGraphName = "visium", include_self = TRUE, swap_rownames = "symbol")

# 7. Identify highly variable genes and calculate bivariate spatial correlation (Lee's L)
gs <- modelGeneVar(sfe)
hvgs <- getTopHVGs(gs, fdr.threshold = 0.01)
res <- calculateBivariate(sfe, "lee", hvgs)

# 8. Perform spatially-informed dimension reduction (MULTISPATI PCA)
hvgs2 <- getTopHVGs(gs, n = 1000)
sfe <- runMultivariate(sfe, "multispati", colGraphName = "visium", subset_row = hvgs2, nfposi = 10, nfnega = 10)

# 9. Visualize results
plotSpatialFeature(sfe, c("nCounts", "Myh1"), colGeometryName = "spotPoly", annotGeometryName = "myofiber_simplified", aes_use = "color", swap_rownames = "symbol")
plotLocalResult(sfe, "localG", features = features_use, colGeometryName = "spotPoly", divergent = TRUE, swap_rownames = "symbol")
ElbowPlot(sfe, ndims = 10, nfnega = 10, reduction = "multispati")
spatialReducedDim(sfe, "multispati", ncomponents = 2, divergent = TRUE)

Input: A SpatialFeatureExperiment object and a tissue image. Output: Spatial plots of gene expression, local spatial statistics, eigenvalues, and reduced dimensions.

When to Use

  • To perform exploratory spatial data analysis (ESDA) on spatial transcriptomics data structured as a SpatialFeatureExperiment (SFE) object.
  • To compute univariate global and local spatial statistics such as Moran's I (using runUnivariate with type = "moran") and Getis-Ord Gi* (using type = "localG").
  • To calculate bivariate spatial correlation (e.g., Lee's L via calculateBivariate) to identify spatially co-expressed gene modules.
  • To run spatially-informed dimension reduction like MULTISPATI PCA (using runMultivariate with type = "multispati").

When NOT to Use

  • For non-spatial single-cell RNA-seq data; use standard SingleCellExperiment and scater instead.
  • If you need to perform cell type deconvolution or spatial domain segmentation directly; use specialized packages like Seurat or Giotto.

Data Requirements

  • A SpatialFeatureExperiment (SFE) object containing spatial coordinates, count matrices, and spot/annotation geometries (e.g., spotPoly).
  • A spatial neighborhood graph constructed and stored in the SFE object (e.g., using findVisiumGraph).

Key Parameters

  • type ("moran" / "localG" / "lee" / "multispati"): The spatial statistic method to run.
  • colGraphName ("visium"): The name of the spatial neighborhood graph stored in the SFE object.
  • include_self (TRUE): For Getis-Ord Gi*, determines whether to include self-directing edges in the spatial graph.
  • swap_rownames ("symbol"): Column in rowData to swap rownames with (e.g., to use human-readable gene symbols instead of Ensembl IDs).
  • nfposi (10): Number of positive spatial autocorrelation components to retain in MULTISPATI PCA.
  • nfnega (10): Number of negative spatial autocorrelation components to retain in MULTISPATI PCA.
  • divergent (TRUE): Logical indicating whether to use a divergent color palette for local spatial statistics or reduced dimensions.

Best Practices

  • Always construct a spatial neighborhood graph using findVisiumGraph before running any spatial statistics.
  • Mirror the tissue image using mirrorImg if the origin of the image (top-left) does not align with the origin of the spots (bottom-left).
  • Filter spots to keep only those in tissue (colData(sfe)$in_tissue) and normalize counts using logNormCounts before analysis.

Common Pitfalls

  • Mismatch between image and spot coordinates: Ensure you call mirrorImg to flip the image if coordinates are inverted.
  • Missing spatial graph: Forgetting to assign the output of findVisiumGraph to colGraph(sfe, "visium") will cause downstream spatial functions to fail.

Alternatives

  • spdep for classic geospatial analysis.
  • adespatial for multivariate spatial analysis (MULTISPATI PCA).
  • scater for non-spatial single-cell exploratory data analysis.

Citations

  • Moses L, Pachter L (2026). Voyager: Exploratory Spatial Data Analysis for Spatial Bioconductor. R package.

References

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

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

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

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

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

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

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

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).

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

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

中文简介正在准备中。当前显示原文说明。

bioMate-AI/biomate-bioconductor-kb7932026年6月21日 更新

查看 bioMate-AI 的全部技能

报告此技能的问题