今天给大家介绍的是一项由硅谷Salesforce Research的Ali Madani等人和斯坦福的Possu Huang教授课题组合作的工作,他们在这篇论文中提出的一种蛋白生成语言模型ProGen。作者将蛋白质工程视为无监督序列生成问题,利用大约2.8亿个的蛋白质序列对12亿个参数进行训练,且要求这些蛋白质序列是基于分类和关键字标签的,如分子功能和细胞成分,这为ProGen模型提供了前所未有的进化序列多样性,并允许它进行基于一级序列相似性、二级结构准确率和构像能量的细粒度控制生成。根据NLP指标,ProGen模型表现出良好的性能,且随着氨基酸上下文和条件标签的增多,模型效果会进一步提升。ProGen也适用于未见的蛋白家族,若进行微调,模型效果更好。

1

介绍

产生具备所需属性的蛋白质是生物学领域最复杂但最具影响力的工作之一,在过去50年间,蛋白质工程研究不断发展,并取得了一系列举世瞩目的成就。但是,领先的蛋白质工程实验技术仍然依赖于启发式和随机突变来选择进化的最初序列。

在氨基酸编码蛋白质的过程中,氨基酸链折叠成局部(二级)和全局(三级)结构,这些结构将直接影响蛋白质功能。然而,直接获取蛋白质三维结构信息成本很高且非常耗时,因此,一级序列信息比带有结构注释的序列多得多,并且蛋白质序列呈指数增长。

最近的研究开始利用更大规模的原始蛋白质序列数据集,采用最先进的表示学习技术,将自然语言处理(NLP)方法应用到蛋白质属性分类。然而,还并未有人尝试采用最先进的人工文本生成方法,特别是对蛋白质工程最有用的可控的生成方法。

为此,作者介绍了一种可控的蛋白质生成模型ProGen。ProGen模型是一个含有12亿个参数的语言模型,该模型在包含2.8亿个蛋白质序列的数据集和编码不同注释的条件标签上训练而成,这些标签包含分类、功能和位置信息。通过调节这些标签,ProGen提供了一种可根据所需属性生成特定蛋白质的方法,如下图所示。

通过序列相似性、二级结构准确度和构象能量等指标评估时,ProGen模型生成的蛋白质满足所需的结构和扩展功能。更高水平的指标评价的模型质量更好,这表明ProGen模型已经在序列水平上学会识别了保持结构和功能的关键位点和序列。在最高水平上,构象能量分析表明生成的蛋白质的能量接近于天然蛋白质,这证明这些蛋白质满足所期望的结构和推测的功能。

2

模型

作者将可控的属性称为条件标签,通过这些条件标签可以控制氨基酸序列的生成。利用概率链式法则可以得到组合序列的概率分布p(x):

其中,序列是在氨基酸序列前加上条件标签序列而形成的序列。如此一来,条件蛋白生成问题则转化成了下一个元素预测问题,这个元素既可以是氨基酸,又可以是标签。然后,可以训练带有参数的神经网络来最小化数据集上的负对数似然值:

依据这一公式,给定所需属性的蛋白质的标签序列,可以得到此蛋白的氨基酸序列。同时需要注意,,即相应标签条件下的蛋白质序列分布仅是学习的模型可以恢复的许多条件分布的一个。

作者训练了一个Transformer的变体来学习氨基酸和条件标签的条件分布。在向量空间中,包含n个元素(token)的序列嵌入在n个对应的向量中,每个向量都是学习的元素嵌入和正弦位置嵌入的总和,这些向量序列被堆叠成矩阵,以便它可被attention层处理。

第i层由两个块顺序组成,每个块保留模型维度d,第一块的核心是k多头attention:

第二块的核心是具有ReLU激活的前馈网络,其中

在每个块的核心功能之前先进行层规范化(LayerNormalization),并进行残差连接,最后产生

从最后一层的输出计算得分:

在训练过程中,此得分是交互熵损失函数的输入。在生成过程中,得分用softmax标准化,生成一个新元素的采样分布。

3

实验

3.1数据

作者使用了Uniparc、UniprotKB、SWISS-PROT、TrEMBL和Pfam上所有可用的蛋白序列和相关标签以及NCBI的注释信息,所有的数据超过了2.81亿个蛋白质,其中2.8亿条数据作为训练集,10万条数据作为蛋白质家族测试集(OOD-test),100万条数据作为随机采用测试集(ID-test)。条件标签分为关键词标签和注释标签两个类别。

3.2训练

训练过程使用了每个序列及其反向序列,并且在每个序列前添加标签子集。此外,作者使用了只有氨基酸序列而没有条件标签的样本,使得ProGen可在未知蛋白属性的情况下,仅利用标签序列数据也能生成蛋白质。然后,作者将所有序列截断,最大长度为512,填充长度小于512的序列。

