空间转录组分析流程(Visium、Xenium)
空间转录组在测量基因表达的同时保留组织切片上的位置信息,用来回答细胞和基因表达在组织中如何排布。主流平台分两类:以 10x Visium 为代表的捕获测序法,每个直径 55 µm 的斑点通常混有多个细胞,覆盖全转录组;以 Xenium、CosMx、MERFISH 为代表的原位成像法,可达单细胞乃至亚细胞分辨率,但只测预先设计的基因面板。分析通常包括读取表达与图像、斑点或细胞质控、标准化与聚类、空间域识别、空间变异基因检测和邻域分析,常用工具有 Seurat、Squidpy、BayesSpace、BANKSY 等。
什么时候用
- 肿瘤切片中划分肿瘤核心、侵袭边缘、基质和免疫聚集区,并比较各区基因表达
- 脑、肾、肠等有明确分层或分区结构的组织,识别解剖结构对应的表达域
- 寻找在组织中呈空间梯度或局部富集的基因
- 分析不同细胞类型是否在空间上邻近或相互回避
- 把单细胞得到的细胞类型和通讯假设放回组织原位验证
不适合的情况
- 只想得到单细胞分辨率的细胞类型比例,而数据是 Visium 等斑点级平台
- 用 Xenium 等靶向面板数据做全转录组层面的差异或通路富集
- 切片质量差、组织脱落或 RNA 降解严重的样本,空间模式不可信
需要准备的数据
- Visium Space Ranger 输出
- 过滤后的表达矩阵(h5)和 spatial 文件夹,包括组织图像、斑点坐标和缩放因子 json。
- Xenium 输出目录
- 细胞-基因矩阵、细胞及核边界、转录本坐标和形态学图像;注意版本不同目录结构略有差异。
- 样本与切片信息
- 每张切片的样本 ID、组别、相邻切片关系;多切片分析需记录各切片的捕获区和批次。
- 可选的单细胞参考
- 同组织的单细胞或单核数据,用于注释 Xenium 细胞或对 Visium 斑点做解卷积。
分析步骤
- 1
读取并核对图像对齐
Seurat 用 Load10X_Spatial 或 LoadXenium 读取,Python 可用 Squidpy 或 spatialdata 生态。先把斑点叠加到 HE 图像上,确认斑点落在组织内、方向和缩放正确,对齐错误会让所有空间结论失效。
- 2
斑点或细胞质控
在组织图上绘制每个斑点的 UMI 数、基因数和线粒体比例。低计数区域可能对应真实的低细胞密度区,如纤维化或坏死区,应结合图像判断,不宜按全片统一阈值一刀切。
- 3
标准化与降维
Visium 常用 SCTransform 处理斑点间测序深度差异;Xenium 的基因面板固定、每细胞计数少,标准化时要考虑面板组成和细胞面积。随后做 PCA、聚类和 UMAP,作为后续空间分析的基础。
- 4
空间域识别
在表达相似性之外引入空间邻近信息,把组织划分为连续的区域。可用 BayesSpace、BANKSY、SpaGCN、GraphST 等。做对的标志是域边界与 HE 图像上的解剖结构基本吻合,且不是零散的斑点。
- 5
空间变异基因
用 Moran's I(Seurat 的 FindSpatiallyVariableFeatures 或 Squidpy 的 spatial_autocorr)、SPARK-X 等找在空间上非随机分布的基因,再与空间域的标志基因对照解读。
- 6
邻域与共定位分析
构建空间近邻图后,用邻域富集和共现分析检验不同细胞类型或域是否比随机预期更常相邻。Visium 中需先通过解卷积或注释得到斑点的细胞组成。
- 7
域间比较与注释
对每个空间域做差异表达和功能富集,结合病理形态命名,如肿瘤边缘、淋巴聚集区。多张切片时,检查同一域在各切片中是否都能识别,并在样本层面比较组间差异。
关键参数与决策
空间域数量
BayesSpace 等方法需预设域数 q,可用 qTune 查看似然随 q 的变化,结合组织结构确定。域数过多会把同一结构切碎,过少会合并功能不同的区域。
空间信息权重
空间域方法都有控制邻居信息比重的参数,例如 BANKSY 的 lambda,其文档建议细胞分型用较小值、域划分用较大值。权重过大会抹掉小而真实的结构。
近邻定义
Visium 斑点为六边形排列,常取直接相邻的 6 个斑点;Xenium 等单细胞数据常用固定半径或 k 近邻。半径过大会把不同结构的细胞算作邻居,影响邻域富集结果。
标准化方法
按总计数缩放会削弱与细胞密度相关的真实信号,SCTransform 在 Visium 中更常用;Xenium 面板只有部分基因,按总计数标准化时面板中高表达基因的变化会影响其他基因。
多切片整合策略
同一域在不同切片的表达可能有批次差异,可先在表达层面做整合,再做空间域识别;也可以逐片识别后按标志基因对应。应在报告中说明采用哪种方式。
常见错误
- 把 Visium 斑点当作单个细胞解读:一个斑点通常含多个细胞,斑点聚类得到的是混合组成,直接冠以细胞类型名称会误导结论。
- 按全片统一阈值过滤低计数斑点:低计数常对应真实的组织结构,如纤维间质,一刀切会在组织图上留下空洞并删掉有意义的区域。
- 只做表达聚类就称作空间域:不使用空间信息的聚类在组织上常呈斑驳分布,与解剖结构对应差,应使用专门的空间域方法或说明差别。
- 用一张切片下组间结论:同一组织不同区域差异很大,单张切片无法区分生物学差异和取材位置,组间比较应以多个样本为单位。
- 忽视 Xenium 的分割误差:细胞边界划分不准时,相邻细胞的转录本会被计入彼此,造成同时表达两种细胞 marker 的假双阳性细胞。
结果怎么看
空间特征图
在组织图像上按斑点或细胞显示基因表达或质控指标。看表达是否与形态结构相符;若高表达区正好是组织边缘或褶皱处,可能是技术伪影而非生物学信号。
空间域图
每个颜色代表一个空间域,应形成连续区域并与 HE 上的结构对应。若域内夹杂大量其他颜色的零星斑点,可提高空间权重或减少域数后比较。
空间变异基因表
列出每个基因的 Moran's I 或其他统计量和校正 P 值。排名靠前的基因应在空间特征图上呈清晰模式;线粒体或核糖体基因排名很高时,提示存在组织质量梯度。
邻域富集热图
行列为细胞类型或空间域,颜色表示相邻程度相对随机预期的富集或缺失。对角线通常为正,说明同类细胞聚集;非对角线上的强富集提示可能的相互作用区域,需结合图像核实。
和相近方法怎么选
Visium 与 Xenium
Visium 覆盖全转录组,适合无偏发现,但斑点混合多个细胞;Xenium 为单细胞乃至亚细胞分辨率,适合精细定位已知细胞类型和互作,但只能测预设面板。探索性研究常先用 Visium,验证与精细定位时再用 Xenium。
空间域识别与普通聚类
普通聚类只看表达相似性,同一种细胞分布在不同区域时会被归为一类;空间域识别加入邻居信息,得到连续的组织区域,适合描述结构。研究细胞类型时用聚类,研究组织分区时用空间域。
空间转录组与单细胞转录组
单细胞转录组分辨率和测序深度更高,适合定义细胞类型和状态,但丢失位置信息;空间转录组保留位置,适合验证细胞分布和邻近关系。两者常联合使用,单细胞提供参考,空间数据提供定位。
常见问题
Visium 数据用 SCTransform 还是 LogNormalize?
Seurat 空间教程推荐 SCTransform,因为斑点之间的测序深度差异部分来自组织结构,简单按总计数缩放可能压掉真实差异。两种方法都可以跑一遍比较空间特征图,若主要结论一致,说明结果稳健。
空间域和细胞类型有什么区别?
细胞类型描述细胞是什么,空间域描述组织的哪个区域。一个空间域可能包含多种细胞,例如肿瘤边缘同时有肿瘤细胞、成纤维细胞和免疫细胞;同一细胞类型也可能分布在多个域中。
Visium 一个斑点里有几个细胞?
取决于组织的细胞密度。斑点直径约 55 µm,在常见组织中一般包含若干个细胞,密集组织更多。正因为是混合信号,想知道每个斑点的细胞组成时需要做解卷积。
多张切片怎么一起分析?
先逐片质控,再整合表达数据以减少批次差异,之后做空间域识别或逐片识别后按标志基因对应。组间比较应以切片或样本为单位汇总,例如比较各样本中某空间域的面积比例或伪 bulk 表达。
Visium HD 数据怎么分析?
Visium HD 以 2 µm 方格捕获,官方输出会汇总为 8 µm 和 16 µm 等分箱。较大分箱计数更稳定,适合聚类和空间域;较小分箱接近单细胞尺度,但单个分箱计数稀疏,常需结合细胞分割或解卷积。
在 Codar 里怎么做
在 Codar 里说明空间数据的位置(如 Space Ranger 或 Xenium 输出目录)和研究问题,例如想识别哪些组织区域、比较哪些分组。Codar 会先确认方案,包括质控思路、标准化方法和空间域数量的确定方式,然后运行空间转录组分析和空间域识别,交付空间特征图、空间域图、各域标志基因和空间变异基因统计表,以及分析报告和可复现脚本。
我有 4 张结直肠癌 Visium 切片的 Space Ranger 输出,想划分肿瘤、侵袭边缘和基质等空间域,并找出侵袭边缘特异的基因。