Fork me on GitHub

图神经网络推动蛋白质建模

以下文章来源于 https://zhuanlan.zhihu.com/p/640431271

导读 今天与大家分享的主要内容是图神经网络与图表征学习在蛋白质机器学习与蛋白质建模等方向的进展。本次分享首先将简单介绍一般的图神经网络和图表征学习(这些内容被包含在唐建老师主持撰写的《Graph Neural Networks: Foundation, Frontiers and Applications》一书中的第四章里);然后将介绍为什么蛋白质能被看作典型的图结构数据;进而从模型、算法及应用的角度来展现图神经网络和图表征学习是如何推动蛋白质建模的;最后展望未来的一些研究方向。

全文目录:

  1. GNN与图表示学习背景

  2. GNN在蛋白质建模的应用

  3. 未来展望


分享嘉宾|徐明皓,Mila魁北克人工智能研究所 博士生

编辑整理|熊丹妮 恒瑞医药

出品社区|DataFun


01/1. 图神经网络(GNNs)

关于GNN的详细概念在这里就不做赘述,一般的图神经网络可以看作是信息传播的神经网络形式,如下图所示,主要的功能模块包括信息函数(message function)、聚合函数(aggregation function)和结合函数(combination function),通过这些模块,GNN可以将邻居节点的信息聚合到中心节点,并更新中心节点的表征。

典型的GNN包括图卷积网络(Graph Convolutional Networks)、图注意力网络(Graph Attention Networks)、图同构网络(Graph Isomorphism Networks)以及连续图神经网络(Continuous GNNs)。(在《Graph Neural Networks: Foundation, Frontiers and Applications》中第四章节详细介绍了以上GNN相关概念。)

2. 图表征学习

图表征学习的主要目的是将高维图结构数据嵌入(embedding)到低维向量空间中。

图表征学习可以分为节点级的表征学习和图级的表征学习。典型的学习范式包括监督学习和无监督学习,其中监督学习是利用图数据库中的有标签节点和图来进行表征学习,而无监督学习是利用图本身的结构进行无监督表征学习。无监督学习的典型工作包括2016年的变分图自编码器(Variational Graph Auto-Encoders),以及2019年和2020年在Infomax基础上推出的Deep Graph Infomax。(以上内容在《Graph Neural Networks: Foundation, Frontiers and Applications》中第四章节也进行了详细介绍。)

从上图中可以看出,GNN在很多应用领域都展现了其有效性,包括社交媒体分析、知识图谱推理、小分子建模、计算机视觉以及自然语言处理等。GNN将要征服的下一个领域即蛋白质建模。

3. 图结构数据--蛋白质

如下图所示,蛋白质是具有多级结构的数据:在一级结构上可以看成是一个氨基酸序列,由连续的氨基酸残基组成;二级结构则是蛋白质在三维结构中频繁出现的一些子结构,典型的二级结构有α螺旋、β折叠、β转角等;三级结构即蛋白质折叠结构,是完整蛋白质在三维空间中可能存在的一些稳态构象。

在蛋白质建模中,常用的原则为"序列决定结构,结构决定功能"。其中"结构决定功能"指蛋白质的三级结构能够决定该蛋白质各种丰富的功能,如调节人体内代谢反应、蛋白酶催化生化反应、抗体抗原结合催生人体免疫反应等。

蛋白质中的原子和氨基酸残基在空间中存在着丰富多样的相互作用关系,如蛋白质的氨基酸残基在近距离可以通过肽键、氢键进行相互作用,在中/远距离可以通过中和效应进行相互作用。故而,如果将原子或者氨基酸残基看作是图中的节点,则它们间的各种相互作用关系可以看作为图中的边,从而构建典型的图结构数据。

02/GNN在蛋白质建模的应用

1. GNN与蛋白质结构预测

在蛋白质机器学习中,最为人熟知的工作之一就是2021年DeepMind所提出的AlphaFold2模型。

