赠书 | GNN 模型在生物化学和医疗健康中的典型应用
计算生物化学和医疗健康的数据常常通过图来表示。
例如,分子和化合物可以自然地表示为以原子为节点、以键为边的图。蛋白质相互作用(Protein-ProteinInteractions,PPI)记录了两个或多个蛋白质之间的物理联系, 这种联系可以很自然地用图的形式表示。
此外,在制药行业中,药物相互作用(Drug-Drug Interactions,DDI)描述了在使用不同药物组合治疗复杂疾病时的不良结果,这种相互作用也可以用图来表示。
图神经网络模型具有强大的图表示学习能力,已被应用于许多生物化学和医疗健康应用中,包括药物开发与发现、药物相似性整合、复方药物副作用预测、药物推荐和疾病预测。
下面将讨论GNN 模型在生物化学和医疗健康中的一些典型应用。
图神经网络已经被用来推动药物开发和发现中的许多重要任务。
这些任务的实例包括:
1)分子表示学习,该任务可以用于辅助分子属性预测等下游任务,从而有助于将候选分子的搜索范围缩小到具有合适性质的分子上;
2)分子图生成,旨在生成具有某种期望性质的分子;
3)药物–靶标结合亲和力预测,即预测药物–靶标的相互作用强度,以便于新药开发和药物再利用;
4)蛋白质相互作用界面预测,其目的在于预测蛋白质相互作用界面,以便于理解分子相互作用界面,进而理解分子机制。
接下来介绍图神经网络在分子表示学习、药物–靶标结合亲和力预测以及蛋白质相互作用界面预测等方面的应用。
分子表示学习
预测新型分子的性质对于材料设计和药物发现具有重要意义。
深度学习方法已经被用于预测分子性质。
通常来说,分子可以是任意大小和形状的,所以前馈网络和卷积神经网络等深度学习方法不能直接应用于分子数据。
预测过程通常包括两个阶段:特征提取,提取分子指纹,即编码分子结构信息的向量表示;性质预测,将提取的分子指纹作为输入,利用深度学习方法预测。
在传统方法中,可以使用一些现成的指纹软件提取分子指纹,而这样缺乏来自下游任务的指导。因此,提取出来的表示对于下游任务来说可能并不是最佳的。
文献[1]提出了一种端到端的预测框架,它采用图神经网络以一种可微的方式学习分子指纹。具体而言,一个分子可以表示为一个图 ,其中节点表示原子,边表示这些原子之间的键。因此,分子性质预测的任务可以看作图分类或图回归问题,这就需要学习图级表示。注意,在描述分子的背景下,这些表示称为分子指纹。应用于该任务的图神经网络模型由图滤波层和图池化层组成。具体而言,文献[1]采用了全局池化方法。
本文首先介绍其图滤波层,再介绍获取分子指纹的全局池化层。对于节点 ,第 层中的图滤波操作可表述为:
(1)
式中,
表示一个依赖于节点 邻居数量 的变换矩阵。因此,每一层中变换矩阵的数量由邻域大小的数目决定。在有机分子中,一个原子最多可以有5个邻居,因此,每一层有5 种不同的转换矩阵。分子 的分子指纹 可以通过如下的全局池化操作得到:
(2)
式中,
表示图滤波层的层数; 表示被用来变换第 层中学习到节点的表示。
式(2) 中的全局池化操作聚合了来自所有图滤波层学到的节点表示。获得的分子指纹
可用于诸如性质预测的下游任务。式(1) 中的图滤波过程和式(2)中的图池化过程会受给定的下游任务影响,如分子性质预测。
事实上,除了上面介绍的方法,任何为学习图级表示而设计的图神经网络都可以用来学习分子表示。如《图深度学习》一书中的第5 章介绍的,可以用图滤波层和图池化层组成一个图神经网络模型。特别地,5.3.2节介绍的MPNN-Filter 的通用框架的应用场景即为提取分子表示。
蛋白质相互作用界面预测
如图1 所示,蛋白质是具有生化功能的氨基酸链。如图2 所示,氨基酸是一种有机化合物,它含有氨基(–NH2)、羧基(–COOH)官能团和每个氨基酸特有的侧链(R 基)。
图1 蛋白质由一串氨基酸组成
图2 氨基酸的一个说明性示例
蛋白质为了实现它们的功能,需要与其他蛋白质相互作用。预测这些相互作用发生的界面是一个具有挑战性的任务,同时这也在药物发现和设计中有着重要的应用。蛋白质相互作用界面由相互作用的蛋白质中相互作用的氨基酸残基和附近的氨基酸残基组成。
具体来讲,文献[3]考虑来自不同蛋白质的两个氨基酸残基,如果其中一个氨基酸残基中的任何一个非氢原子在另一个氨基酸残基中任何一个非氢原子的6Å 内,则认为它们是界面的一部分。因此,蛋白质相互作用界面预测问题可以建模为以来自不同蛋白质的一对氨基酸残基作为输入的二分类问题。
在文献[2]中,蛋白质被建模为图。在图中,蛋白质中的氨基酸残基被视为节点,这些节点之间的关系被定义为边,然后使用图神经网络模型学习节点表示,并利用这些表示进行分类。
接下来介绍如何将蛋白质表示为图,并介绍蛋白质相互作用界面预测的方法。
将蛋白质表示为图
一个蛋白质可以表示为一个图
。蛋白质中的每个氨基酸残基都被视为一个节点,利用氨基酸残基之间的空间关系建立它们之间的边。每个氨基酸残基节点与其 个最相邻的氨基酸残基相连,残基是否相邻由它们原子间的平均距离决定。图中的每个节点和边都与一些特征相关联。具体而言,节点 的特征用 表示,而边 的特征用 表示。
蛋白质相互作用界面预测
给定一对氨基酸残基,一个来自配基蛋白
,另一个来自受体蛋白 ,蛋白质相互作用界面预测的任务是判断这两个残基是否在蛋白质相互作用界面上。这可以被视为一个二分类问题,其中每个样本都是一对氨基酸残基 ,其中 且 。将图滤波操作应用于 和 ,学习图上的节点表示,然后将 和 的节点表示合并,得到该氨基酸残基对的统一表示,最后将其输入全连接层进行分类。类似于GCN-Filter 的图滤波器可用于学习节点表示,对于其中的第 层:
式中,
和 分别表示针对中心节点和邻居节点的可学习的矩阵; 表示偏置项。此外,为了结合边的特征,提出了以下图滤波操作:
式中,
表示边 的特征; 表示对应于边的可学习的变换矩阵。注意,在训练过程中,边的特征是固定不变的。
药物-靶标结合亲和力预测
开发一种新药通常既耗时又昂贵。
在药物开发的早期阶段,药物–靶标相互作用(Drug-Target Interactions,DTI)的识别对于缩小候选药物的搜索范围至关重要。它还可用于药物再利用,旨在识别现有或废弃药物的新靶标。
药物–靶标结合亲和力预测任务是推断给定的药物对与靶标之间的结合强度,可以将其视为一项回归任务。在药物–靶标亲和力预测任务中,经常涉及的靶标主要有4 种,即蛋白质、疾病、基因和副作用。本节以蛋白质为例说明如何在这项任务中使用图神经网络模型。
一个药物–蛋白质对表示为
,其中 、 分别表示药物和蛋白质。药物 表示为以原子为节点、以化学键为边的分子图。蛋白质既可以表示为序列,也可以表示为图。
在文献[4]中,这些蛋白质被表示为氨基酸序列,本节用如图1 所示的氨基酸序列说明药物–靶标结合亲和力预测的框架。在该框架中,药物
通过图神经网络模型学习图级药物表示,而蛋白质被送入序列模型中学习蛋白质表示。这两个表示通过拼接(串联)生成该药物–蛋白质对的组合表示,然后利用该组合表示预测药物–靶结合亲和力。
《图深度学习》一书的13.2.1 节介绍的用于分子表示学习的图神经网络模型也可用于学习药物表示,例如1-D CNN、LSTM 和GRU 的序列模型可以用来学习蛋白质表示。此外,如果将蛋白质建模为图,还可以使用图神经网络来代替图3 中的序列模型。
图3 药物–靶结合亲和力预测的一般框架
▼
参考文献:
[1] DUVENAUD D K, MACLAURIN D, IPARRAGUIRRE J, et al. Convolutional networks on graphs for learning molecular fingerprints[C]. Advances in neural information processing systems, 2015: 2224–2232.
[2] FOUT A, BYRD J, SHARIAT B, et al. Protein interface prediction using graph convolutional networks[C]. Advances in Neural Information Processing Systems, 2017:6530–6539.
[3] AFSAR MINHAS F U A, GEISS B J, BEN-HUR A. Pairpred: Partner-specific prediction of interacting residues from sequence and structure[J]. Proteins: Structure,Function, and Bioinformatics, 2014, 82(7): 1142–1155.
[4] NGUYEN T, LE H, VENKATESH S. GraphDTA: prediction of drug–target binding affinity using graph convolutional networks[J]. BioRxiv, 2019.
以上内容节选自《图深度学习》一书!
▊《图深度学习》
马耀,汤继良 著
王怡琦,金卫 译
揭秘图深度学习的研究和学习路线图
全面覆盖图深度学习的基础理论、模型方法、实际应用及前沿进展
获俞士纶等十余位人工智能国际专家赞誉!
本书全面介绍了图深度学习的理论基础、模型方法及实际应用,既适合对数据挖掘、机器学习和社交网络分析感兴趣的本科生和研究生阅读,也适合企业开发者和项目经理阅读。对于没有计算机科学背景,但想要应用图神经网络来推进其所在学科发展的研究人员,本书同样是一本值得参考的读物。
对于图深度学习,你有哪些见解呢?
#欢迎来评论区讨论#
AI科技大本营 将选出三名优质留言
携手【博文视点】送出
《图深度学习》各一本
截至7月2日14:00点
更多精彩推荐
“去了太空就别回来了!”贝索斯还没“上天”,就遭美国 5 万多人请愿:不准重返地球赠书 | JavaScript 武力值飙升!用 TensorFlow.js 轻松在浏览器里搞深度学习横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind点分享点收藏点点赞点在看
赠书 | GNN 模型在生物化学和医疗健康中的典型应用相关推荐
- GNN 模型在生物化学和医疗健康中的典型应用
计算生物化学和医疗健康的数据常常通过图来表示. 例如,分子和化合物可以自然地表示为以原子为节点.以键为边的图.蛋白质相互作用(Protein-ProteinInteractions,PPI)记录了两个 ...
- 【白皮书分享】2021年脑机接口技术在医疗健康领域应用白皮书.pdf(附下载链接)...
大家好,我是文文,今天给大家分享中国人工智能产业发展联盟于2021年7月份发布的白皮书<2021年脑机接口技术在医疗健康领域应用白皮书.pdf>,关注脑机接口.人工智能以及医疗健康的伙伴别 ...
- 区块链只能炒币?5G通信、医疗健康、食品安全,采购管理这些领域都已用上国产自研长安链...
梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI 96核并行加速,交易性能提升50倍!来自长安链的区块链专用加速芯片正式发布. 芯片基于RISC-V自主研发,这是一款完全开源的指令集架构,保 ...
- 当医疗健康加上大数据,会碰撞出什么火花?
人有多大胆,地有多大产 小编引用某时代名言,这句话看起来有点荒唐,但随着科技在进步,又慢慢变成可能.624灵感咖啡之旅,给小编的感觉就是这样.没有你做不到的只有你想不到的.医疗行业神圣也同样充满社会的 ...
- ssm基于javaweb的医疗健康知识管理系统设计与实现毕业设计源码
目 录 摘要 1 绪论 1.1 研究背景 1.2研究现状 1.3论文结构与章节安排 2医疗健康知识管理系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修 ...
- ssm基于javaweb的医疗健康知识管理系统设计与实现 毕业设计-附源码131903
目 录 摘要 1 1 绪论 1 1.1 研究背景 1 1.2研究现状 1 1.3论文结构与章节安排 1 2医疗健康知识管理系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2.1 ...
- 华为云医疗智能体,助力医疗健康加速智能化
现如今,随着信息技术的发展.互联网+.生命科学研究与临床应用的不断取得重大突破,医疗健康行业也步入了一个快速发展的时代.面对新的时代,如何在"海量数据"和"医疗痛点&qu ...
- 亚马逊云科技re:Invent现场访谈:医疗健康行业的云上未来
众所周知,目前世界上不少国家都正在面临人口结构老龄化的挑战,因此人们对医疗健康与生命科学(Health Care & Life Sciences,简称HCLS)也投入了比以往更多的关注. 那么 ...
- 智慧医疗健康领域数字孪生应用框架
将数字孪生应用在医疗健康系统中,可将患者的健康档案.就医史.用药史.智能可穿戴设备检测数据等信息上传至云端为患者建立"医疗数字孪生体",并在生物芯片.增强分析.边缘计算.人工智能等 ...
最新文章
- Android设备的网络抓包
- ORACLE数据库查看执行计划
- java8 内存模型_java8内存模型
- 【代码+解析】有理数的类封装
- c#委托调用另一窗口函数_在C#中使用委托调用成员函数
- keil C对lib封装库反汇编成C语言,Keil软件“C语言”及“汇编”混编 —— 相关知识整理.doc...
- Keras-6 IMDB, a binary classification example
- 【数字全排列】LeetCode 47. Permutations II
- 网络安全隐患,中国应发展自已的核心技术
- keil 函数最多可以传几个参数_Keil C51中如何让一个函数返回多个值?我把数组指针传入函数中,但发现编译后DATA区会随...
- discuz门户文章增加代码高亮
- 软件测试术语 - 需求跟踪矩阵
- Ubuntu18.04 iso文件下载地址
- word 2007 页眉页脚编辑心得
- HTML中注解的写法正确的是,css注释的写法(单行和多行)
- 全自动软化水设备:全自动软化水设备选型指南
- win11蓝牙无法使用 Windows11蓝牙无法使用的解决方法
- matlab画图总结——二维图plot函数、图形标注和坐标轴控制、饼图、条形图、排列图;三维图的绘制
- 缺一位身份证号码时识别计算
- python 生成英文字母对应顺序字典