用途
该技能用于对已注释的空间转录组数据(单细胞或 Visium 数据)进行空间统计与图分析,量化细胞类型或 spot 簇在组织中的空间排列模式,并识别空间可变基因和配体-受体相互作用。每个分析模块独立运行,最终导出 CSV 结果文件。
主要能力
- 构建空间邻接图:支持 kNN、半径、Delaunay 三角剖分以及 Visium 网格(六边形环)等多种邻接定义方式,生成
obsp["spatial_connectivities"],供后续图模块使用。 - 邻域富集分析:通过置换检验判断两类标签的邻接频率是否显著高于随机(z > 2)或相互回避(z < -2),对角线反映自身聚集程度。
- 共现距离分析:计算某类型在另一类型周围不同距离处的富集比例,揭示两种类型保持共现的距离范围。
- 交互矩阵与中心性:统计类型间原始接触数(可归一化),并计算度中心性、接近中心性和平均聚类系数,判断哪类细胞在组织中处于核心位置、哪类聚集更紧密。
- Ripley 统计量:支持 L、G、F 三种模式,通过模拟随机分布带判断某类型在特定距离下是聚集、随机还是均匀分散,并提供 p 值。
- 空间可变基因检测:使用 Moran's I 或 Geary's C 评估基因表达是否具有空间自相关,并输出显著性基因列表及空间表达图。
- 配体-受体置换检验:基于 OmniPath 或自定义 LR 列表,在标签间进行类似 CellPhoneDB 的置换检验,输出显著的配体-受体-细胞对组合。
使用方式
- 准备输入:AnnData 对象需包含
obsm["spatial"]坐标和已对数归一化的X;obs中需有分类标签列(细胞类型或 spot 簇)。 - 安装依赖:按需安装
squidpy、omnipath、scanpy等,推荐使用pixi add --pypi以保持环境一致。 - 构建空间图:根据平台选择
coord_type="grid"(Visium)或"generic"(单细胞),可指定n_neighs、radius或delaunay。 - 逐模块运行:依次调用
sq.gr.nhood_enrichment、sq.gr.co_occurrence、sq.gr.interaction_matrix、sq.gr.centrality_scores、sq.gr.ripley、sq.gr.spatial_autocorr、sq.gr.ligrec等函数,并保存 CSV 或图。 - 查看结果:每个模块输出对应 CSV 文件及可视化图,可进一步整合为报告。
适用场景
- 判断细胞类型在组织中的空间邻近关系是否显著。
- 测量两类细胞保持共现的距离范围。
- 评估某类细胞在组织中呈聚集、随机还是均匀分散。
- 寻找空间可变基因(Moran's I 或 Geary's C)。
- 在标签间进行快速配体-受体置换检验。
限制
- 需要预先注释的标签;若无标签,需先使用空间域检测或细胞类型注释技能。
- 共现分析内存随细胞数平方增长,建议对大数据集进行子采样。
- 邻域 z 分数在稀有类型中可能不稳定,需结合计数解释。
- 配体-受体检验需要网络下载 OmniPath 数据,离线时可传入自定义 LR 列表。
- 单张切片每条件的结果仅为描述性,需重复切片才能推断变化。
- 版本兼容性:squidpy >= 1.6,
sq.gr.spatial_neighbors在 1.7 之后被特定函数取代,但仍兼容至 1.8。