3.3生成

首先,ProGen使用上下文序列作为输入,并输出氨基酸的概率分布。接着从分布中取样,并且使用取样的氨基酸更新上下文序列。重复进行这一过程,直至所需长度的蛋白质生成。

3.4评估

为了评估模型的训练和测试能力,复杂度(perplexity)作为语言模型的衡量指标,硬准确率(hard accuracy)评估每个氨基酸误差,软正确性(softaccuracy)是标准氨基酸替换矩阵。

为了评估生成质量,作者从以下三个层次进行分析:(1)一级序列相似性。一级序列相似性是利用Biopython包计算出的全局成对序列对其得分,其结果根据蛋白质长度进行标准化。(2)二级结构。二级结构准确率是由PSIPRED计算的预测二级结构残基,其置信度大于0.5。(3)构象能量分析。构象能量使用Rosetta-RelaxBB协议。

此外,作者给定了不同随机突变水平的基线。对于一个给定序列,这个序列中25%-100%氨基酸会被20个标准氨基酸或自身替代。对于构象能量,作者提供了一个全丙氨酸基线。这些基线给上述指标提供了一个衡量标准。

4

结果

4.1ProGen语言模型评估

实验结果显示ProGen对于标准基线(UniformBaseline)和经验基线(Empirical Baseline)均有显著提高。下表第2部分分别列出了ID-test和OOD-test两个测试集的结果。ID-test的结果表明ProGen可以很好地随机生成蛋白家族序列,而OOD-test测试集的结果较差,但仍然优于经验基线。进一步将OOD-test集划分为OOD-test-80和OOD-test-20,在OOD-test-80收敛前微调ProGen,并在OOD-test-20上重新测试,下表第3部分展现了相对于随机初始化权重的训练架构而言,微调的ProGen有了改善。

随着氨基酸和上下文条件标签的增加,ProGen性能也会随之提高,如下图所示。无论是增加序列长度还是条件标签数,复杂度都在不断减小而硬准确率都在不断增加。

ProGen的参数数量可与最大规模的语言模型相提并论,但是,下图中的训练曲线表明无论多大的规模和数量,ProGen均不会出现过拟合现象。这说明蛋白质生成将受益于更大规模的模型和更长时间的训练。

模型基于BLOSUM62软准确率的表现比硬正确率高出20%,这表明ProGen预测误差主要是由天然氨基酸的取代产生的,这些氨基酸可能会保留更高水平的结构。

4.2ProGen生成

在3.4节中已经提到了评估生成质量的3个指标以及一些突变基线,参考这些基线,当从一级序列转移到全部构象结构指标时,ProGen质量有了提高,这表明模型已经学习了结构中的突变不变性。

下图描述了使用top-k采样和重复惩罚的不同组合进行实验的结果,对于所有上下文长度,当k取1且重复惩罚用于最近生成的氨基酸时,模型表现最好。通过这种采样,ProGen成功生成了序列相似的蛋白质,其相似度可与随机突变50%在给定上下文未见的基酸相比较。

下图显示了标签对序列相似性的影响,至少与3个条件标签相关的序列才开始超过50%的突变基线,并且随着氨基酸上下文的增加,至少有8个条件标签的序列才能接近25%的突变基线。从图中也可看出,即使是最好的情况,ProGen也没有超过25%的突变基线。但是根据二级结构准确率,至少有8个条件标签的序列超过了25%的突变基线。这两者之间的矛盾也证明了观点:根据更直接对应于功能的高级指标,低级指标的误差通常对应于可接受的替换。

下图显示了天然蛋白质、ProGen样本、50%和100%随机氨基酸突变的天然蛋白质和全丙氨酸基线的能量水平差异,由ProGen生成的蛋白质更接近于天然蛋白质的能量水平,生成样本的能量接近甚至低于相关的天然模板。

5

总结

本文介绍了一种可控的蛋白质生成语言模型ProGen,该模型生成的蛋白质接近自然结构能量,这意味着其具备功能可行性,该模型有潜力与其它先进的方法一样成为一个新的方法。在重头设计蛋白中,利用带有条件标签的ProGen可以设计在新蛋白家族或宿主中的具有折叠形状的新蛋白。

参考资料

https://arxiv.org/abs/2004.03497

