目前用于单细胞类型鉴定的工具有很多,我们认为比较适合大众直接上手使用的软件就是singleR了。那么,singleR到底是如何实现细胞注释的呢?今天,我们就一起来详细了解一下singleR。
Single R软件最早的文献报道是来自一篇肺部巨噬细胞研究的单细胞论文[1]。这篇文章作者多份实测数据证明了SingleR软件可以较好基于单细胞转录组数据对各个细胞进行鉴定。SingleR基础的工作原理很简单(图1):
(1)输入没有注释的单细胞转录组数据;
(2)基于参考库中的marker基因对输入的细胞进行鉴定。软件默认自带了一些参考库,都是作者基于已经发表的单一种类的纯细胞转录组数据构建的。在文章的后面部分,我们会对这些数据的来源和类型进行介绍。
(3)输出鉴定结果。
图1 singleR工作原理示意图
这个介绍好像还是过于简单。有点类似你问我:如果把大象放进冰箱里。我回答:打开冰箱门,然后把大象放进冰箱,然后关上冰箱门。虽然回答了问题,但还是无法解决问题。下面,我们就更精细地了解下singleR软件对细胞进行鉴定的分析逻辑(下图)。
图2 singleR运算过程的详细逻辑
假设,现在我们有一个待鉴定的细胞X,利用SingleR与参考数据库(假设里面有A、B、C、D等多类细胞)进行比较完成细胞鉴定,其运算过程如下:
Step1:Marker基因集合建立
SingleR自带参考库中只是提供了各类细胞的转录组表达量信息,marker基因是基于每次分析过程选择作为参考的细胞重新计算。比如,如果你这次选择了参考库中10种细胞作为参考,下次选择参考库中15种细胞作为参考,那么得到的marker基因集是不同的。
SingleR中的marker基因挑选默认基于差异倍数。如果要计算A类细胞相关的marker基因,其判定原则是:
1)计算各个基因在A类细胞和其他细胞中表达量的中位数(因为参考库中,每种细胞都有大量重复,所以可以计算中位数),并以中位数计算表达差异倍数;
2)选取差异倍数最高的N个基因作为A类细胞的marke基因。这个指标N可以根据项目的情况优化调整。因为这个过程仅仅计算差异倍数,而不计算P值,也提高了软件的运算速度。当然,也可以选择用其他方法,例如秩和检验,但会降低运算的速度。
Step2:计算待鉴定的细胞与参考库中已知细胞表达量的斯皮尔曼相关性
相关性分析是一种我们熟悉的两组数据相似性判断的方法。某个待鉴定的细胞X与参考库中某个细胞的表达量相关性越高,说明待鉴定的细胞与参考库中的某个细胞相似,从而可以作为细胞鉴定的依据。这里有两点细节要补充下:
1)与参考库中各个类型的细胞进行相关性分析的时候,都只使用对应类型细胞的marker基因开展相关性分析,这样可以减少非marker基因的随机噪音,提高结果的特异性。
2)由于参考库中每类细胞都有多个生物学重复。因此,待鉴定的细胞与每类细胞都对应有多组相关系数的结果。如果待鉴定的细胞X与参考库中的A类细胞相关系数有高有低,软件该如何判断呢?这就涉及相关系数结果选择的问题。
如果待鉴定的细胞X与参考库中A类细胞的多个生物学重复计算得到多个相关系,那么就选择这组相关系数的80%分位数作为A类细胞与细胞X的相关系数。即最终细胞X与参考库中的每一类细胞只有1个相关系数,这就避免了参考库中数据异质性导致的误差。
Step3:获得第一轮的细胞鉴定结果并开始下一轮的判断
我们在人工进行单细胞鉴定的时候,常常会遇到某个亚群与2~3类细胞相似度差不多而难以做判断的情况。在相关系数计算中也会遇到相似的问题。
在第一轮完成相关系数计算后,有可能细胞X会与A类、C类、D类等相关系数都很较高且都差不多,比如都在0.29~0.3之间差异很少。如果鲁莽地在这个阶段选择相关系数最高的那类细胞作为鉴定结果,很可能会导致错误的判断。因此,singleR使用“淘汰原则”来逐步缩小范围,而非要求一步到位。在完成第一步相关系数计算后,先淘汰相关系数最小或者与相关系数最高值小0.05以上的细胞类型。
比如,原来我们参考库中有10类细胞,与细胞X相关系数最高的是0.3。那么相关系数小于0.25的细胞将被淘汰。假设淘汰后还剩下3种细胞。那么软件就再次基于这3种细胞构建参考库,回到以上的step1进行新一轮的marker基因筛选以及相关系数判断。直到最后一轮比拼只在两种细胞中开展,singleR软件才会选择参考库种相关系数更高的那个细胞类型作为细胞X的鉴定结果。
这个思路的优势在于在每次循环判定过程中,每类细胞的marker基因都是重新计算的,这有利于逐步提高对参考库中高度相似的细胞类型的区分能力,最终得出一个稳定可靠的鉴定结果。
以上介绍的1个未知细胞完成鉴定的过程。当然,这个过程对软件来说就是一瞬间完成的过程。如果我们导入的是10X单细胞转录组获得的5万个细胞,那么软件就将对5万个细胞分别独立完成以上的鉴定过程,最终会赋予每个细胞一种判定的细胞类型。
综合使用singleR完成细胞注释
自动化注释软件应该作为细胞注释的辅助工具而不是决定工具。所以,当我们得到singleR的细胞注释结果之后,我们还需要结合singleR的注释结果和Seurat的分群结果来综合完成细胞注释。
Seurat是一种不依赖任何先验信息的细胞分群方法。理论上,来自Seurat分群结果中同一亚群的细胞应该属于同一类型的细胞;例如图3-a,Seurat分群得到9个亚群(对应9种颜色)。如果将这些细胞再用SingleR进行注释,由于singleR是每个细胞进行独立鉴定,最终每个细胞也会得到一份鉴定结果;如图3-b,这批细胞基于singleR鉴定出了12种细胞。那么两套结果如何解读呢?可以参考3点原则:
图3 Seurat完成分群的单细胞可以进一步用SingleR对各个细胞进行注释
(1)以Seurat分群为主,SingleR注释为辅。Seurat毕竟是直接利用测序数据在没有任何假设的情况下分群的结果,理论上可以避免任何认为主观判定导致的偏差。而SingleR得注释,还是依赖于我们选择哪些细胞作为参考库,较多受到人为主观选择得干扰。所以,Seurat的结果有更高的可信度。
(2)少数服从多数。单细胞测序数据虽然总体比较准确,但数据量少,以及背景噪音的存在。所以少量细胞难以避免存在marker基因表达的波动,导致singleR鉴定(使用较少的marker基因)结果中的假阳性。所以,在某一亚群singleR鉴定结果中,各个类型细胞比例差异很大的情况下,遵从少数服从多数的原则。
(3)如果疑义或分歧,则继续细分。singleR毕竟还是比较可靠的方法,如果singleR得出的结果与Seurat出入很大,那么还是值得我们复查Seurat的结果去寻找潜在原因。
以上3个原则,我们以图3-a红圈中的深蓝色细胞的鉴定过程为例,进行解释。红圈中的细胞既然Seurat初步聚类结果在一个亚群里,那么我们先假设它们就属于一大类细胞。而红圈中细胞在singleR注释结果中(图3-b)对应Naïve B cell(大约占80%)l和Memory B cell(大约占19%)以及少量CD8 TCM cell(大约占1%)。
那么按照以上的原则1和原则2,我们相信Seurat聚类结果,红圈中应该属于一大类细胞且少数服从多数,所以红圈中的细胞类型统一被归类为B cell。少量CD8 TCM cell更可能是singleR软件注释过程中,少量细胞表达量的随机噪音导致的鉴定错误。
而singleR鉴定结果又暗示红圈中的细胞还可以进一步细分为不同子亚型的B细胞,那么我们就可以考虑对红圈中的细胞用Seurat进一步进行细分,应该还可以进一步分为至少2个子亚群,这里就用到了原则3。
甚至某些情况下,Seurat某个亚群中的细胞被singleR鉴定到两种差异较大的细胞且比例差不多(例如,某个Seurat亚群中的细胞70%被鉴定为B细胞,30%被鉴定为T细胞)。那么,就暗示我们有可能将两类不同的细胞聚类到一个亚群里了,那么本次分析的Seurat分群的参数还值得优化,需要进行重新分群。在参数优化后,我们期望可以得到一份与singleR注释结果更一致的Seurat分群结果。这里使用的也是原则3。
单细胞转录组经过多年发展已经渗透到了生物学、医学的各个研究领域,细胞注释作为最基础且重要的一步,人工注释的精力投入和结果收益比例实际是很高的,这也是近两年蜂拥出大量自动化注释软件的重要原因。伴随着既有研究数量的增加,自动化注释也会在今后的研究中发挥越来越大的作用。
参考文献:
[1] Dvir Aran, Agnieszka P Looney, Leqian Liu, and et al. Reference-based analysis of lung single-cell sequencing reveals a transitional profibrotic macrophage. Nat Immunol, 2019. 20(2):163-172.