做单细胞转录组的人,多少都碰过这样的场景:一批数据下来,标准化、降维、聚类都跑完了,结果到了注释细胞类型这一步,全靠手动翻Marker基因,眼睛都快看花了。尤其当样本来自大脑这种细胞组成极其复杂的组织,一个cluster一个cluster地核对标记基因,效率低不说,还容易在抑制性神经元和兴奋性神经元之间反复纠结。如果你也在这个环节上耗过时间,那Allen Institute开源的scrattch这个R包,值得好好了解一下。
scrattch(single cell RNA-seq analysis tools for cell type characterization)是艾伦脑科学研究所(Allen Institute for Brain Science)在GitHub上维护的一套单细胞RNA测序分析工具集,最初是为了支撑他们自己的脑细胞类型图谱项目而开发的。它解决的痛点非常明确:在大型单细胞数据集上,高效地完成聚类、差异表达分析、细胞类型注释和分类映射,并提供一套可复现、可扩展的工作流。适合做脑科学、神经科学、以及各类需要精细细胞类型鉴定的单细胞研究组参考使用。
接下来我从项目设计、核心功能、实操流程和踩坑经验四个维度来聊聊我对scrattch的理解。不是官方文档的复述,是我在真实数据集上跑过之后的一些体会。
1. 项目背景与核心定位:为什么单细胞分析需要scrattch
1.1 从脑科学数据到通用工具
scrattch不是那种一上来就想着"做一个大家都用的包"的项目。它最开始服务的是Allen Institute自己的脑细胞图谱计划,这类项目的共同特点是:样本量大、细胞数量大、注释要求精细。大脑组织的复杂度在哺乳动物里是天花板级别的,兴奋性神经元、抑制性神经元、各种胶质细胞、血管内皮细胞、免疫细胞混在一起,亚型之间往往只有几个基因的表达差异。用通用流程跑完聚类,得到的只是一堆数字编号的cluster,要把这些cluster翻译成有生物学意义的细胞类型,需要一套专门设计的工具链。
scrattch这个包就是在这样的需求下长出来的。它跟常见的单细胞分析包最大的不同在于:它不只是做降维聚类,而是更关注"聚完类之后怎么办"。项目核心思路是把细胞类型鉴定这件事拆成几个环节:数据整理、差异表达、层级关系构建、分类器训练、结果可视化。每个环节都有对应的工具支撑,并且彼此之间衔接顺畅。这也是为什么很多实验室在构建自己的细胞图谱时会直接拿scrattch作为底子。
1.2 scrattch能做什么、不能做什么
先说能做什么。它擅长在大规模数据上做细胞类型的系统化注释。比如你有一批来自多个个体的皮层样本,跑完Seurat聚类之后得到40个cluster,scrattch可以帮你做几件非常实际的事情:计算cluster之间的表达相似度,构建一棵细胞类型的层级树;找出每个cluster的特异性标记基因;训练一个分类器,让你后续的新数据可以直接映射到这个注释体系里。这套流程一旦跑通,后续所有新增数据都不需要重新手动注释,节省的时间是肉眼可见的。
再说不能做什么。scrattch不是零基础入门工具,它不会替你做质量控制,也不包含完整的标准化流程,更不是一键出图的傻瓜软件。它默认你已经有基本的R语言功底,并且对单细胞分析的基本概念——如UMAP、聚类分辨率、批次效应——有一定理解。如果你是第一次接触单细胞数据,建议先用Seurat官方教程跑通一遍基础流程,再来看scrattch。否则大概率会在环境配置阶段就卡
