CellTrek概述:单细胞空间定位背景与CellTrek核心原理
大家好,欢迎来到这门课。我们先聊聊单细胞空间定位这个事儿。
做单细胞测序的人,手里都有一堆细胞类型。但有个问题始终绕不开:这些细胞在组织里原来的位置,我们并不清楚。你想想看,光知道有哪些细胞类型是不够的,它们怎么排列、和谁挨着、通讯方式是什么,这些信息都藏在空间位置里。
我刚开始接触空间转录组数据时,心里也有个疑问:为什么不直接测空间数据就完了?后来发现,空间转录组虽然能看到位置信息,但分辨率不够。像 10x Visium,一个点就包含好几种细胞。把单细胞数据和空间数据结合起来,就成了一个新的方向。
为什么需要空间定位
单细胞测序把组织解离了,细胞分散开,各自测各自的表达谱。这让我们能发现新的细胞类型,但是有两件事做不了:
- 位置信息丢失——细胞在组织中的原始位置没了,肿瘤细胞是位于核心还是边界,无从得知
- 空间互作看不见——肿瘤细胞和免疫细胞是否相邻、有没有物理接触,单细胞数据给不出答案
空间转录组学弥补了这个缺陷。说白了,它把组织切得很薄,然后切成一个个小方格,每个方格里测一下RNA表达。但问题也明显:每个方格包含多个细胞,分辨率不够细。有些技术比如 MERFISH 和 seqFISH 能达到单细胞分辨率,但通量有限,检测的基因数量也少。
记得我第一个项目是做肿瘤微环境分析。单细胞数据里看到一大群 CD8+ T 细胞,却不知道它们在肿瘤组织里的分布情况。是聚集在肿瘤边缘?还是已经浸润进去了?单细胞数据回答不了。当时我用了一种计算方法把单细胞映射到空间切片上,结果发现这些 T 细胞多数在肿瘤边缘,很少深入到内部核心。这个发现对整个实验的后续解释影响很大。
空间定位的三种主流策略
| 策略 | 输入数据 | 核心思路 | 代表工具 |
|---|---|---|---|
| 映射法 | scRNA-seq + ST | 将单细胞分配到空间捕获点 | CellTrek、Seurat |
| 重建法 | scRNA-seq + 参考图谱 | 直接重构空间表达模式 | NMF、VIPER |
| 整合法 | scRNA-seq + ST + 分割图像 | 利用组织图像辅助空间分配 | SpaGCN、Cell2location |
我个人比较常用的是映射法。原因很简单:它不重新生成数据,而是把已有的单细胞信息直接放到空间位置上,保留原始分辨率的概率最高。CellTrek 就是这类方法里我用得最顺手的一个。
CellTrek的核心原理
CellTrek 的做法很巧妙。它先把 scRNA-seq 和 ST 数据里的公共基因拿出来,用典型相关分析找细胞间的匹配关系。然后呢?它用随机游走模型,把一个个单细胞放到最可能在的空间位置上。
具体来说,流程是这样的:
- 数据输入——单细胞表达矩阵 + 空间转录组表达矩阵 + 空间坐标
- 特征对齐——挑选高度可变的公共基因,做数据整合
- 构建锚点——通过加权最近邻算法,为每个单细胞找到最相似的空间捕获点
- 空间分配——用随机游走算法,把单细胞分配到具体坐标位置
- 输出结果——得到一个包含细胞类型和空间位置的新数据框
整个操作可以用一个 R 包完成。核心函数调用大概是这样:
# CellTrek 核心运行示例
library(CellTrek)
celltrek_obj <- celltrek(
sc_obj = scRNA_data,
st_obj = spatial_data,
sc_assay = "RNA",
st_assay = "Spatial",
scale_method = "log_normalize",
n_pcs = 30
)
这个函数会返回一个 CellTrek 对象。嗯,这里要注意一点:参数 n_pcs 设多少合适?我在项目里试过,30 是保守选择,但如果你数据里的基因数很多,可以考虑往上升到 50。但别超过 100,否则噪声会混进来。
CellTrek的优势与局限
用了这么多年,我个人觉得 CellTrek 的几个优点很突出:
- 分辨率高——结果是单细胞级别的,不是捕获点级别
- 无需训练数据——不像有些深度学习工具,需要先训练模型
- 运行速度快——几万个细胞的处理,几分钟能跑完
但也有局限。有一次我在处理一个免疫器官的项目,数据里 B 细胞和 T 细胞的表达谱很像,CellTrek 在映射时出现了混淆——有些 B 细胞被放到了 T 细胞富集的区域。后来我加了几个标记基因做筛选,情况才好了不少。所以,CellTrek 对一些高度相似的细胞类型效果不太理想,需要用标记基因做个前置筛选。
知识框架总览
在进入实操之前,我们先看看本章的知识体系。下面这张图概括了 CellTrek 空间定位的整体逻辑。
核心要点:CellTrek 的本质是一个映射工具。它把高分辨率的单细胞数据放到低分辨率但带位置信息的空间框架里,最终得到单细胞级别的空间分布图谱。整个过程不需要复杂的模型训练,关键在于公共基因空间的对齐和随机游走的位置分配策略。
好了,这就是 CellTrek 的全貌。从输入数据到对齐方法,再到最终输出,逻辑还是比较直观的。下一部分我们会直接上手,用真实数据跑一遍完整的 CellTrek 流程。