单细胞注释三种方法谁更靠谱?一次PBMC一致性分析实录
用 10x 公开的 PBMC 3k 数据,让 CellTypist、SingleR 与经典 Marker 三种方法各自注释,再统一口径比较一致性、逐个追查分歧。
做单细胞的同学大概都被问过这样一句话:“这个簇你凭什么叫它 NK 细胞?”只用一种注释工具,答案往往是“软件这么标的”。PaperOK科研助手公开了一个在生信模式下真实运行的案例:对健康人外周血单个核细胞(PBMC)同时用 CellTypist、SingleR 和经典 Marker 基因三种方法注释,再把结果放到同一套口径下比较,哪里一致、哪里打架、为什么打架,都写进了一份中文报告。案例使用的是公开数据,下面按运行顺序还原整个过程。
先把数据和环境理干净
提问仅一句话:“请帮我基于CellTypist、SingleR和经典的Marker基因,实现健康人PBMC的细胞类型注释一致性分析”。科研助手并没有直接开跑,而是先下载10x Genomics公开的PBMC 3k数据核对md5,并在个独立的Python环境中安装scanpy、CellTypist和SingleR,并不动用户电脑上的环境。对于经常饱受依赖冲突折磨的生信小白来说,这一步省下来的时间可能会比后续的分析还要多。
质控参照scanpy官方教程阈值,最后保留2,638个细胞。疑似双细胞只使用Scrublet进行标记而不去除,由研究者自行决定。经过归一化、降维后,Leiden聚类得到了8个簇。三种注释方法随后都以同一份归一化矩阵作为输入,避免“输入不同导致结果不同”混进比较里。
三套标签,怎么放在一起比
三种方法的来源分别是CellTypist(Immune_All_Low模型)、SingleR(Monaco免疫参考集)和Marker(14组经典免疫签名评分)。问题在于它们的名称分类粗细程度不一样,有的非常细致,有的只是大类,用字符串比较的话一致性会严重偏低。
科研助手将三个标签合并为一套16个类别的标签,然后分别计算细胞水平和簇水平的一致率、Cohen’s κ、ARI和NMI。几个指标只看一面:一致率高,κ排除了偶然性,ARI和NMI注重分组结构的匹配度。之所以要同时算逐细胞和簇两个层面,是因为簇水平的多数投票会把簇内的少量异质细胞“抹平”,两个层面的数字放在一起,才能看出分歧是集中在个别细胞,还是整个簇都存在争议。
真实运行案例:健康人 PBMC 注释一致性分析
数据:10x Genomics公开的PBMC 3k,质控后2,638个细胞,8个簇。方法:CellTypist(Immune_All_Low)、SingleR(Monaco)、14个经典的Marker签名。统一为16类后,三种方法完全一致占59.5%,至少两种方法一致占95.7%。产出:中文分析报告,7张结果图,23张结果表以及一键复现脚本run_all.sh。
分歧最大的簇,原因找到了
一致性分析最有价值的地方在于解释不一致之处。报告逐个追查最大分歧的簇,最典型的是簇5,在经典的Marker基因点图上,这个簇高表达了NK细胞的细胞毒基因,而Marker方法将其标记为红细胞(Erythroid)。
科研助手检查签名本身,发现红细胞签名的6个基因中有5个在质控时被过滤掉。剩下一个基因支撑的打分太不稳定了,所以产生了这个误判。这个结论不难得出,但单看一张UMAP图就容易被忽略了。它同样也提示我们基于Marker打分的注释需要考虑到签名基因在数据中剩余了多少。
交付的是能复现的项目
运行结束后,项目文件夹里留下了完整的一套材料:
· 中文分析报告,写明每一步的参数和判断依据
· 7 张结果图:三种方法的 UMAP 分布、一致性总览、Marker 点图等
· 23 张结果表,便于放进补充材料
· 一键复现脚本 run_all.sh,换数据或改阈值后可以整体重跑
报告和图片可在应用右侧直接预览,本轮新增和修改文件逐个罗列,不满意可一键撤销。整个过程执行的命令、安装的包都能在「工作过程」中查看。
需要说明的是,三种方法谁“更靠谱”并没有一个通用答案。参考集匹配组织来源、签名基因保留与否、分类粒度定多细,都会影响结果。在这个案例中,它并没有提供一个排名,而是提供了一个公开分歧的程序。最后每个簇叫什么,还需要研究者运用自己的生物学知识进行判断。生信模式中内置了25个生信插件与分析内核,第一次进入会自动进行安装,如果你也有一堆待注释的单细胞数据进行发愁的话,不妨从这个问题出发。
关于 PaperOK科研助手
懂科研的 AI 搭档,运行在你的电脑上:文献、数据、写作与汇报,一个对话框完成。支持 macOS、Windows、Linux,免费下载,了解 PaperOK科研助手 免费下载