1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | spatial-statistics-gptomics-bioskills |
| 项目自述名称 | SKILL.md front matter name 字段为 bio-spatial-transcriptomics-spatial-statistics;正文标题为 Spatial Statistics |
| 作者/维护者 | GPTomics Organization |
| 来源链接 | https://github.com/GPTomics/bioSkills/tree/main/spatial-transcriptomics/spatial-statistics |
| 许可证 | MIT(数据来源:GitHub API,仓库级) |
| GitHub Stars / Forks | 所属合集仓库 bioSkills 整体 1,164 / 195(数据来源:GitHub API;⚠️ 为整个合集的数字,不代表本技能自身热度) |
| 最新版本 | 仓库整体最新 release 为 3.0(2026-02-14);本子技能内容最近一次提交于 2026-06-28(数据来源:GitHub API commits,按该子目录路径查询) |
| 安装方式 | 复制 spatial-transcriptomics/spatial-statistics/ 整个目录(含 SKILL.md、examples/、usage-guide.md)到 agent 的 skills 目录,或用仓库自带安装脚本按分类批量安装 |
2. 功能介绍与亮点
- 为空间转录组数据提供三类统计推断:检测空间可变基因(SVG)、计算空间自相关(Moran’s I、Geary’s C、Getis-Ord Gi*、局部 LISA)、检验细胞类型空间共定位(邻域富集、共现分析)。Python 侧用 Squidpy 配合 PySAL/esda 做局部统计,R 侧可选 SPARK / SPARK-X / nnSVG 作为可扩展的 SVG 方法
- 核心论点一:一个基因“空间上可变”不等于“被空间调控”——Moran’s I、SPARK-X 等方法检测到的往往只是该基因是某个空间聚集细胞类型的标记基因,全样本 SVG 列表因此与高变基因(HVG)列表高度重叠,真正有信息量的是 SVG 中不属于 HVG 的那部分;需要用细胞类型感知方法(C-SIDE/CTSV/CELINA)才能分离出类型内部的真实空间调控信号
- 核心论点二:邻居图与置换零假设本身是研究者的选择,不是组织的固有属性——改变 kNN 的 k 值会移动 Moran’s I 排名与富集 z 分数,改变共定位零假设(全局标签置换 vs 区室内置换 vs 环形位移)会让大多数“A 与 B 邻近”的结论消失。文档给出五种 SVG 方法(SpatialDE/SPARK/SPARK-X/nnSVG/Moran’s I)按检验零假设与计算复杂度的选型对照表,以及四种共定位零假设(含 CRAWDAD 多尺度网格置换)按各自能控制/遗漏的混杂因素对照表
- 局部统计量的双重多重检验陷阱:位置数即检验数,且相邻位置的局部统计量本身空间自相关,违反标准 BH-FDR 的独立性假设,文档建议更严格的截断值(0.01/0.005/0.001)并把聚类图当探索性结果而非独立发现
- 含 8 行症状-成因-修复对照表、10 篇同行评审文献引用(Svensson 2018 Nat Methods、Zhu 2021 Genome Biology 等)与两段可运行 Python 代码示例
3. 适用场景
所属分类:数据分析与可视化
面向需要为空间转录组数据选择 SVG 检测方法、空间自相关统计量或细胞类型共定位检验方法的生物信息学分析者。典型场景:判断某批 SVG 结果是否只是重新推导了细胞类型标记基因;决定用全局 Moran’s I 还是局部 Getis-Ord Gi* 回答“这个基因在哪里高表达”;排查一个看似显著的邻域富集 z 分数是否只是两类细胞恰好同处一个组织区室导致的假阳性;为 Xenium/MERFISH/CosMx 等大规模单细胞分辨率数据选择线性可扩展的 SVG 方法(SPARK-X/nnSVG)而非小规模高斯过程方法。
4. 跨 Agent 兼容性
- Claude Code:原生支持——仓库提供
install-claude.sh,标准 SKILL.md(YAML front matter + 指令正文)可直接安装 - Codex:原生支持——仓库同时提供
install-codex.sh - OpenClaw:原生支持——仓库提供专用
install-openclaw.sh,保留原始目录结构 - Hermes Agent:需适配——Hermes 官方生物信息学技能网关页面按名列出
spatial-statistics,但明确说明这类技能“不是 Hermes 格式的技能”,只作为参考材料被引用,非原生 Hermes 技能格式
5. 推荐理由
空间统计的结果极易产生“代码跑通、数字看似合理、但解读错误”的静默失败:把细胞类型聚集导致的伪空间信号当成基因受空间调控的证据,或把邻居图/置换零假设这两个研究者主观选择的参数当成组织的客观属性。该技能把这两个陷阱讲透,并系统化给出该选哪种 SVG 方法、该用哪种自相关统计量回答“聚集”还是“哪里高”、共定位结论该扛住多强的零假设才能算数,帮助 agent 在处理空间转录组数据时不把方法选择的副产品误当生物学发现。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 合集仓库整体约 1,164 stars 不代表本技能自身热度;LobeHub 独立市场页单独收录本技能(技能级独立第三方证据) |
| 可用性 | 9 | 依赖为标准科学计算/生信包(pip install squidpy scanpy anndata esda libpysal,R 方案走 BiocManager::install(c('SPARK','nnSVG'))),无付费依赖;文档齐全含独立 usage-guide 与可运行示例脚本(基于 Squidpy 内置 Visium 数据集演示 SVG 与 HVG 重叠分析);最近一次提交为 2026-06-28 |
| 安全性 | 9 | 纯 Python/R 本地统计分析代码,无 shell 越权、无网络外发(示例脚本仅调用 Squidpy 内置数据集加载函数)、无需凭据;MIT 许可证明确;通读全文与示例脚本未见混淆逻辑或可疑指令 |
安全检查清单:①无 shell 命令执行,为标准科学计算库函数调用与本地统计检验代码 ②不联网外发用户数据 ③无凭据或 API key 要求 ④通读未见可疑指令 ⑤GPTomics 为持续维护的组织账号,未见造假迹象 ⑥MIT 许可证清晰 ⑦最近提交 2026-06-28
7. 跟同类 Skills 相比的优势
| 维度 | 本技能(spatial-statistics) | spatial-neighbors(同合集) | spatial-domains(同合集) |
|---|---|---|---|
| 定位 | 在已构建的空间图上做统计推断:检测空间可变基因、计算空间自相关、检验细胞类型共定位是否显著 | 构建本技能及合集内其余空间统计方法都要调用的邻居图本身(kNN/Delaunay/半径),是上游基础设施 | 把组织切片划分为空间连续的区域(域),是描述性的空间分区,不做统计显著性检验 |
| 核心产出 | 带 p 值/FDR 的显著性判断(某基因是否空间可变、某两类细胞是否特异共定位) | 一个邻居权重矩阵 W,供下游统计方法调用 | 每个位置的域标签(离散分区) |
| 纠偏的核心陷阱 | 空间可变≠空间受调控;默认置换零假设过弱会让丰度/区室混淆冒充“特异共定位” | 图的构建参数(k 值、坐标类型、单位)本身决定下游一切统计结果,但该技能本身不做统计推断 | 域数量 k 是生物学决策而非纯统计最优,需报告 k±1 敏感性 |
三者是同一条空间转录组分析流水线上互补的不同环节:先建图(spatial-neighbors)、再在图上做统计推断(spatial-statistics)或分区(spatial-domains),而非彼此的替代品。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;LobeHub 与 Hermes 官方网关均为收录性质的列表页,不构成使用评价。
9. 其他补充
SKILL.md 的“Related Skills”章节交叉引用同合集内的 spatial-neighbors(本技能所有统计量继承的图构建来源)、spatial-domains(区域级结构,域不是共定位结果)、spatial-communication(空间配体-受体分析,丰度/区室混淆问题在那里同样出现)与 single-cell/markers-annotation(喂给共定位分析的细胞类型标签,及混淆 SVG 判断的标记基因重叠来源),可见本技能承担该合集空间转录组分析流水线中“统计推断”这一专项角色。
10. 安装使用方式
- 克隆或下载仓库子目录
spatial-transcriptomics/spatial-statistics/ - 复制整个目录(含
SKILL.md、examples/、usage-guide.md)到 agent 的 skills 目录;也可用./install-claude.sh --categories "spatial-transcriptomics"批量安装同分类全部技能 - 装依赖:
pip install squidpy scanpy anndata esda libpysal(R 方案:BiocManager::install(c('SPARK','nnSVG'))) - 无需重启 agent,装好后自然语言描述需求(如“帮我算这批基因的 Moran’s I 并做 FDR 校正”)即可触发
11. 注意事项
- Squidpy
nhood_enrichment默认的全局标签置换零假设较弱,两类同处一个组织区室的高丰度细胞会轻易通过检验,需换用区室内条件置换或环形位移等更强零假设才能声称“特异共定位” - 局部统计量(LISA/Getis-Ord Gi*)存在双重多重检验陷阱:位置数即检验数,且相邻位置的统计量本身空间自相关,标准 BH-FDR 校正在此不成立,应改用更严格的截断值(如 0.001)并把聚类图当探索性结果而非独立发现
- 邻居图的 k 值、坐标类型与置换零假设都是研究者的主观选择而非组织固有属性,更换这些参数会显著改变 SVG 排名与富集 z 分数,报告结果时应连同图与零假设一并注明
- 仓库为社区维护的生信技能合集,非厂商官方出品,选用前建议核对示例代码与当前环境包版本