30 Seurat (下) 细胞注释:用Marker基因为“未知社区”赋予“生物学身份”
30.1 【导语】万事之源:为何要这样做?
经过上一步的降维与聚类后,我们得到的成果是一系列匿名的细胞群落,它们被标记为Cluster 0, Cluster 1, Cluster 2… 这如同我们利用卫星图像,成功地将一座城市划分为了不同的社区,但我们仍然不知道每一个社区里居住的人物类型。细胞注释的本质,就是利用数十年来积累的、海量的生物学知识——特别是那些经典的细胞类型标记基因(Marker genes)——来为这些匿名的、由算法定义的Cluster,进行一次严谨的“生物学身份鉴定”。
这个过程的最终科学目标,是将一张纯粹由数学关系定义的“聚类图”,升华为一张生物学上可被清晰解读、可用于提出科学假说的“细胞类型分布图”。
30.2 【核心实践】从原理到决策
30.2.1 【第一步:寻找所有Cluster的Marker基因】
身份鉴定的第一步,是为每一个未知的Cluster,找到其最具代表性的“身份特征”,即Marker基因。
FindAllMarkers是Seurat中执行这一任务的核心函数。它的工作原理是,为每一个Cluster,系统性地将其与所有其他Cluster进行比较,从而找出在它内部“特异性高表达”的基因列表。
## 为每个聚类找到标记基因
## 与所有其他细胞进行比较
all.markers <- FindAllMarkers(
pbmc,
# 只返回在该群集中上调的基因
only.pos = TRUE,
# 基因在至少 25% 细胞中表达
min.pct = 0.25,
# log2FC 阈值(效应量)
logfc.threshold = 0.25
)
参数决策: only.pos = TRUE:这是一项“聚焦于身份定义”的决策。我们只寻找正向(上调)的Marker基因,因为我们最关心的问题是“什么基因的存在与高表达,定义了这个细胞群是谁?”,而不是“它不是谁”。
min.pct = 0.25:这是一项“普适性”决策。它要求一个Marker基因,必须在待检测的这个Cluster中,至少25%的细胞里都被检测到。这确保了我们找到的Marker是该细胞群的一个普遍特征,而非少数几个细胞的随机表达。
logfc.threshold = 0.25:这是一项“效应大小”的决策,用于设定平均表达差异的最小阈值,以过滤掉那些统计上显著但生物学差异微小的基因。
30.2.2 【第二步:Marker基因的可视化验证】
统计计算出的Marker列表,必须经过严格的可视化验证,才能作为注释的依据。
VlnPlot (小提琴图):用于展示某一个候选Marker基因,在所有Cluster中的表达量分布情况。通过这张图,你可以直观地判断出,这个基因的表达是否真的高度集中于某一个特定的Cluster。
FeaturePlot: 这是一种极其强大的可视化决策。它将某一个Marker基因的表达水平,直接“投影”到我们已经绘制好的UMAP“细胞地图”之上,表达水平越高的细胞,其颜色就越深。通过这种方式,我们可以清晰地看到某个基因的表达,是否完美地对应于UMAP图上某一个或某几个Cluster的地理边界。
DoHeatmap: 这是一种宏观的验证决策。我们通常会提取每个Cluster中排名Top 10的Marker基因,并绘制一张热图。这张图可以系统性地展示所有Cluster的基因表达特征谱,并帮助我们评估聚类结果的整体质量——一个好的聚类,其不同Cluster的Top Marker基因应该是清晰可辨、互不重叠的。
30.2.3 【第三步:基于Marker基因进行手动注释】
这个过程,如同你在实验室中进行一次多重“免疫组化”染色。你已知CD3是T细胞的经典Marker,CD19是B细胞的经典Marker。现在,通过上述分析,你发现Cluster 0的Top Marker列表中包含了CD3D, CD3E等基因,而Cluster 1的Top Marker则是CD19和MS4A1(即CD20)。
决策:基于这些从数据中涌现出的、与已知生物学知识高度吻合的强有力证据,你可以做出一个科学的注释决策:将Cluster 0命名为“T cells”,将Cluster 1命名为“B cells”。这个注释过程,需要你结合领域内的权威文献以及公开的细胞Marker数据库(如CellMarker DB)来进行。
30.3 【认知升维】常见的思维陷阱与对策
30.3.1 思维陷阱一:只依赖一个Marker基因进行注释
在分析中发现,某个Cluster高表达CD68,于是便草率地、不假思索地将其注释为巨噬细胞。这是一个非常危险的简化。
其对策是,必须在认知中建立“多证据支持”的注释原则。CD68虽然是巨噬细胞的经典Marker,但它在其他髓系细胞中也可能表达。一个可靠的、经得起推敲的细胞注释,通常需要该Cluster能够同时、稳定地高表达一“组”公认的、经典的Marker基因。
30.3.2 思维陷阱二:遇到“无法注释”的Cluster就束手无策
在分析中,你可能会遇到某个Cluster,其Top Marker基因都是一些功能未知的基因,或者是一些不典型的、文献中少有报道的基因。
其对策是,必须认识到,这恰恰是单细胞分析最激动人心、最可能产生突破性发现的部分!这并非分析的失败,而极有可能意味着,你发现了一个全新的细胞亚型,或者一个处于某种关键中间过渡状态的细胞群体。此时,你的下一步决策,不应是放弃,而是应该将这些新颖的Marker基因列表,提交到GO/KEGG功能富集分析中,去系统性地推断这个未知细胞群的潜在功能。这往往是你整个研究故事的核心亮点。
30.4 【总结与拓展】构建你的思维框架
我们必须将单细胞的细胞注释过程,视为一次逻辑严谨的“侦探推理”工程。在这个思维框架中,UMAP图是你需要勘察的“案发现场”,FindAllMarkers是你用来高效“收集现场所有人员指纹”的技术手段。而你,作为首席侦探,需要拿着这些收集到的“指-纹”证据,去和庞大的“已知嫌疑人数据库”(即已知的Marker基因知识库)进行反复地、批判性地比对,最终,为现场的每一个Cluster,锁定其不容置疑的“真实身份”。
基于此框架,请思考一个在真实世界分析中极为常见的“疑案”:在对一份肿瘤样本进行细胞注释后,你惊讶地发现,有一个大的Cluster,它竟然同时高表达上皮细胞的经典Marker(如EPCAM)和免疫细胞的经典Marker(如PTPRC,即CD45)。这在生物学上几乎是不可能同时发生的。你认为,造成这种看似矛盾现象的“技术原因”,最可能是什么?(提示:请回顾我们在质控章节中学到的知识)。你将如何返回你的上游分析步骤,去设计一个验证方案,并最终解决这个问题?
探索生命科学前沿,提升实战技能!欢迎微信搜索并加入「生信实战圈」,获取最新技术干货、实战案例与行业动态。 点击关注,与同行一起成长!
