4000万蛋白结构训练,西湖大学开发基于结构词表的蛋白质通用大模型,已开源

编辑 | ScienceAI蛋白质结构相比于序列往往被认为更加具有信息量,因为其直接决定了蛋白质的功能。而随着AlphaFold2带来的巨大突破,大量的预测结构被发布出来供人研究使用。如何利用这些蛋白质结构来训练强大且通用的表征模型是一个值得研究的方向。西湖大学的研究人员利用Foldseek来处理蛋白质结构,将其编码成一维的离散token,并与传统的氨基酸进行结合,形成了结构感知词表(Structure-aware Vocabulary),以此将结构信息嵌入到模型输入中,增强模型的表征能力。在预训练上,论文使用了目

图片

编辑 | ScienceAI

蛋白质结构相比于序列往往被认为更加具有信息量,因为其直接决定了蛋白质的功能。而随着AlphaFold2带来的巨大突破,大量的预测结构被发布出来供人研究使用。如何利用这些蛋白质结构来训练强大且通用的表征模型是一个值得研究的方向。

西湖大学的研究人员利用Foldseek来处理蛋白质结构,将其编码成一维的离散token,并与传统的氨基酸进行结合,形成了结构感知词表(Structure-aware Vocabulary),以此将结构信息嵌入到模型输入中,增强模型的表征能力。

图片

在预训练上,论文使用了目前最多的蛋白质结构(identity过滤后4000万),在64张A100上训练了3个月,最终开源了具备650M参数量的模型SaProt(同时包括了35M的版本)。实验结果表明SaProt各种蛋白质任务上都要好于之前的序列和结构模型。

研究《SaProt: Protein Language Modeling with Structure-aware Vocabulary》的预印版本,于 2024 年 3 月 21 日发布在 bioRxiv 预印平台。

图片

论文链接:https://www.biorxiv.org/content/10.1101/2023.10.01.560349v4

github链接:https://github.com/westlake-repl/SaProt

方法

本文利用Foldseek将蛋白质进行编码,生成了一维的3Di结构序列(使用了Foldseek的结构词表,每种3Di token代表不同的局部结构),这样的结构序列与氨基酸序列是等长的。

因此本文使用了一种简单而有效的结构嵌入方式:将结构词表和氨基酸词表计算笛卡尔积(即两两组合),形成新的结构感知词表。这样对于蛋白质的每个位点,其氨基酸类型和对应的局部结构都能组合成新词表中的某个元素,从而让模型同时考虑到蛋白质的序列与结构信息。

本文使用Bert架构进行掩码语言建模(Masked Language Modeling )预训练(关于训练的更多细节可参考原论文)。

图片

图:结构感知词表

实验

方法对比

一个可能令人疑惑的问题就是为什么需要这样编码结构?论文展示了使用不同的结构编码方式进行预训练的结果图:

图片

图:不同结构模型训练的loss曲线图

图左和图中是两种经典的蛋白质结构建模方式,即将结构信息编码成bias后添加到transformer的attention map中(如Evoformer,Uni-Mol),或者使用图神经网络的方式建模蛋白质的空间关系(如MIF,GearNet等)。

然而从loss图中可以发现,当上述两种建模方式在AF2结构上使用MLM的训练目标进行预训练时,模型会非常迅速地过拟合(表现为在AF2预测结构上预测loss非常低,但在PDB真实结构上loss停滞甚至上升)。

作者推测这是由于AF2预测出来的蛋白质结构带有一些隐藏的模式(patterns),由于前两种方式是直接对蛋白质的三维坐标进行建模,这些隐藏的pattern可能很轻易地就被模型识别出来,从而造成了信息泄露的问题,让模型无需真正学习到蛋白质的进化信息就能轻松地完成训练目标。

而结构感知词表通过将蛋白质结构编码成一维的结构序列,在尽可能保留结构模式的情况下忽略了精细的坐标数值,因此模型能够有效地利用结构信息而不受到隐藏pattern的影响。

Zero-shot测试

作者在蛋白质突变数据集(ProteinGym)上和真实人类临床疾病数据集(ClinVar)上测试了SaProt的zero-shot能力,结果如下:

图片

图:Zero-shot实验结果

SaProt在两个数据集上都超越了以往的所有结构和序列模型,证明了其在zero-shot预测突变上具备优异的能力。

监督微调测试

本文还涵盖了各种下游任务来测试模型表现,结果如下:

图片

图:下游任务fine-tune结果

SaProt在各个下游任务上都超越了以往的序列和结构模型,展示出了其强大且通用的表征能力。

