Codar
下载

空间解卷积(RCTD、cell2location)

Visium 等斑点级空间转录组的每个斑点混有多个细胞,测到的是它们表达的总和。解卷积借助一份已注释的单细胞或单核参考,估计每个斑点中各细胞类型的比例或绝对丰度,从而把斑点数据转化为细胞类型的空间分布图。常用方法有 RCTD(spacexr 包,显式建模平台效应)、cell2location(贝叶斯模型,估计细胞绝对数量)、CARD(利用空间相关性)、SPOTlight,以及 Tangram、CytoSPACE 这类把单个细胞映射到空间位置的方法。解卷积的上限取决于参考:参考中没有的细胞类型,在结果里也不会出现。

什么时候用

  • Visium 数据中想知道免疫细胞、成纤维细胞、肿瘤细胞在组织中的分布
  • 比较不同空间域或不同病理区域中细胞类型组成的差异
  • 寻找在空间上共定位的细胞类型组合,为细胞通讯假设提供位置证据
  • 已有同组织单细胞数据,希望把单细胞亚群定位回组织切片
  • 评估治疗前后某类细胞在特定区域的浸润程度变化

不适合的情况

  • Xenium、CosMx 等已是单细胞分辨率的数据,应直接做细胞注释
  • 没有同组织、同物种参考,只能用差异很大的组织充当参考
  • 想区分参考中没有定义的细微状态,如同一亚型内的激活程度

需要准备的数据

空间表达原始计数
斑点级的原始 UMI 计数和坐标,RCTD 与 cell2location 都要求未标准化的整数计数。
单细胞参考数据
同组织、同物种的单细胞或单核原始计数及细胞类型注释;每个类型需有足够细胞,注释粒度与研究问题一致。
共享基因列表
参考与空间数据的基因名需统一;cell2location 教程建议先去除空间数据中的线粒体基因。
斑点细胞数先验
cell2location 需要每个斑点预期细胞数,可参考 HE 图像上的核计数或组织学经验估计。

分析步骤

  1. 1

    整理单细胞参考

    对参考做质控,去掉双细胞和低质量细胞,确认注释可靠。细胞数特别少的类型考虑合并到上一级。参考应覆盖切片中可能出现的主要细胞类型,尤其不要遗漏肿瘤细胞或组织特有的实质细胞。

  2. 2

    统一基因与过滤

    取参考与空间数据的共有基因,过滤低表达和仅在极少细胞中出现的基因。共有基因数过少时检查物种和命名。cell2location 提供 filter_genes 函数按细胞比例和平均表达筛选参考基因。

  3. 3

    估计参考表达特征

    cell2location 先用 RegressionModel 在参考上估计每种细胞类型的表达特征,可把样本或技术作为批次变量校正;RCTD 由 Reference 对象内部计算各类型的平均表达谱。

  4. 4

    运行解卷积

    RCTD 用 create.RCTD 和 run.RCTD,Visium 常用 full 模式;cell2location 训练 Cell2location 模型。查看训练损失曲线是否收敛,未收敛时增加迭代次数。

  5. 5

    检查结果合理性

    把各细胞类型丰度画在组织图上,与 HE 形态和已知 marker 的空间表达对照。例如上皮丰度应集中在腺体区;某类型在全片均匀分布且数值都低,常提示参考不匹配。

  6. 6

    共定位与区域比较

    计算细胞类型丰度之间的空间相关性,或在 cell2location 中用 NMF 找共定位模块;按空间域汇总细胞组成,比较不同区域或组别之间的差异。

关键参数与决策

RCTD 模式(doublet_mode)

full 允许每个斑点含任意多种类型,适合 Visium 这类多细胞斑点;doublet 假设每个位置最多两种类型,适合 Slide-seq 等更小的捕获单元;multi 介于两者之间。

N_cells_per_location(cell2location)

每个斑点的预期细胞数,是重要的先验。应根据组织密度设置,可在 HE 上数几个斑点范围内的细胞核估计;设得过高会把丰度均摊到更多类型上。

detection_alpha(cell2location)

控制斑点间检测效率差异的正则化强度。教程建议在切片内技术差异大时使用较小值,如 20;差异小时可用较大值。斑点间测序深度很不均时尤其要关注。

参考注释粒度

粒度过粗会掩盖亚型的空间差异,过细则相近亚型表达特征难以区分,结果在亚型间来回分配。常见做法是先用大类跑一次确认合理,再细化关心的谱系。

