大规模基因表达数据正被用于单细胞表示模型的预训练。然而,这样的模型需要大量的数据管理和训练。在这里,作者探索了一种更简单的替代方案:使用 GPT-3.5 从单个基因的文本描述中生成基因嵌入,然后通过基因表达量加权gene embedding进行生成cell embedding。作者还为每个cell创建了一个句子嵌入(只使用按其表达水平排序的基因名称)。在用于评估预训练的单细胞嵌入模型的许多下游任务中——特别是基因属性和细胞类型分类任务——所提出的 GenePT 取得了与从数百万个细胞的基因表达谱中预训练的模型相当或更好的性能。GenePT 表明,商用大模型嵌入为编码单细胞生物知识提供了一种简单有效的途径。
来自:Simple and effective embedding model for single-cell biology built from ChatGPT, Nature Biomedical Engineering, 2024
目录
- 背景概述
- GenePT方法
- 数据收集和转换
- 下游应用
- 基因level
- 细胞level
- 结果
- GenePT 嵌入捕获底层基因功能
- GenePT 嵌入能够准确预测染色质动力学和剂量敏感性
- GenePT 学习反映细胞生物学的表征
背景概述
最近,单细胞生物学领域对开发“基础模型”的兴趣激增,基础模型旨在学习基因和细胞的嵌入,以促进各种下游分析。最近提出了几种方法来应对这一挑战,例如 scBERT、Geneformer 和 scGPT。从概念层面来看,它们采用了类似的方法,包括以下步骤:
- 步骤1:采用深度学习架构(通常来自 transformer 系列)。
- 步骤2:收集大规模单细胞基因表达数据集,以自监督方式对模型进行预训练(即重建一些被mask的表达值)。经过训练的编码器将输入基因和细胞映射为embeddings。
- 步骤3:对于下游任务,可以选择使用少量特定于任务的数据来微调模型,从而提高其预测能力。
值得注意的是,上述方法仅从基因表达数据集中获取嵌入,而不使用任何文献和关于基因的预先存在的知识。虽然这种策略在单细胞转录组学数据和任务的应用中取得了一些成功,但它有几个局限性。首先,收集、处理和训练大规模单细胞转录组数据需要大量精力。此外,提取的embeddings严重依赖于步骤 2 中使用的基因表达数据,这没有利用总结基因功能的大量研究和文献。因此,在本研究中,作者提出了 GenePT:一种新方法,利用 OpenAI 的 ChatGPT 来表示基因和细胞,并研究了使用自然语言编码基因和细胞的可行性(参见图 1a-c 中的概述)。
直觉如下:LLM(例如 GPT-3.5 和 GPT-4)已经在包括生物医学文献在内的大量文本语料库上进行了训练,并且在理解、推理甚至生成生物医学文本方面表现出了卓越的能力。
因此,作者对几个生物驱动的任务评估了生成的嵌入,研究结果表明,GenePT 在一系列不同的下游任务中表现出与 Geneformer 等专门设计的模型相当甚至超越的性能。GenePT 为 scRNA-seq 数据的现有嵌入模型提供了几个优势:(i) 它在多个生物任务上表现更好;(ii) 它不需要大量的数据集管理和处理,也不需要对基因组数据进行额外的预训练; (iii)使用和生成基因和细胞嵌入非常简单。
目前的愿望是为单细胞转录组学构建一个类似的“基础模型”,希望最终的模型能够在一系列生物学任务中展现广泛的能力,而不仅仅是一项特定的任务。
这些模型的有前景的应用包括细胞类型注释(根据其生物学身份标记细胞);基因功能和调控网络推断(检查单个基因和聚类基因组的功能);样本整合(目标是解释转录本丰度主要受技术噪声而非基础生物学影响的情况);以及药物反应预测。例如,Geneformer 采用 Transformer 架构,通过对从 GEO 收集的 3000 万个细胞进行mask token预测,对基因表达水平等级进行预训练。同样,scGPT 使用生成预训练对来自 CELLxGENE 的 3300 万个细胞进行训练。scGPT 的有效性在其下游应用中显而易见,例如扰动预测、批次整合和细胞类型注释。其他创新努力包括 scBERT,BERT 模型被用于表示scRNA-seq数据,并在细胞类型注释和新细胞类型发现方面展示了最先进的性能,以及 scFoundation,将训练扩展到 5000 万个细胞并利用非对称编码器-解码器架构来适应数据的高度稀疏性。
最近,研究人员开始探索将 LLM 用于以生物医学为重点的任务,LLM具备了从整个输入生物医学文本中编码信息的能力。这种方法允许更细致入微和动态的表示。例如,Hou 和 Ji 使用 ChatGPT 进行细胞类型注释;Wysocki 等人研究了 BioBERT 和 BioMegatron 嵌入编码的生物医学含义。作者提出的 GenePT 直接受到生物医学自然语言处理社区大量先前工作以及 ChatGPT 系列模型在生物医学任务中证明的有效性的启发。与之前直接查询 LLM 执行生物任务的工作相比,所提出的方法利用了每个基因的输入描述(可从NCBI 等高质量数据库获取)和 LLM 。在这篇论文准备期间,Levine 等人已独立着手研究与此概念相关的方法,其中每个细胞被转换成基因名称序列,按表达水平排序并在前 100 个基因处截断。然而,他们论文的重点更多是根据细胞类型生成新细胞。
贡献:证明了一种简单的方法,即使用基因功能描述的自然语言嵌入(例如可从 NCBI 基因数据库等来源轻松获得的摘要)可以概括与基因相关的潜在生物学关系和见解,当评估与生物学相关的预测任务时。GenePT 方法的优势在于其简单性、有效性和广泛的实用性。
- 图1:a.对于每个基因,作者从 NCBI 中提取其对应的文本摘要,并使用 GPT-3.5 生成嵌入作为表示。b.在 GenePT-w 细胞嵌入框架中,作者对步骤 a 中的基因嵌入根据表达水平加权,并将这些细胞嵌入标准化为单位 ℓ2 范数。c.在 GenePT-s 细胞嵌入框架中,来自输入单细胞数据的每个细胞根据排序的基因表达翻译成自然语言句子,并使用整个句子的 GPT-3.5 嵌入来表示该细胞(Cell2Sentence)。
GenePT方法
数据收集和转换
为了获得与单细胞转录组学研究最相关的基因的嵌入,作者首先统一了 Geneformer 和 scGPT 中提供的基因名称列表。这些基因的选择取决于它们在预训练数据集中的表达水平。在 Geneformer 中,基因以 Ensembl ID 而不是基因名称表示,作者使用 mygene 包进行转换,成功查找了 90% 以上的 Ensembl ID。此外,还整合了下游应用数据集中检测到的基因,总计约 33,000 个基因。对于每个基因,在删除超链接和日期信息后从 NCBI 基因数据库的摘要部分提取其信息。获得了每个基因摘要的 GPT-3.5(text-embedding-ada-002)嵌入(摘要字数平均值为73 个)。每个嵌入的维度为 1536,用作基因表示。此外,作者使用 HGNC 数据库将大约 60,000 个额外的基因名称别名映射到 NCBI 摘要嵌入。作者使用四种不同的基因摘要内容输入源(仅基因名称、带有基因摘要的基因名称、所有摘要信息和 ChatGPT 生成的基因摘要)进行了敏感性分析。
除了使用 GPT-3.5 嵌入基因摘要之外,作者还与其他嵌入方法进行了比较,例如使用开源生物医学语言模型(如 BioLinkBert)的基因摘要嵌入和基因表达衍生的嵌入(如 Gene2vec 和 Geneformer)。
为了在细胞层面编码信息,作者开发了两种不同的方法:GenePT-w(w 代表加权)和 GenePT-s(s 代表句子)。在这两种方法中,我们首先按照 scanpy 包中的实现对 scRNA-seq 数据进行归一化和转换,如下所示:
- 首先,对计数矩阵进行行归一化,以便每个细胞都有 10,000 个观察到的 RNA 转录本,然后对每个矩阵条目进行 log(1+x) 转换。
为了构建 GenePT-w 嵌入,首先对 GenePT 基因嵌入取加权平均值,其中权重由每个基因的标准化表达决定,然后将嵌入标准化为具有单位 ℓ2 范数。这种方法利用了每个基因嵌入的丰富上下文,但受到加权平均值简单性的限制。作为替代方案,受到最近工作中使用按表达值排序的基因表示细胞的启发,作者使用自然语言句子表示细胞,通过创建一系列基因名称,按降序标准化表达水平排序(省略计数为零的基因)。然后,将每个细胞的句子表示传递给 GPT-3.5 以获得 GenePT-s 嵌入,GenePT-s 不直接利用基因表达信息。
下游应用
Geneformer 和 scGPT 使用多个下游基因级和细胞级任务展示了模型中编码的生物学知识。在本文中,作者尽可能在相同的下游应用程序上评估 GenePT 的性能,以将 GenePT 与其他基因和细胞嵌入模型(例如 Geneformer、Gene2vec 和 scGPT)进行比较。
基因level
- 基因功能类别预测:这是一项基于 15 种最常见的功能基因类别的多类别预测挑战。这些类别的标签是作为 Geneformer 论文的一部分精心策划的。
- 基因属性预测任务:这涉及使用 Theodoris 等人提供的开源数据的四个二元分类任务。1.区分先前确定的剂量敏感型和剂量不敏感型 TF;2.区分二价和非甲基化基因;3.区分仅 Lys4 甲基化和非甲基化基因;4.区分长距离和短距离 TF。
- GGI 预测:作者利用了基于 Du 等人发表的共享基因本体注释的 GGI 基准。训练和测试数据集样本为元组(基因 1、基因 2、标签), 200,000 多对示例,其中二元标签表示一对基因是否已知相互作用。
- PPI 预测:作者评估了使用 GenePT 嵌入预测 PPI 的能力,数据集包括以下三个:(i) Luck 等人通过多种 PPI 检测筛选收集的人类二元蛋白质相互作用 (HuRI) 数据集;(ii) 至少有两条可追溯证据支持的综合二元 PPI (Lit-BM);(iii) Greene 等人得出的组织特异性蛋白质-蛋白质功能相互作用网络。这些 PPI 数据集包含 (蛋白质 1、蛋白质 2、二元标签) 形式的元组。二元标签表示两种蛋白质之间是否存在观察到的相互作用。作者首先使用 UniProt 转换工具将蛋白质的蛋白质组标识符转换为基因名称。如果返回多个基因,则会随机选择一个。由于 HuRI 和 Lit-BM 数据集中仅报告了正相互作用,因此通过随机抽样 Luck 等人检查的未报告为相互作用对的蛋白质对来构建等量的负样本数据。
- 基因程序的无监督探索:为了检查基因之间的相互作用,作者使用来自人类免疫组织数据集的 GenePT 嵌入构建了 GGI 的相似性网络。随后的验证过程遵循scGPT的验证过程,包括以下步骤:(1)基于HVG基因之间的余弦相似性构建基因网络;(2)应用无监督 Louvain 聚类来导出基因程序(gene set);(3)定性比较突出显示的基因程序的趋势与其细胞特异性表达水平。
细胞level
- 评估embedding与细胞状态之间的关联:在这里,作者考虑了以下测试数据集,这些数据集代表来自循环系统的细胞(主动脉,最初在 Li 等人发表的随机 20% 数据子集,包含 11 种细胞类型,动脉包含 10 种细胞类型)、骨组织(骨骼包含 7 种细胞类型;髓系包含 3 种注释的癌症类型和 13,468 个细胞中的 11 种细胞类型)、胰腺 (包含 4,218 个细胞中的 11 种注释细胞类型)和从健康个体和多发性硬化症患者中收集的免疫细胞,总共 18 种注释细胞类型和 12 个donor,涵盖 3,430 个细胞。对于每个数据集及其相关的元数据注释,作者在预训练的 GenePT、Geneformer 或 scGPT 嵌入上应用 k-means 聚类,以获得与元数据注释中的类匹配的聚类。作者选择的簇数 k 与元数据注释中的类数相匹配。然后,计算 ARI 和 AMI,以评估预测簇标签与真实元数据标签之间的一致性。作者还使用原始样本的真实注释计算了 ASW,以评估簇的分离度。
- 疾病表型预测:作者旨在预测心肌细胞(NF,非衰竭心脏;HCM,患有肥厚性心肌病的心脏;DCM,患有扩张型心肌病的心脏)和狼疮(疾病或健康)数据集中的表型特征。心肌病数据集的结果在细胞层面,狼疮数据集的结果在患者层面。作者对来自 scGPT、Geneformer、GenePT-w 和微调的 GenePT-w 的预训练嵌入应用了 ℓ2 正则化逻辑回归。
- 通过微调增强 GenePT 嵌入:作者研究了预训练嵌入是否可以针对特定的下游任务进行微调以提高预测性能,这是一种之前在单细胞基础模型中取得成功的技术。为了微调 GenePT-w 嵌入,作者训练了一个具有 ReLU 激活的两层 MLP(多层感知器)。以疾病表型和细胞类型预测为例,作者证明了 GenePT-w 嵌入(从预训练的基于文本的基因嵌入中有效生成)也可以进行微调以提高下游任务的性能。
- 上下文感知和批次整合:预训练的单细胞嵌入模型已被证明对常见的批次相关技术伪影具有鲁棒性,同时仍编码底层生物学背景。作者评估了 GenePT-s 嵌入是否受到 Theodoris 等人使用的两个数据集(即 Chaffin 等人最初发布的心肌细胞数据集和上述主动脉数据集)上常见批次效应(例如患者异质性)的影响。
结果
GenePT 嵌入捕获底层基因功能
在图 2a 中,作者使用 text-embedding-ada-002 模型展示了超过 34,000 个基因的 GenePT 嵌入的 2D UMAP。这些基因属于前 15 个最常见的功能类别。UMAP 在按各种基因功能组着色时显示出不同的聚类,这意味着 GenePT 嵌入编码了基因的功能。为了定量地评估图 2a 中的观察结果,作者进一步将基因分为 70%与30% 的训练-测试分割,并使用 15 个类别的 ℓ2 正则化逻辑回归评估预测准确性。预测的功能类别与真实注释高度一致,总体准确率为 96%,并且在密切相关的功能组(如 lincRNA、lncRNA,Processed transcripts)之间仅有轻微的错误分类(图 2b)。
在图 2c 中,作者进一步评估了 GenePT 在预测基因-基因相互作用 (GGI) 方面的有效性。作者比较了 Du 等人提供的测试 GGI 数据集上三种方法的 ROC-AUC。如图 2c 所示,与使用相同下游分类器的其他嵌入模型相比,GenePT 嵌入显著提高了性能。即使与更复杂的下游分类器(例如,Du 等人报告的测试集 AUC 为 0.88 的深度神经网络)相比,GenePT 在该任务中仍然具有竞争力。
接下来,作者评估了使用 GenePT 基因embedding预测蛋白质-蛋白质相互作用 (PPI) 的能力,如图 2d-f 所示。作者比较了三种方法在三个不同的 PPI 数据集中的 ROC-AUC。对于所有三个数据集,使用两个基因的 GenePT 嵌入的总和作为输入,结合 ℓ2 正则化逻辑回归,可获得比所有其他模型更好的性能。这些结果表明,GenePT 嵌入捕获了与基因和蛋白质相互作用相关的信息;一个有希望的未来方向是将 GenePT 嵌入与从 3D 结构或蛋白质语言模型中学习到的蛋白质嵌入相结合。
最后,作者通过“零样本”方法深入研究了人类免疫组织数据集中 GenePT 发现的基因程序的细胞类型特异性激活。作者首先构建了一个基于 GenePT 嵌入之间余弦相似度的相似度图,如果余弦相似度大于 0.9,则在两个基因之间放置一条边,然后将Leiden聚类应用于分辨率为 20 的graph。图 2g 显示了随机抽样的 20 个基因程序,其中包含 10 个或更多基因。在这里,作者展示了这些基因程序的平均表达水平,按细胞类型分层。观察到的这些程序的选择性激活与已建立的生物学知识相一致(例如,基因组 8 包含组织蛋白酶家族,基因组 24 包含整合素 (ITG) 家族)。这些发现强调,GenePT 推断的基因程序有效地捕获了生物学相关的功能组。
GenePT 嵌入能够准确预测染色质动力学和剂量敏感性
在本节中,作者使用 Theodoris 等人从文献中整理的数据集,深入研究基因在网络动力学中的特定生物学任务:剂量敏感与剂量不敏感的转录因子 (TF)、二价与非甲基化基因、仅 Lys4 甲基化与非甲基化基因以及长距离与短距离 TF。这些任务曾经被用于证明 Geneformer 的实用性。作者使用 scikit-learn 中的默认参数,通过五倍交叉验证的 ROC-AUC 与 ℓ2 惩罚逻辑回归 (LR) 或随机森林 (RF) 分类器评估 GenePT 和 Gene2vec 嵌入的性能。相比之下,正如 Theodoris 等人所报告的,Geneformer 结果基于微调的 Transformer 模型。作者还报告了 GenePT 框架的一些变体:输入基因摘要的 BioLinkBert 嵌入;或仅包含基因名称(没有上下文或描述)的 GPT-3.5 嵌入;以及与 GenePT 维度(d = 1,536)匹配的随机嵌入。
表 1 表明 GenePT 嵌入始终能取得有竞争力的结果,有时甚至超越 Geneformer,尽管后者受益于庞大的预训练数据集和更复杂的分类头。有趣的是,GPT-3.5 仅对基因名称的嵌入在某些任务中也表现出很高的准确率。这可能归因于两个方面:(1)基因命名法试图用相似的符号来指定功能相关或同源的基因,以便进行分组,(2)由于对科学文本进行了广泛的预训练,GPT-3.5 的底层语言模型可能掌握这些基因符号的生物学意义。
开源嵌入也表现出有竞争力的性能:LLama-7B 基本上与基于 GPT-3.5 的嵌入的结果相匹配,BioLinkBert 和 Gene2vec 紧随其后。正如预期的那样,随机嵌入表现出与随机猜测类似的结果。GenePT 和随机嵌入之间的预测性能形成鲜明对比,表明 GenePT 性能不太可能仅仅归因于较大的嵌入维度(d = 1,536)。此外,由于使用了低复杂度、现成的 ℓ2 正则化逻辑回归和随机森林,并报告了基于五重交叉验证的结果,因此性能不太可能归因于模型过拟合。总之,这些结果凸显了 GenePT 的潜力。
GenePT 学习反映细胞生物学的表征
在本节中,我们展示了“零样本”GenePT 嵌入方法可以捕获单细胞数据集的生物学特性。我们首先评估在六个不同的单细胞 RNA 测序数据集上使用 GenePT 嵌入的监督和无监督学习结果,这些数据集代表来自健康个体和多发性硬化症患者的循环系统(主动脉和动脉)、骨组织(骨骼、骨髓)、胰腺和免疫细胞的细胞。此外,作者展示了可以使用预训练基因嵌入非常高效地生成的 GenePT-w 嵌入,可以使用有限的任务特定数据在各种细胞级任务上进一步微调以提高预测准确性。
作者量化了生物注释(即细胞类型、癌症类型和捐赠者年龄)与从 (i) 预训练的 Geneformer 嵌入、(ii) 预训练的 scGPT 嵌入、(iii) GenePT-w 嵌入(如图 1b 所示)和 (iv) GenePT-s 嵌入(如图 1c 所示)推断出的 k 均值聚类标签之间的一致性。作者使用表 2 中的 AMI 和 ARI 量化了一致性。就 AMI 和 ARI 指标而言,通过 GenePT-w 和 scGPT 的潜在表示远远优于 GenePT-s 和 Geneformer 嵌入。
此外,作者还探索了是否可以通过对心肌细胞和狼疮数据集进行微调来进一步改进 GenePT 嵌入以用于特定的下游任务。心肌细胞数据集首次发表于 Chaffin 等人的论文,其样本来自非衰竭心脏 (n = 9) 或受肥厚性 (n = 11) 或扩张性 (n = 9) 心肌病影响的心脏。狼疮数据集由 120 名狼疮患者和 22 名健康对照者组成,感兴趣的科学问题是从 scRNA-seq 数据预测个体患者水平的临床表型。
对于心肌病预测(细胞预测),作者首先在患者水平上划分数据集(14 个用于训练,5 个用于验证,5 个用于测试),并报告测试集上的表型预测准确度。对于狼疮数据集(患者预测),作者将数据分为训练集和验证集(72 名狼疮患者和 13 名健康参与者)以及测试集(48 名狼疮患者和 9 名健康参与者)。
在表 3 中报告了表型分类结果:预训练的 GenePT-w 嵌入与 scGPT 和 Geneformer 的表现相当。
除了在狼疮数据集中改进患者水平的表型预测外,作者还考虑了细胞类型注释是否有所改进。在图 3b 中,作者绘制了使用不同嵌入预测细胞类型的混淆矩阵,并按注释的细胞类型着色。我们注意到,仅对 1% 的数据进行 GenePT-w 微调就可以提高预测性能(总体准确率从 86% 提高到 91%),最显着的改进是正确区分树突状细胞与 B 细胞和 CD14+ 单核细胞,这是一项具有挑战性的任务,因为免疫系统动力学发生了改变,尤其是在树突状细胞区室、亚群频率和定位方面。
- 图3:a.心肌病数据集中测试患者的cell嵌入的 UMAP 可视化,按疾病表型着色。b.狼疮数据集中测试患者的cell嵌入的 UMAP 可视化,按注释的细胞类型着色。