Geo单细胞注释避坑指南:别再用默认参数瞎跑,这3个细节决定结果准不准

Geo单细胞注释避坑指南:别再用默认参数瞎跑,这3个细节决定结果准不准

Geo单细胞注释这活儿,看着简单,其实坑深得很。我见过太多同行,拿到数据直接扔进Seurat或者Scanpy里,默认参数跑一圈,出个图就敢发文章。结果呢?审稿人一句“细胞类型鉴定不准确”直接拒稿。今天不整那些虚头巴脑的理论,就聊聊我踩过的雷,还有怎么把Geo单细胞注释做得扎实点。

首先,你得承认,不同平台的数据差异巨大。10x Genomics和Smart-seq2出来的数据,噪音水平完全不是一个量级。很多人不管三七二十一,直接套用同一个参考数据集。比如,你拿脑组织的参考去注释外周血样本,那结果肯定是一塌糊涂。我去年帮一个客户改数据,他就是犯了这毛病。他用的参考库是Mouse Brain Atlas,但样本其实是脾脏。结果T细胞、B细胞全被注释成了神经元前体细胞。这哪是注释,这是瞎编。所以,第一步,选对参考数据库至关重要。如果是人源数据,Human Cell Atlas是个不错的选择,但要注意版本。如果是小鼠,Tabula Muris或者最新的Mouse Cell Atlas更靠谱。别偷懒,去查查你样本的组织来源,再匹配对应的参考集。

其次,标记基因的选择。很多教程里说“用Top 10 marker genes”,这太粗糙了。我在实际工作中发现,仅仅看Top 10很容易出错,因为有些基因在非特异性细胞里也有表达。比如,LYZ在巨噬细胞里高表达,但在某些上皮细胞里也有少量表达。如果你只看Top 10,可能会把上皮细胞误判为巨噬细胞。我的建议是,至少看Top 20,并且结合文献验证。我有个习惯,会把候选标记基因的表达热图打出来,肉眼检查一下。如果某个标记基因在多个簇里都有表达,那这个簇的注释就要存疑。这时候,可能需要引入更多的标记基因,或者使用更高级的算法,比如SingleR或者scANVI,它们能利用更丰富的信息来辅助判断。

还有,批次效应。这玩意儿简直是Geo单细胞注释的噩梦。不同批次的数据,即使来自同一个体,也可能因为实验操作、试剂批次不同而产生巨大差异。如果不校正,你的聚类结果可能会把同一类细胞分成好几堆,或者把不同类的细胞混在一起。我之前处理一个多中心研究的数据,三个中心的样本混在一起跑,聚类结果乱七八糟。后来用了Harmony或者BBKNN做校正,结果才清晰起来。但要注意,校正过度也会抹杀真实的生物学差异。所以,校正前后都要看PCA图,确认校正后同一类细胞确实聚在一起,而不同类细胞依然分开。

最后,人工复核。别完全相信算法。算法再牛,也是基于统计学的概率判断。你需要结合生物学知识,去判断结果是否合理。比如,如果某个簇被注释为“未分类”,不要急着扔掉,看看它的标记基因是什么,也许是一个新的亚型。我有一次遇到一个簇,算法注释为“T细胞”,但标记基因里出现了CD19,这是B细胞的标记。我仔细一看,发现这个簇其实是个双阳性细胞,或者可能是数据质控没做好,混入了死细胞。如果是后者,那就得重新过滤。这种细节,算法发现不了,只能靠人。

总之,Geo单细胞注释不是跑个代码就完事了。它需要你对数据有深入的理解,对标记基因有敏锐的嗅觉,对批次效应有足够的警惕。别指望一键搞定,多花点时间在数据质控和标记基因验证上,你的结果才会经得起推敲。记住,好的注释不是算出来的,是“磨”出来的。

本文关键词:Geo单细胞注释