常见错误

  • 参考缺少切片中存在的细胞类型:缺失类型的信号会被分配给表达最相近的类型,造成后者在特定区域的虚假富集,例如肿瘤细胞被算作上皮细胞。
  • 用标准化或对数转换后的数据作为输入:RCTD 和 cell2location 都基于计数模型,输入非计数数据会使似然计算失真,丰度估计偏差大。
  • 把相对比例与绝对丰度混用:RCTD 的权重常归一为比例,cell2location 估计的是细胞数,两者跨斑点比较时含义不同,作图和统计前要说明用的是哪种。
  • 参考来自单核测序而空间数据接近全细胞:两类数据对胞质转录本的捕获不同,部分细胞类型会被系统性高估或低估,可在模型中把平台差异作为批次考虑。
  • 只看单个细胞类型的丰度图就下结论:解卷积存在类型间的相互替代,应同时检查相近类型的分布和 marker 基因的原始空间表达。

结果怎么看

细胞类型丰度空间图

每种细胞类型一张组织图,颜色表示比例或估计细胞数。看分布是否与形态相符,例如 B 细胞是否集中在淋巴滤泡。cell2location 常用后验分布的 5% 分位数作为保守估计。

饼图式组成图

每个斑点画一个小饼图显示主要细胞类型的比例,适合在局部放大区域展示混合程度。斑点多时整体图会难以辨认,应只展示感兴趣区域。

共定位分析图

用细胞类型丰度间的相关矩阵或 NMF 模块展示哪些类型倾向于出现在同一位置。强正相关提示可能的生态位;需排除两者都只在高细胞密度区升高造成的相关。

分区组成统计表

按空间域或病理区域汇总各细胞类型的平均比例。组间比较应以样本为单位,而不是把所有斑点当作独立观测,否则 P 值会被严重低估。

和相近方法怎么选

RCTD 与 cell2location

RCTD 速度较快,显式估计参考与空间数据之间的平台效应,输出比例,适合快速得到可靠的组成;cell2location 是贝叶斯层次模型,估计绝对细胞数并能在参考中校正批次,计算量更大,通常需要 GPU 加速。

解卷积与细胞映射

解卷积回答每个斑点由哪些类型构成;Tangram、CytoSPACE 等映射方法把单个参考细胞分配到空间位置,可得到带单细胞表达的虚拟空间数据。只要组成时用解卷积,要把细胞状态细节放回组织时考虑映射。

空间解卷积与 bulk 免疫浸润估计

两者都在估计混合样本的细胞组成。CIBERSORT 等针对整块组织的 bulk 表达,只给一个样本一组比例;空间解卷积针对每个斑点,保留位置信息,但需要匹配的单细胞参考,且每个斑点计数更稀疏。

常见问题

解卷积一定要有自己的单细胞数据吗?

不一定,可以使用公共的同组织、同物种单细胞图谱作为参考。关键是参考要覆盖切片中的主要细胞类型,且组织状态接近,例如肿瘤切片最好使用肿瘤而非正常组织的参考,否则肿瘤细胞会缺失。

cell2location 的 N_cells_per_location 怎么设?

根据组织的细胞密度估计:在 HE 图像上数若干个斑点范围内的细胞核,取典型值。不同组织差异较大,同一切片中也有疏密区域,这个值作为先验而非硬约束,取大致合理的量级即可。

解卷积结果怎么验证?

可用以下方式交叉核对:已知 marker 基因的原始空间表达是否与对应类型丰度一致;结果是否与 HE 形态或免疫组化相符;换用另一种方法或另一份参考,主要细胞类型的分布是否稳定。

Visium HD 还需要解卷积吗?

8 µm 分箱已接近单细胞尺度,但一个分箱仍可能跨越两个细胞的边界,部分方法如 RCTD 也被用于 HD 数据。较大分箱仍存在混合,较小分箱则计数稀疏,常见做法是结合细胞分割后再注释。

在 Codar 里怎么做

在 Codar 里说明空间数据和单细胞参考的位置,以及参考中细胞类型注释所在的列。Codar 会先确认方案,包括参考如何整理、采用哪种解卷积或细胞映射方法、关键先验如何设定,然后运行空间转录组解卷积与细胞映射,交付各细胞类型的空间丰度图、斑点组成表、共定位分析结果,以及分析报告和可复现脚本。

可以这样提问
我有乳腺癌 Visium 切片和同一批患者的单细胞注释数据,想估计每个斑点里肿瘤细胞、CAF 和 T 细胞的比例,看它们在空间上怎么分布。
了解空间组学插件