蛋白质“语言”与人类语言有许多相似之处。鉴于这种相似性,研究人员已经在蛋白质序列数据上构建和训练语言模型,复制了在其他领域取得的成功,这带来了深远的影响。在这篇文章中,我们将探讨如何将变换器模型应用于蛋白质数据,并分享我们的发现。
蛋白质就像人类的语言一样工作:氨基酸序列(构成蛋白质“词汇”的20种基本单元)决定了蛋白质在环境中的结构和功能。这些氨基酸的排列顺序至关重要,因为它影响着蛋白质如何折叠以及在生物系统中的相互作用。如同人类语言由单词、短语和句子等模块化元素组成,蛋白质也有模式和域,它们是构建复杂结构的基本模块,类似于蛋白质世界的“单词”和“短语”,其生物学功能类似于人类语言中句子所传达的意义。
另一个与人类语言相平行的概念是信息完整性。尽管蛋白质远不止其氨基酸序列,它会形成执行特定功能的结构,但所有这些特性都由其序列预先决定。尽管蛋白质的行为可能会因其环境和与其他分子的相互作用(如细胞状态、其他分子及翻译后修饰)而变化,但其本质仍由基础序列定义。从信息论的角度来看,蛋白质的信息(如其结构)都包含在其序列之中。
需要注意的是,自然语言处理(NLP)与蛋白质语言建模之间的类比仅限于一定程度。我们能阅读和理解自然语言,而对蛋白质的理解则有限。大多数人类语言有统一的标点和停用词,结构清晰,而蛋白质缺乏明确的词汇。此外,蛋白质的长度差异很大,从20个氨基酸到数千个不等,且并非所有氨基酸序列都属于功能单位(如域)。
蛋白质语言模型架构
编码模型:早期的蛋白质语言模型(pLMs)大多基于只包含编码器的变换器架构,目标是为蛋白质生成向量空间中的嵌入表示,以供下游任务使用。这些模型通常采用BERT类似的架构和去噪自编码训练目标,即通过破坏输入令牌并尝试重建原始序列来预训练。例如,TCR-BERT、epiBERTope、ESM、ProtTrans或ProteinBERT就是这类模型。预训练生成嵌入后,这些模型会进一步通过监督学习优化,以应对蛋白质工程中的各种任务,如二级结构和接触预测、远程同源性检测、翻译后修饰和物理性质预测。
解码模型:与编码模型不同,解码模型采用自回归训练,即模型根据给定上下文预测后续的氨基酸序列。GPT系列模型是最知名的此类模型。例如,早期的蛋白质世界中的GPT风格解码模型是ProtGPT2,它基于5000万个序列进行训练,参数量为738。
效果如何?某种程度上有效。ProtGPT2能够生成具有类似天然蛋白质特性的序列,氨基酸类型和频率接近自然界的分布,而且序列在有序(稳定)和无序(灵活)区域之间保持平衡。结构对比显示,生成的蛋白质保留了一些结合位点,这对于功能至关重要。然而,虽然生成的序列看起来很像天然蛋白质,但它们是否真的具备功能性还有待观察。很快,更大、更优秀的模型就超越了它。
条件变换器:虽然ProtGPT2使用GPT2类似的架构进行一般蛋白质序列生成,但新的方法在训练阶段引入了更深的生物学背景,确保学到的模式既统计正确又具有生物学意义。蛋白质模型可以通过两种主要方式进行条件化:一是基于序列,二是基于蛋白质结构。基于序列的条件化,如CTRL模型,允许针对特定条件生成文本,而无需输入序列。
ProGen是CTRL的一个应用,它利用了2.81亿个蛋白质序列的UniProtKB关键词作为条件标签,涵盖了生物过程、细胞组件和分子功能等多个类别。ProGen的表现表明,我们设计出像自然蛋白质一样的蛋白质的能力有了显著提升,它成功创建出功能有效的蛋白质序列,甚至在未被训练的蛋白质家族中也能表现出色。
未来问题:ProGen能否在更大的数据集上扩展?它能有效模拟的蛋白质家族数量或条件是否有上限?
基于结构的条件化:除了序列,我们还可以在训练时考虑蛋白质的结构,使模型能够学习结构到