结构信息测试

SaProt在4000万的蛋白质结构上进行训练,获得了强大的表征能力。一个可能的疑问是如何确定SaProt学到了更多的结构信息而不是模型被训练得更好?

论文对SaProt和ESM-2在残基接触预测任务(Contact Prediction Task)上进行了测试。作者冻住了模型的backbone,只训练一个线性分类层。实验结果如下:

图片

图:Contact Prediction Task的结果

从结果可以看到,由于结构token的嵌入,SaProt的表现大大超越了ESM-2,这表明SaProt蕴含了非常丰富的结构信息,使其能够在结构预测任务上获得十分优异的结果。同时,论文在SCOPe数据库上对alpha蛋白质和beta蛋白质进行了可视化,结果如下:

图片

图:在SCOPe数据库上的Embedding可视化

SaProt的可视化结果非常清晰地将alpha蛋白质和beta蛋白质区分开来,而ESM-2的可视化结果却将两种蛋白质混杂在一起,这说明了SaProt对结构的变化有很强的感知能力。

不同结构预测方法的比较

除了AF2,目前还存在许多其他的单序列结构预测方法(如ESMFold),因此本文额外测试了其他方法预测出来的结构对SaProt性能的作用。结果如下:

图片

图:不同结构预测方法的fine-tune结果

从测试结果可以看出,虽然SaProt在AF2结构上的表现最好(模型本身也是基于AF2结构进行训练的),但其他的结构预测方法也能让SaProt与ESM-2等模型性能相当。这意味着考虑到计算与时间成本,单序列结构预测模型也能作为替代方法输入到SaProt中。

局限

虽然SaProt经过训练展示出了优异的性能,但依然还有一些可以改进的地方,例如:

Foldseek默认的结构词表大小只有20,如果有更加精准的结构编码模型,扩大结构表征的词表大小,是不是能进一步提升模型利用结构的能力?

由于计算能力的限制,SaProt只在650M上完成了训练。如果能够继续扩大模型规模,是否可以进一步地提升模型表现?

论文虽然已经测试了很多的蛋白质任务,但还有一些其他任务可以应用探索,例如蛋白质序列设计(给定backbone预测氨基酸序列)等。

相关资讯

AI从头设计蛋白质「开关」,蛋白质设计的惊人突破,David Baker研究登Nature

编辑 | KX在生活中,打开一盏灯,或者调节灯光很简单。但实现类似生物分子功能控制的系统却很复杂,而且人们对此了解甚少。在生物学中,蛋白质功能以复杂的方式开启和关闭,变构调节是其中一种重要的生物学调节机制,对于健康的新陈代谢和细胞信号传导至关重要,但在合成蛋白质系统中,创建变构现象一直存在重大挑战。近日,华盛顿大学 David Baker 团队,设计出了能够通过变构控制,可靠而准确地在组装和拆卸之间转换的蛋白质。研究人员利用 AI 设计自然界中不存在的新蛋白质,设计了多种动态蛋白质排列。David Baker 说:

首次,西湖大学用蛋白质语言模型定向改造碱基编辑器,登Cell子刊

编辑 | ScienceAI在基因组编辑领域,单碱基编辑器通过将可编程的DNA结合蛋白与碱基修饰酶融合,实现在不引起DNA双链断裂的情况下,对基因组中特定碱基进行精确修改。尽管依赖于胞嘧啶(C)碱基编辑器(CBE)或腺嘌呤(A)碱基编辑器(ABE)介导的脱氨反应,这些编辑器能够实现C到胸腺嘧啶(T)或A到鸟嘌呤(G)的突变,但它们在诱导所有类型的点突变,尤其是颠换突变方面仍存在局限性。近期,西湖大学团队在《Molecular Cell》上发表了一篇题为「Protein language models-assiste

如何让细胞进行计算?国内四高校提出生物计算元器件设计全新方法,登Cell

编辑 | 萝卜皮作者 | 论文团队细胞犹如一台计算机,每时每秒都在接收、分析和处理来自环境中的不同信息:外界信息通过细胞内高度并行的信号转导途径进行分析和处理,进而以预定义的方式从「存储设备」(即 DNA)中读取信息(基因的表达)或写入指令(DNA 修饰和编辑),指导自身或周围细胞对环境信息做出响应。一直以来,如何有效利用生物体本身的计算能力,通过对生物体进行改造使之能够执行人类给定的计算任务,并由此开发出基于生物系统的新概念计算机都是计算机科学与生物技术领域交叉融合的热点问题。近期,来自国防科技大学、西湖大学、浙