← 返回图册
图册 / 空间转录组 / 平台总览与通用流程
plot46 · 代码 0 · 图 0 · 笔记 1 · 代码库专题
0.1 空转平台选型与上游定量对照
代码库整理的专题,README 见原始目录。
- 分类
- spatial
- 图号
- 代码 0 · 图 0 · 笔记 1
- 文献来源
- 非期刊图,无对应论文。
- 教程来源
- 本地路径:06_空转/00_平台总览与通用流程/0.1_空转平台选型与上游定量对照
0 个代码文件 · 1 份笔记
- 代码来源
- 本地代码库 06_空转/00_平台总览与通用流程/0.1_空转平台选型与上游定量对照
图源:(自动生成占位图)
分析流程与参数
从专题 README 抽取;原文顺序保留,未跑过的部分照实标注。
四、本机可用包(2026-10 实测)
| 类别 |
可用 |
缺失 |
| R / Bioconductor |
Seurat 5.6、SpatialExperiment、Nebulosa、Giotto、sf、RANN、spdep |
BayesSpace、spacexr(RCTD)、SPOTlight、CARD、nnSVG、semla |
| Python |
scanpy、anndata、torch |
squidpy、Stereopy、spatialdata、cell2location |
缺的包都能装,但 Stereopy 只支持 Python ≤3.10、cell2location 需要 GPU 才快;装之前先看各专题 README 的环境段。
展开其余 4 个章节(工具栈、数据格式、可视化方法、参考文献等)
一、先问三个问题,决定走哪条分支
Q1: 每个观测是单个细胞,还是一群细胞的混合?
├─ 单细胞(Xenium / CosMx / MERFISH / Stereo-seq CellBin)
│ → 不做去卷积,做细胞分割质量检查 + 细胞类型注释
└─ 混合(Visium / Visium HD 2µm / Stereo-seq Bin / Slide-seq)
→ 必须去卷积,或只在生态位层面解读
Q2: 面板基因还是全转录组?
├─ 面板(Xenium / CosMx / MERFISH,几百个基因)
│ → 不能做全转录组富集;GSEA 输入受面板限制
└─ 全转录组(Visium / Stereo-seq / Slide-seq)
→ 常规富集可用
Q3: 有没有配套 H&E / DAPI 图?
├─ 有 → 可以用形态学辅助(SpaGCN 用组织学、Bin2cell 用细胞核分割)
└─ 无 → 只能用表达 + 坐标
二、上游定量工具对照
| 平台 |
上游工具 |
输入 |
输出 |
关键参数 |
| 10x Visium |
SpaceRanger |
FASTQ + 参考 + 玻片图 |
.h5 + spatial/ |
--slide、--area、--probeset-version |
| 10x Xenium |
Xenium Ranger |
仪器输出 + 参考 |
cells.parquet + transcripts.parquet |
--panel、分割方式 |
| Stereo-seq |
SAW |
FASTQ + 参考 |
.gef(bins / cellbin) |
bin_size、--cellbin |
| SeekSpace |
SAW |
FASTQ + 参考 |
.gef |
芯片坐标参数 |
| CosMx |
AtoMx(云) |
仪器输出 |
*_exprMat_file.csv + *_metadata_file.csv |
ROI 选择、细胞分割 |
三、转成 AnnData 后必须检查的四件事
import anndata as ad
adata = ad.read_h5ad("output.h5ad")
# 1. 空间坐标存在吗?单位是什么?
print(adata.obsm.get("spatial") is not None)
print(adata.obsm["spatial"][:3]) # 像素还是微米,差 1000 倍
# 2. 坐标轴顺序对不对?(x,y)vs(row,col)——方向反了图会上下颠倒
import matplotlib.pyplot as plt
plt.scatter(*adata.obsm["spatial"].T, s=1)
plt.gca().invert_yaxis() # 图像坐标系通常 y 向下
plt.savefig("check_coords.png", dpi=150)
# 3. 组织图像与 scalefactors 一起搬过来了吗?
print(adata.uns.get("spatial")) # Visium 才有
# 4. 变量名是 symbol 还是 Ensembl ID?物种前缀对不对?
print(adata.var_names[:5])
这四步里任何一步没做就往下跑,后面所有空间统计都是在错的坐标系上做的。
状态
- 本文件是选型与检查清单,不是可执行脚本。
- 平台参数(
--probeset-version 等)随上游版本变化,实际用时会话前核对一次官方文档。
分析代码
这个专题只有笔记或外部工具,没有可直接展示的源码文件。