ProGen:蛋白质生成语言模型相关推荐

  1. 自动化的内容生成语言模型如何帮助您赢得seo竞赛

    自然语言处理 (Natural Language Processing) Imagine you are starting a new business. You have an amazing pr ...

  2. 微软报告:GPT-4可以算早期AGI/ 百图生科发布AI生成蛋白质平台/ Arm寻求上调芯片设计价格…今日更多新鲜事在此...

    日报君 发自 凹非寺 量子位 | 公众号 QbitAI 大家好,今天是3月24日星期五.这周依然是技术炸炸炸的一周. 更多新鲜事,咱们一起来看~ 微软发布长篇报告:GPT-4已经可以算早期AGI 微软 ...

  3. 蛋白质功能预测中PSSM矩阵的生成

    一.蛋白质功能预测 蛋白质功能预测   近年来高通量实验方法快速发展,随之产生大量新型蛋白质,发现的蛋白质数量与其功能注释之间的差距越来越大,蛋白质功能预测成为分子生物学研究领域的核心问题.传统的蛋白 ...

  4. 深度学习笔记(四十二)不同类型RNN结构以及语言模型和序列生成

    一.不同类型的RNN 在序列化问题中,有很多类型,比如:输入输出等长,输入输出不等长,输出为整型值等等.那么就有不同的RNN结构来处理不同的问题,这里参考了一篇文章<The Unreasonab ...

  5. Nature子刊:AI技术从零开始设计具有生物活性的蛋白质

    近年来,人工智能(AI)已在医学.生物学及制药领域中展示出广阔的发展前景.特别是在蛋白质设计和工程领域,基于 AI 技术创建人工的蛋白质序列已经成为现实,并可能被用于治疗各种疾病. 日前,来自 AI ...

  6. 多尺度生成扩散模型预测蛋白-配体复合物结构的动态骨架

    今天给大家介绍的是来自加州理工大学Zhuoran Qiao和NVIDIA团队发表在arxiv上的预印本<DYNAMIC-BACKBONE PROTEIN-LIGAND STRUCTURE PRE ...

  7. ​横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind

    整理 | AI 科技大本营(ID:rgznai100) 自然语言处理(NLP)被誉为 AI 皇冠上的明珠,传统 NLP 模型制作复杂,耗时耗力,且用途单一,难以复用.预训练语言模型是 NLP 领域的研 ...

  8. 横扫六大权威榜单,达摩院自家深度语言模型体系AliceMind开源了

    机器之心发布 机器之心编辑部 阿里巴巴达摩院宣布正式开源 AliceMind,助推语言 AI 进入大工业时代. 自然语言处理(NLP)被誉为 AI 皇冠上的明珠,传统 NLP 模型制作复杂,耗时耗力, ...

  9. 谷歌、OpenAI等警告:BERT、GPT-3等大型语言模型都有一个重大缺陷,很危险...

    2020-12-17 00:14:54 作者 | 青暮 语言模型已经变得越来越强大,可胜任的任务也越来越多,这些仅仅以预测句子中下一个单词进行训练的模型,已经在诸如问答.翻译等应用程序中取得了突破性的 ...

最新文章

  1. 全景照片不怕歪!Facebook 用神经网络矫正扭曲的地平线
  2. (转载博文)VC++API速查
  3. Linux的内存分页管理
  4. 05_传智播客iOS视频教程_类对象的使用
  5. 格莱泽检验matlab,计量经济学实验指导书
  6. 送你一朵小红花观后感
  7. C#实现ByteBuffer类 .
  8. 返回固定页面的web服务器
  9. 让你“爱”上 GitHub,解决访问时图裂、加载慢的问题
  10. 俄罗斯方块c语言代码及注释,C语言代码实现俄罗斯方块
  11. yolov5s-6.0网络模型结构图
  12. 待支付取件费用是什么意思_菜鸟裹裹待支付怎么取消
  13. [总结]mac pro 提示“USB设备已停用”导致外接显示器黑屏
  14. 全球与中国螺旋拉刀市场深度研究分析报告
  15. UE4使用委托实现Actor之间的通信
  16. 基于JAVA林家餐厅自助点餐管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  17. 网上酒店客房预定系统数据库设计
  18. Serverless新手部署入门
  19. [Python 高德地图] API调用学习历程(三)
  20. 2.4G无线麦克风领夹麦一拖二_全双工_杰理JL6976M单芯片方案

热门文章

  1. 【转】“无法在Web服务器上启动调试。您不具备调试此应用程序的权限,此项目的URL位于Internet区域”错误提示的解决...
  2. 为了拿捏 Redis 数据结构,我画了 40 张图
  3. 了解 ElasticSearch 这几个知识点后,查询起飞~
  4. 阿里二面:为什么要分库分表?
  5. 一行代码,揭开CPU执行原理!
  6. 用 Redis 搞定游戏中的实时排行榜,附源码!
  7. 20张图助你了解JVM运行时数据区,你还觉得枯燥吗?
  8. 前端性能优化——从 10 多秒到 1.05 秒
  9. 阿里某员工:年终奖到手,再见996
  10. 看源码,我为什么推荐IDEA?