AlphaFold2模型可以利用蛋白质的氨基酸序列(蛋白质一级结构)、同源蛋白质序列以及在大型结构数据库中搜索得到的蛋白质结构模版,来精确的预测蛋白质三级结构,即蛋白质折叠。AlphaFold2在同年的蛋白质结构预测大赛(CASP)中取得了一骑绝尘的效果,引起了普遍关注。

AlphaFold2模型中非常重要的模块是"Structure Module"结构模块。这个结构模块可以看作是一个Graph Transformer模型,相当于在不同的氨基酸之间构建了一个全连接图,然后通过氨基酸对之间的两两相对位置以及相对朝向来进行信息传播,从而得到更加鲁棒的结构化表征;在这些表征的基础上迭代更新每一个氨基酸残基的位置和朝向,最后得到蛋白质整体的三级结构;再在三级结构的基础上进一步通过后处理得到侧链上的原子坐标,最后得到完整的所有原子的三维坐标。

2. GNN与蛋白质功能标注

GNN在蛋白质建模中另一个重要的应用是蛋白质功能标注。

如上图所示,该领域中的典型工作是Flatiron研究所2021年提出的DeepFRI模型。

DeepFRI模型作用于氨基酸残基级别的图结构数据上,模型利用经典的GCN模块在不同的氨基酸残基之间进行信息传播,从而得到氨基酸残基的表征;然后通过readout function得到蛋白质的整体表征;在整体表征基础上通过简单的MLP Layers来预测蛋白质是否具有各种各样的功能,如分子功能(Molecular Function),是否能够参与一些生化反应、生物过程,以及在细胞中的位置等。

3. GNN与蛋白质设计

蛋白质机器学习另一个比较重要的应用是引导蛋白质设计,这也是最近学界和业界比较火热的研究课题,在2022年年底的两三个月中涌现出了非常多的"蛋白质从头设计"/"蛋白质序列设计"等的一系列工作。

在此领域中比较早,或者说具有开创性的工作是MIT CSAIL提出的RefineGNN模型。RefineGNN模型目的是对特定蛋白质的抗体蛋白进行序列和结构的共同设计。蛋白质抗体中最重要的区域是CDR Regions,这些CDR区域的结构往往决定了该抗体和特定抗原结合的特异性,也决定了其中和能力。

RefineGNN模型利用了GNN来进行CDR区域内部的氨基酸残基间的信息传播,并且在CDR和CDR以外的框架区域(Framework Region)间也进行了信息传播,从而迭代得到CDR区域的氨基酸残基表征;然后通过自回归方式预测CDR区域中所有抗体序列;在每一个迭代步(Iteration Step)中通过当前更新的蛋白质序列以及蛋白质表征去更新CDR区域氨基酸残基的结构坐标。以上是RefineGNN模型对蛋白质抗体进行设计的总体思想,可以看到GNN在其中扮演了非常重要的角色。

除了RefineGNN模型外,另一个最近非常火爆的蛋白质设计工作是2022年12月Generate Biomedicines提出的Chroma模型。Chroma模型利用了当前非常SOTA的生成模型范式------扩散模型来进行蛋白质设计。模型的基本思想是从一个随机的具有非常多噪声的三维结构中,通过一步步的去噪过程来生成最原本的具有正确三维折叠结构的蛋白质。

在Chroma模型中最重要的功能模块是去噪GNN:利用GNN在蛋白质结构内进行信息传播并得到蛋白质结构表征,在此基础上来预测如何从一个具有较多噪声的结构状态X(t)进行去噪,以得到相对具有较少噪声的结构状态X(t-1),通过迭代利用去噪GNN,最终得到一个具有正确三维折叠结构的蛋白质。

4. GNN与自监督蛋白质表示学习

另一个蛋白质机器学习领域的重要应用------自监督蛋白质表征学习。由于AlphaFold2模型的出现,我们拥有了海量的蛋白质结构数据,但这些蛋白质结构数据往往呈现出原生的/裸的数据状态,即这些数据仅有蛋白质结构和序列信息,并没有蛋白质功能标注。由此,研究者们非常直接的想法就是利用Pre-training和Fine-tuning的学习范式来对这部分大量的蛋白质结构数据进行利用,即在预训练阶段利用自监督学习方法来得到具有丰富信息的蛋白质表征,在下游任务中在这些蛋白质表征上进行Fine-tuning,来解决仅有少量标注数据的下游任务。

