背景与动机
单细胞RNA测序(scRNA-seq)已广泛用于在单细胞水平表征复杂组织和生物体,这给转录组学研究带来了革命性的变化。scRNA-seq上准确的细胞类型注释对生物学和医学研究至关重要。细胞类型注释方法可分为三种类型:
- 使用标记基因的注释(annotation using marker genes);
- 使用基于相关性的方法的注释(annotation using correlation-based methods);
- 通过监督分类的注释(annotation by supervised classification);
聚类然后注释是常用的方法,使用从文献中收集的手动筛选标记基因,为来自无监督学习的聚类簇指定细胞类型。然而,选择标记基因取决于研究人员的事先知识,因此容易产生偏见和错误。此外,感兴趣的细胞类型的标记基因并不总是可用的,新的细胞类型还没有标记基因集。此外,大多数细胞类型是由一组基因决定的,而不是由单个标记基因决定的。如果没有适当的方法来整合多个标记基因的表达信息,就很难保证每个簇的细胞类型分配统一准确。通常,一些自动注释方法仅仅建立在标记基因在细胞中高表达的假设之上。然而,即使一些记录良好的标记基因也可能在相应细胞类型的所有细胞中没有高表达。因此,这些标记基因表达的缺失或波动可能会极大地影响基于标记基因注释方法的准确性。
基于相关性的方法不是依赖于单个标记基因,而是测量查询样本(query sample)和参考数据集(reference dataset)之间基因表达谱的相关性。这些方法可能会受到跨平台和实验的批次效应的影响。尽管存在批效应校正方法,将真正的生物多样性与技术差异区分开来,从而保存重要的生物差异仍然是一个挑战。同时,常用的相似性度量(即余弦相似性、Spearman相关性和Pearson相关性)在测量两组高维稀疏scRNA序列数据之间的距离时可能并不可靠或有效。
有监督或半监督分类方法注释遵循机器学习中的经典范式,即识别基因表达谱中的模式,然后将标签从标记的数据集转移到未标记的数据集中。由于这些方法对噪声和数据的可变性具有鲁棒性,近年来得到了广泛应用。然而,由于模型容量有限,这些方法中的大多数需要在将数据输入分类器之前执行高变基因(HVG)选择和降维。然而,HVG在不同批次和数据集中是可变的,这阻碍了它们的泛化能力。主成分分析(PCA)等降维技术可能会丢失高维信息以及基因级的解释能力。此外,这些方法中HVG选择和PCA的参数设置远未达成共识,不可避免地会在性能评估中引入人为偏差。鉴于HVG是根据整个数据集的表达方差选择的,其中主要细胞类型占最大方差,存在忽视稀有细胞类型关键基因的风险。选择HVG忽略了基因的共现性和生物相互作用(尤其是HVG和非HVG之间的生物相互作用),这些信息对细胞类型注释很有用。此外,简单的分类器(如全连接网络)无法有效捕获基因-基因相互作用。因此,需要一种具有改进模式识别能力的新方法来克服上述对大规模数据集拟合不足的问题。
最近,越来越多的基于深度学习的方法被应用于scRNA-seq数据分析,并取得了优异的性能。Transformer的双向编码器表示(BERT)是一种最先进的基于Transformer的语言表示学习模型。由于Transformer层引入了强大的自注意机制和远程信息集成能力,它在自然语言处理(NLP)领域取得了突破性进展。BERT的预处理和微调范式使得其可以使用大规模未标记数据来提高AI模型的泛化性。受这些令人兴奋的进展的启发,开发了单细胞BERT(scBERT)模型,用于scRNA-seq数据的细胞注释。根据预训练和微调范式,验证了对大规模未标记scRNA序列数据应用自监督学习的能力,以提高模型的泛化能力并克服批处理效应。广泛的基准测试表明,scBERT可以提供具有基因级解释能力的稳健和准确的细胞类型注释。scBERT开创了Transformer架构在scRNA序列数据分析中的应用,创新地设计了基因embedding。
结果
scBERT
最初的 BERT 提出了一种革命性的技术,通过预训练生成语言的通用知识,然后使用微调将知识转移到不同配置的下游任务。遵循BERT的思路和范式,作者开发了一种新的统一架构scBERT(图1),它通过对数百万未标记的scRNA序列数据进行预训练,从不同来源的各种细胞类型中学习通用的scRNA序列知识,并通过简单插入分类器和微调参考数据集监督的参数来分配细胞类型。预训练使模型能够学习基因-基因相互作用的一般语法,这有助于消除数据集之间的批处理效应,提高泛化性。微调确保每个基因的输出embedding编码与参考数据集的转录谱融入更相关的上下文信息。为了注释查询细胞,scBERT通过挖掘high-level隐式模式作为参考数据集中标记的任何细胞类型的概率。请注意,如果没有要高置信度分配的细胞类型,查询细胞将标记为未分配,以防止错误分配,并允许新的细胞类型发现。与原始BERT模型相比,scBERT具有一些创新设计,可以在细胞类型注释任务中发挥作用。
首先,BERT的embedding包括token和position embedding。scBERT embedding设计在某些方面与BERT类似,同时具有利用基因知识的独特功能。原始BERT的token嵌入是一个离散变量(代表一个单词),而scBERT模型的原始表达式输入是一个具有生物和技术噪声的连续变量(代表单个细胞中的基因表达)。利用NLP中的bag-of-words技术(分箱,binning)来限制基因的表达(可以被视为每个细胞中的基因转录频率),从而将其转换为离散值,并在一定程度上减少数据噪声。由于重新排列输入的列不会改变其含义(就像扩展BERT来理解TaBERT的表格数据),因此绝对位置对基因来说没有意义。相反,基因嵌入是从gene2vec获得的(每个基因都有一个唯一的gene2vec嵌入),这可以看作是相对嵌入,以从共表达的角度捕获语义相似性。共表达基因具有更紧密的表达,基因的分布式表达已被证明有助于捕获基因-基因相互作用,scBERT有效地将Transformer的基因表达信息形式化,并在预处理后生成表示细胞特异表达的单个细胞特异嵌入(scBERT embedding)。
第二,现有的单细胞方法由于其有效建模高维数据的能力有限,必须通过选择或操作基因(即HVG选择、手动选择标记基因和PCA)来预处理原始数据;它们不可避免地会带来人为偏差和过拟合问题,这反过来可能会严重损害它们的泛化性。相反,具有较大感受野的Transformer可以有效利用scRNA序列数据中的全局信息,捕获远程基因-基因相互作用,学习每个细胞的全面全局表示。由于计算的复杂性,Transformer的输入序列长度限制为512,而大多数scRNA序列数据包含超过10000个基因。因此,我们将BERT中使用的Transformer编码器替换为Performer,以提高模型的可扩展性,以容纳16000多个基因输入。对于Performer,scBERT保留了完整的基因级解释,放弃了使用HVG和降维,让有区别的基因和有用的相互作用自己浮现出来。因此,scBERT允许以无偏的数据驱动方式发现基因表达模式和细胞类型注释的更长范围依赖性。scBERT稳定可靠,而不用依赖超参数选择。
- 图1a:未标记数据的自监督学习和任务特定的微调。在自监督预训练阶段,从PanglaoDB收集未标记的数据。mask的基因表达嵌入被添加为输入,然后输入到Performer块中。Reconstructor用于生成输出。将mask基因的输出用于计算重建损失。在监督微调阶段,将特定任务的scRNA序列数据输入预处理编码器。然后,输出表示通过一维卷积层和分类器生成细胞类型预测。 ⊕ ⊕ ⊕ 表示元素相加。Performer编码器是预训练和微调阶段中使用的模型之间共享的组件。在预训练和微调过程中,Reconstructor和Classifier分别独立用于模型。
- 图1b:scBERT embedding说明。首先将预处理后的scRNA序列数据转换为离散表达,然后对非零表达式进行随机mask。以第一个基因为例,将gene embedding “基因嵌入” E G 1 E_{G1} EG1(来自gene2vec的基因标识落入第一个bin)和expression embedding “表达嵌入” E B 2 E_{B2} EB2(基因表达落入第二个bin并被转化为与 E G 1 E_{G1} EG1相同的维度)相加并输入scBERT以生成基因的表示。然后将这些表示用于预训练或微调。
gene embedding
在NLP中,BERT模型的输入是单词embedding,即在预定义向量空间中表示单个单词的一组实值向量。单词嵌入技术通过确保具有相似含义的单词具有相似的表示,有助于更好地表示文本。然而,从scRNA-seq的角度来看,输入由单个基因组成,需要预定义的向量空间来表示它们之间的相似性。因此,我们使用gene2vec对基因embedding进行特异编码。这样,借助于以往知识提供的基因间关系,降低了模型训练的难度。
expression embedding
尽管已经有基因嵌入,但如何利用每个基因的转录水平也是一个挑战,这实际上是一个单一的连续变量。值得注意的是,一个单词在文本中出现的频率对于文本分析来说是有价值的信息,并且通常被转换为NLP领域下游任务的bag-of-word频率统计分析。基因表达也可以被视为生物系统中已被充分记录的每个基因的出现频率。从这个角度出发,我们应用了传统的频率分析方法,该方法通过binning离散化连续变量,并将其转换为200维向量,然后将其用作scBERT模型的token嵌入。
基因embedding是对gene的编码(相当于对单个单词编码);
expression embedding是对表达量的编码(频率的分箱):当前基因表达量为 x x x,该基因会被分到某个离散状态包含 x 1 < x < x 2 x_{1}<x<x_{2} x1<x<x2的箱子。
结果表现
结果包括:intra-dataset的细胞类型注释评估,跨组织器官的细胞类型注释,发现新的细胞类型,scBERT的可解释性。
- 图2a:使用fivefold交叉验证,通过accuracy和n=9数据集的F1分数测量细胞类型注释方法的性能。Box plot显示了中间值(中心线)、四分位范围和1.5倍的四分位距离。
- 图2b:整个Zheng68K数据集的t-SNE图(n=68450个细胞)。左侧面板是由专家标注的原始研究中的细胞类型着色;右侧面板是由scBERT预测结果着色。
- 图2c:scBERT、Seurat和CellID_cell的Zheng68K数据集交叉验证结果混淆矩阵的热图。
- 图2d:分割不同比例的Zheng68K数据集作为微调参考集对细胞类型注释性能的影响。
- 图2e:Zheng68K数据集重建的不平衡数据集交叉验证scBERT混淆矩阵的热图。
- 图3a:由不同测序平台(inDrop、CEL-Seq2、SMARTSeq2和SMARTer)生成的四个独立数据集(Baron、Muraro、Segerstolpe和Xin)中10220个细胞的t-SNE表示。细胞根据数据集的来源进行着色。
- 图3b:t-SNE表示来自四个胰腺数据集的α、β、δ和γ细胞,这些数据集由原始论文图谱提供的注释细胞类型着色。
- 图3c:不同方法间数据集交叉验证的准确度和F1分数的比较。
- 图3d:Zoomed-in绘图的准确性和F1得分的top方法。
- 图3e:用scBERT预测着色的t-SNE表示四个胰腺数据集的α、β、δ和γ细胞(左)、Muraro数据集的β细胞(中)和Segerstolpe数据集的阿尔法细胞(右)。
- 图3f:由scNym预测着色的四个胰腺数据集(左)、Muraro数据集(中)和Segerstolpe数据集(右)的α、β、δ和γ细胞的t-SNE表示。
- 图4a:通过在scBERT训练过程中去除α-β T细胞、γ-δ T细胞、成熟B细胞和浆细胞群plasma,在MacParland数据集上从人类肝组织中获取scBERT的性能。新细胞类型和已知细胞类型的准确度和F1分数显示在方框图中。
- 图4b:左:scBERT提供的MacParland细胞类型的置信度得分;对于所有已知的细胞类型,模型预测概率低(概率<0.5)的细胞被指定为潜在的新细胞类型。
右:Sankey图比较了scBERT对已知和新细胞类型的预测与MacParland数据集的原始细胞类型注释,其中plasma被标记为新细胞类型,因为scBERT训练过程看不到它们。
- 图5a:scBERT在胰腺细胞类型注释任务中提供的注意力权重热图。对于每种细胞类型,列出了注意力权重最高的前10个基因。
- 图5b:scBERT中最受关注基因的富集分析结果。
- 图5c:点图显示了十个最受关注的基因中的z分数以及细胞类型。每个点的大小和颜色反映了z分数。
- 图5d:基于scBERT embedding(左)和每个细胞的原始表达(右),Muraro数据集中α、β、δ和γ细胞的UMAP表示按细胞类型着色。计算调整后的兰德指数(ARI)得分,并在图中显示。