上图展示了这个领域中比较重要的代表性工作------MilaGraph提出的蛋白质多视角对比学习(Protein Multiview Contrastive Learning)算法。算法主要的目的是通过整体蛋白质结构中各种子结构/结构域之间的相互依赖性和共现性来进行自监督表征学习。

如上图所示,算法中提出了GearNet模型来对蛋白质结构进行表征提取。此模型与利用GNN进行蛋白质建模部分中提到的模型的不同点在于,此模型是将蛋白质结构建模成一个多关系图的形式。前文中有提到蛋白质中的氨基酸和原子间的相互作用是多种多样的,如肽键、氢键、中和作用等,故将蛋白质结构建模成多关系图能更好的捕捉多种多样的相互作用关系。利用GearNet进行多关系图信息传播,最终得到蛋白质结构表征来进行对比学习。

以上是蛋白质机器学习及GNN在蛋白质建模中的应用实例。

03/未来展望

最后展望一下接下来一年或者若干年在蛋白质机器学习领域中潜在的比较有意义的研究方向。

  • 如何对蛋白质序列及结构进行多模态表征学习/建模:目前主流的蛋白质编码器(Encoder)以及蛋白质语言模型(Protein Language Model)主要是针对蛋白质序列进行表征提取,GNN主要是对蛋白质三级结构进行表征提取,如何设计一个编码器能同时利用蛋白质序列及结构信息得到有意义的表征,是一个值得深挖的方向;如何设计一个好的预训练算法能够同时利用蛋白质序列及结构信息来得到鲁棒的预训练表征也是一个方向。
  • 如何进行蛋白质基础模型(Foundation Models)的设计:过去两年在CV和NLP领域涌现出了非常多的基础模型,这些模型"多才多艺",能够解决各种各样的领域内下游任务,同时还能利用多模态信息进行更加精确的模型预测。在蛋白质领域目前还没有基础模型的出现,希望这个基础模型可以通过自然语言来引导更好的蛋白质理解和设计。可以利用生物知识图谱BioKG和生物领域的标注的大型数据库(如UniProt等)中的自然语言的引导,来进行蛋白质的理解和设计。同时希望蛋白质基础模型是一个"多才多艺"的模型,能够对蛋白质的结构及各种功能进行系统性的理解。
  • 如何结合传统计算生物学方法与蛋白质机器学习方法来得到一个更具鲁棒性、性能更加优良的模型:通过结合这两个流派的方法,即结合基于物理定律的计算生物学方法的精确性和基于蛋白质机器学习模型的泛化性,能够预测出模型的confidence,进而得到能对各种蛋白质功能进行更加精确预测的模型;同样可以利用传统计算方法的可解释性来提升蛋白质机器学习模型的可解释性。

04/Q&A

Q:目前在实际场景中,从蛋白质设计到生产、测试需要多久?

A:蛋白质设计在学术界特别是机器学习领域属于爆发期,处于模型设计和探索阶段,包括RFDiffusion、ProtSeed等都是对蛋白质设计模型的探索。故在机器学习领域,蛋白质设计还处于模型调优的阶段,很多模型是在机器学习相关的benchmark上进行验证,但如何对一个特定的靶点/小分子/抗原进行蛋白质抗体设计并进行实验验证来说,目前的工作还比较欠缺。预计在接下来一年,在各大研究机构包括Meta等,以及有工业界合作的研究组中,会逐渐聚焦在机器学习benchmark以上的领域,做一些真正的可以有实际应用的蛋白质设计,同时结合实验室验证来进行干湿实验的闭环,来筛选出对于特定疾病有效的蛋白质药物,这个周期可能需要3年或者更长。


今天的分享就到这里,谢谢大家。


本文地址:https://www.6aiq.com/article/1688028341547
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出