山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。
早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆合成,可解释性差,且无法兼顾分子的短程信息和长程信息,性能受限。
为此,山东大学的魏乐义和电子科技大学的邹权课题组共同开发了 RetroExplainer。这一可解释的深度学习算法,可以 4 步识别有机物的逆合成路线,给出易得的反应物。RetroExplainer 有望为有机化学逆合成研究提供强力工具。
作者 | 雪菜
编辑 | 三羊
有机化学逆合成 (Retrosynthesis) 旨在找到一系列合适的反应物,以高效合成目标产物。这一过程是计算机辅助合成中不可或缺的基础性工作。
上世纪 60 年代,Corey 等人尝试通过编程进行逆合成分析,并开发了有机化学模拟合成 (OCSS) 软件。然而,随着数据量的增加,这一工作很快被 AI 接手。其中,深度学习 (Deep Learning) 模型被寄予厚望,也产出了相当的成果。
早期的 AI 逆合成研究中,研究者往往基于反应模板从产物倒推到反应物,即基于模板的逆合成。其中,基于多层感知器的分子指纹 (Molecular Fingerprints) 常被用于产物的编码和模板的选择。
随后,研究人员开始探寻无模板和半模板的合成方法,主要包括:
1、基于序列的逆合成;
2、基于图表的逆合成。
二者的主要区别在于分子的表现形式。前者用线性化的字符串表示分子,如 SMILES 规范;而后者会使用分子图模型表示分子,主要包括反应中心 (RC, Reaction Center) 的预测和合成子 (Synthon) 的完成。
虽然现有的逆合成方法已经取得了重大进展,但仍存在 3 个内源性问题:
1、基于序列的逆合成会遗漏分子信息,而基于图表的逆合成会忽视分子的序列信息和长程特征。两种方法在特征学习中都会受到限制,性能很难再提升;
2、基于深度学习的逆合成方法可解释性很差。虽然基于模板的逆合成能给出易懂的合成路线,但算法的决策机制依然很模糊,模型的可重复性和可行性有待考虑;
3、现有方法多聚焦于单步逆合成。这种方法看似可以给出合理的反应物,然而这些反应物可能很难购买,或是需要复杂的后处理。因此,多步逆合成在实际的化学合成中可能更具意义。
为此,山东大学的魏乐义和电子科技大学的邹权课题组共同开发了 RetroExplainer。这一算法能够基于深度学习进行逆合成预测,同时兼顾算法的可解释性和可行性。RetroExplainer 在几乎 12 个基准数据集中的表现优于其他算法,提出的合成路线中 86.9% 的反应得到了文献的验证。这一成果已发表于「Nature Communications」。
论文链接:
https://www.nature.com/articles/s41467-023-41698-5
关注公众号,后台回复「逆合成」获取完整论文 PDF
实验过程
算法构建:模块 + 子网格
整个逆合成分析过程包括 4 步:分子的图表编码、多任务学习、决策、多步合成路线预测。
RetroExplainer 主要包括 4 个模块:多感知多尺度图 Transformer (MSMS-GT)、动态自适应多任务学习 (DAMT)、可解释的决策模块及路线预测模块。
a:RetroExplainer 流程示意图;
b:MSMS-GT 架构;
c:DAMT 算法示意图;
d:与反应机制类似的决策过程。
MSMS-GT 通过化学键嵌入和原子的拓扑嵌入捕获重要的化学信息。编码后的信息通过多头注意力 (Multi-Head Attention) 机制融合成分子向量。
在 DAMT 模块中,分子信息被同时输入至反应中心预测 (RCP)、离去基团匹配 (LGM, Leaving Group Match) 和离去基团连接 (LGC, Leaving Group Connect) 子网格中。
RCP 会识别化学键和原子相邻氢原子数量的变化,LGM 会将产物中的离去基团与数据库中的匹配,LGC 会将离去基团和产物残基相连。
决策模块会基于 5 个逆合成动作和决策曲线的能量分数 (E, Energy Score),将产物转换为反应物,反向模拟分子组装过程。
最终,使用启发式树搜索算法找到高效的产物合成路线,同时确保反应物的可得性。
性能对比:USPTO 基准数据集
为验证 RetroExplainer 的性能,研究人员基于美国专利及商标局 (USPTO) 收录的化学反应,与其他 21 种逆合成算法进行了对比,评价指标为 top-k 准确率。
可以看到,基于 USPTO-50K 数据集,在 8 项评价指标中,RetroExplainer 有 5 项优于其他算法,其平均准确率位列第一。虽然 RetroExplainer 在 top-10 准确率中不及 LocalRetro,但二者的差距仅 1%。
为消除相似分子带来的影响,研究人员用谷本相似性 (Tanimoto Similarity) 对数据进行了重划分,并与 R-SMILE、LocalRetro 这两种准确率最高的算法进行了对比。
结果中可以看到,RetroExplainer 在大多数数据集中有更好的表现,体现了其稳定性和适应性。
随后,研究人员在更大规模的 USPTO-MIT 和 USPTO-FULL 数据集进行了算法性能对比。RetroExplainer 各项指标均优于其他算法,且与其他算法差距更大,说明 RetroExplainer 在大规模的数据分析中更有潜力。
可解释性:决策可视化
受双分子亲核取代反应 (SN2) 的启发,研究人员基于深度学习引导的分子组装设计了可解释的逆合成预测过程。决策过程包括 6 个阶段:原产物 §、离去基团匹配 (S-LGM)、初始化 (IT)、离去基团连接 (S-LGC)、反应中心化学键变化 (S-RCP)、氢原子数变化 (HC)。
基于每个阶段对最终决策的贡献,DAMT 的子网格会为每个阶段生成一个能量分数 (E)。
具体流程如下:
1、P 阶段将各阶段的 E 初始化为 0;
2、S-LGM 阶段,根据 LGM 模块的预测概率,选择离去基团;
3、将 S-LGM 阶段选择的离去基团的 E 与 RCP、LGM 模块预测的响应事件概率相加,得到 IT 阶段的能量;
4、S-LGC 和 S-RCP 阶段,基于动态规划算法,扩展搜索树中的所有可能节点。选择概率大于预设阈值的事件,同时将 E 固定;
5、调整每个原子的氢原子数和形式电荷,确保得到的分子图符合化合价规则,并计算最终 E。
a:RetroExplainer 对 2 个预测结果的搜索线路;
b:排名前 12 预测路线的决策曲线;
c:6 种代表合成路线的结构变化过程。
基于 E 的变化绘制决策曲线,就能对 RetroExplainer 的决策过程进行分析,找出 RetroExplainer 的预测错误。
如图所示,产物的正确合成路线应为胺的脱保护反应,然而 RetroExplainer 将其排在第 6,排名第 1 的是 C-N 偶联反应。分析发现,HC 阶段中 RetroExplainer 倾向于增加胺的氢原子数,导致了这一差别,说明 RetroExplainer 在 HC 阶段对相似结构的分子可能存在同样的误判。
通过对比 RetroExplainer 排名第 1 和第 2 的反应,研究人员发现 E 可能与反应的难度有关。虽然反应 1 中 I:33 和 C:26 的连接不利于能量的减少,然而在 C:26 处连接一个氢原子需要前一反应 13 倍的能量。同时 I:33 的引入,弱化了 C-N 偶联反应面临的选择性问题。
同时,空间位阻也会对 RetroExplainer 的预测结果产生影响。对比排名第 4 和第 21 的反应,它们的分子结构一致,但离去基团连在了对称的 N 上,导致了 E 的差别。
路径规划:多步预测合成路线
为提高 RetroExplainer 预测的实际性,研究人员将其与 Retro 算法相结合,将后者的单步预测,替换为多步预测。
以支气管扩张剂普罗托醇 (Protokylol) 为例,RetroExplainer 为这一产物设计了 4 步的合成路线。随后,研究人员对这 4 步反应进行了文献调研,以探究其可行性。
图中蓝色文本是参考文献中记录的相似反应,红色部分为 RetroExplainer 的决策过程。
虽然很多反应没有找到完全一致的参考,但他们找到了相似的高产率反应。此外,RetroExplainer 为 101 个案例设计了 176 个实验,其中 153 个可以在 SciFinder 中找到相似的反应。
上述结果说明,RetroExplainer 对逆合成的预测优于目前其他算法。同时,RetroExplainer 决策透明,具有可解释性,且对反应进行多步规划,可行性更强。RetroExplainer 有望为有机化学逆合成研究提供强力工具。
性能 vs. 可解释性,矛盾的 AI
可解释性 (Explainability) 是在各个场景应用 AI 的关键因素。随着 AI 在无人驾驶、医疗诊断、金融保险等行业的不断发展,AI 的决策过程显得愈发重要,也面临着越来越多的实践、社会乃至法律问题。
同时,可解释性能够帮助用户理解、维护和使用 AI,发现并理解 AI 应用领域的新概念。可解释性还体现了结果的可行性,并告诉用户这一决策的收益是最大的。
然而,模型性能和模型的可解释性是困扰 ScienceAI 的一个很大问题,如果模型性能好、具有很好的跨测试集鲁棒性,那可能用高维深度特征效果会更好,但它不具备任何物理意义,也就是我们常说的「偏科研的可解释性大都很差」。
相反,如果用好解释的特征,虽然在物理上非常具有可解释性,但是实际模型表现会有很大的数据依赖性,换一个数据集模型性能就会下降。
二者的矛盾到现在都还没有一个很好的方式统一,但在本研究中,研究人员将 AI 的决策过程分步可视化,让使用者清晰地了解到各种预测结果在各阶段的得分变化,理解了 AI 的决策过程,也便于开发者进行模型的优化。
随着可解释 AI 的不断发展,人们对于 AI 的理解会更加深入,AI 的决策过程也会更加易懂。未来,人机之间的互动将不断增加,交互门槛进一步降低,AI 将在更多场景中投入使用,让生活更加便捷智能。
参考链接:
[1]http://www.chem.ucla.edu/~harding/IGOC/R/retrosynthesis.html
[2]https://zh.wikipedia.org/zh-cn/简化分子线性输入规范
[3]https://wires.onlinelibrary.wiley.com/doi/10.1002/widm.1391
相关文章:

山东大学开发可解释深度学习算法 RetroExplainer,4 步识别有机物的逆合成路线
逆合成旨在找到一系列合适的反应物,以高效合成目标产物。这是解决有机合成路线的重要方法,也是有机合成路线设计的最简单、最基本的方法。 早期的逆合成研究多依赖编程,随后这一工作被 AI 接替。然而,现有的逆合成方法多关注单步逆…...

使用antv x6注册vue组件报错,TypeError: Object(...) is not a function (teleport.js:3:23)
typeError: Object(…) is not a function at …/…/…/node_modules/.pnpm/antvx6-vue-shape2.1.1_antvx62.15.2vue2.7.10/node_modules/antv/x6-vue-shape/es/teleport.js (teleport.js:3:23) 点击定位到报错的位置为 reactive应该是vue 2.7.*版本才有的 由于项目在index.ht…...

Python开发利器KeymouseGo,开源的就是香
1、介绍 在日常工作中,经常会遇到一些重复性的工作,不管是点击某个按钮、写文字,打印,还是复制粘贴拷贝资料之类的,需要进行大量的重复操作。按键精灵大家想必都听说过,传统的方式,可以下载个按…...

什么是 Node.js
目标 什么是 Node.js,有什么用,为何能独立执行 JS 代码,演示安装和执行 JS 文件内代码 讲解 Node.js 是一个独立的 JavaScript 运行环境,能独立执行 JS 代码,因为这个特点,它可以用来编写服务器后端的应用…...

08-flex布局
flex布局 1.定位布局- 定位流分类1.1.静态定位1.2.相对定位1.3.绝对定位1.4.固定定位1.5.粘滞定位1.6.z-index - 1.1.静态定位( Static positioning)- 1.2.什么是相对定位?( Relative positioning )- 相对定位注意点- 相对定位应…...

HTML5和HTML的区别
HTML5的概念分为广义和狭义两种。 狭义的概念HTML5是指HTML语言的第5个版本,而HTML是指5之前的版本。 广义的概念HTML5是指由HTML5、CSS3、JavaScript所组成的开发环境。而HTML是指HTML语言本身。 1、HTML5与HTML狭…...

【Amazon】跨AWS账号级别迁移弹性IP地址操作流程
文章目录 一、实验背景二、适用场景三、实验目标四、实验说明五、实验步骤1. 登录AWS控制台[源账户]2. 启用弹性 IP 地址转移[源账户]3. 接受转移的弹性 IP 地址[目标账户]4. <可选>禁止转移弹性IP地址[源账户] 六、结果验证七、注意事项八、附录1. 多弹性IP地址多AWS账号…...

2023-python pdf转换为PPT代码
from pdf2image import convert_from_path from pptx import Presentation from pptx.util import Inches import os# 用户输入PDF文件路径 pdf_file_path input("请输入PDF文件的路径:")# 提取文件名(不包括扩展名)作为PPT文件名…...

学会场景提问,让AI“小助手”为我所用
文章目录 一、故事叙述提问举例 二、产品描述提问举例 三、报告撰写提问举例 四、邮件和信件撰写提问举例 五、新间稿和公告撰写提问举例 六、学术论文和专业文章撰写提问举例 我们知道AI技术不仅能够自动生成文章和内容,还可以根据我们的需求提供创意灵感和解决问题…...

前端,CSS,背景颜色跟随轮播图片改变而改变(附源码)
首先看效果! 比如轮播图时红色,那么背景的底色也是红色,轮播图时黄色,背景的底色也是黄色,这就是根据轮播图的图片切换,而改变背景颜色随轮播图颜色一致 话不多说,直接上代码!非常简…...

对文件夹内的所有图像进行随机调整对比度和应用高斯滤波
import os import random from PIL import Image, ImageEnhance, ImageFilter# 输入和输出文件夹路径 input_folder rE:\深度学习数据集 output_folder rE:\深度学习数据集\对比度、高斯滤波# 确保输出文件夹存在,如果不存在则创建 if not os.path.exists(output_…...

ios上架上传构建版本的windows工具
ios上架的必要步骤,是将打包好的二进制ipa文件,上传到app store的构建版本里,苹果并没有提供上传构建版本的工具,这里我介绍下windows下上传构建版本的方案。 下面说下上传的基本步骤: 第一步,上传前要先…...

arcgis js api 4.x加载geoserver发布的地方坐标系(自定义坐标系)的wms服务
问题描述:之前研究过arcgis js api 4.x加载arcgis server 发布的地方坐标系的wms服务,后来研究出来能正常加载了,想了解的可以看我之前的博客。但是一直困于加载geoserver发布的地方坐标系的wms服务,一直都是用的WMSLayer这个调用…...

人工智能的发展方向:探索智能未来的无限可能
原创 | 文 BFT机器人 人工智能,简称AI,是一门专注于研究计算机如何能像人类一样思考、学习和解决问题的科学。它的创造初衷是构建一个智能系统,能模仿、模拟甚至实现人工智能的各种功能和行为,随着科技的持续进步,人工…...

【23秋软工第7周作业】项目选题
一、如何提出靠谱的项目建议,参见邹欣老师的博客:http://www.cnblogs.com/xinz/archive/2010/12/01/1893323.html 二、选题来源指导: 有创意和独创性的小项目 跟智能数据处理相关 候选题目可以参见课程主页 三、具体汇报任务: …...

谷歌云的利润增长才刚刚开始
来源:猛兽财经 作者:猛兽财经 总结: (1)自从Google Cloud(谷歌云)今年开始盈利以来,投资者都在怀疑这种盈利能力能否持续下去。 (2)虽然微软Azure目前在全球的人工智能竞…...

【Golang】简记操作:Centos安装、卸载、升级Golang运行环境
目录 安装 1、根据实际需求选择合适的golang版本 如下图,选择合适的版本,右键复制链接 2、在Centos选择合适的目录下载golang的源文件 3、解压golang的源文件,解压完成即可执行go命令 4、设置golang的全局环境变量(/etc/pr…...

开启生成式AI的探索之旅,亚马逊云科技分享生成式AI热门案例
现今,生成式AI为企业争先讨论的热门话题,上云出海为企业转型的重中之重。无论你是行业新贵还是中小企业,探索新的模式、创新迭代业务都是不容忽视的重点,下面就来介绍几个亚马逊云科技帮助企业创新的案例。 开启生成式AI的探索之旅…...

【Python机器学习】零基础掌握IsolationForest集成学习
如何有效地识别异常数据点? 在日常工作和生活中,经常会遇到需要从大量数据中找出异常或者“不一样”的数据点的情况。比如在金融领域,怎样从数以百万计的交易记录中准确地找出可疑的欺诈交易?又或者在电商平台,如何从海量的商品评论中找出那些刷好评或刷差评的异常数据?…...

GNN图神经网络入门
1.为什么会提出图神经网络? 答:为了处理图Graph这种特殊的数据结构。 2.为什么要与神经网络搭上关系? 答:利用神经网络能够拟合任意函数的能力(或者理解为强大的为特征变换能力)。 3.图神经网络的最终目的是…...

node 第十二天 npm补充 详解package-lock.json在团队协作中的作用
1.npm 是Node的开放式模块登记和管理系统,是Node.js包的标准发布平台,用于Node.js包的发布、传播、依赖控制 2.今天主要说的是package-lock.json在团队协作中的作用(yarn.lock也是一样), 其实在npm5之后和yarn的区别已经很小了 正常项目用哪个都行, 几乎…...

解决Visual studio 未能正确加载...包问题
问题 解决: 菜单: Visual Studio 2019 -> 输入"devenv /resetsettings " 将之前的设置恢复到原始状态。且可以正常使用。理论应该可以使用到其它版本中……...

Baumer工业相机堡盟工业相机如何使用BGAPISDK生成视频(C++)
Baumer工业相机 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机,可用于各种应用场景,如物体检测、计数和识别、运动分析和图像处理 Baumer的万兆网相机拥有出色的图像处理性能,可以实时传输高分辨率图像。此外,该相机还…...

CentOS 搭建本地 yum 源方式 安装 httpd 服务
CentOS 搭建本地 yum 源方式 安装 httpd 服务 修改 yum 源 挂载光驱 mkdir -p /mnt/cdrom mount /dev/cdrom /mnt/cdromvi /etc/fstab追加以下内容: /dev/cdrom /mnt/cdrom iso9660 defaults 0 0手动修改CentOS-Base.repo 备份 yum 源配置文件 mv /etc/yum.re…...

第二篇 渲染框架2.x
简介 整个渲染框架主要包含:用于控制场景中所有渲染节点的渲染状态的流程的RenderFlow。更新渲染数据、写入Buffer的Assembler。暂存数据的RenderData。数据缓冲区的MeshBuffer、quadBuffer、spineBuffer。包含着色器程序和渲染技术的Material。渲染指令数据的装载…...

k8s-----25、资源调度-ResourceQuota资源配额、资源限制limitrange、服务质量QoS
1、ResourceQuota资源配额 1.0 作用 命名空间资源配额。防止公司内部人员对资源的不合理利用。 1.1、为什么需要资源配额 1、作为k8s集群的管理员,知道集群的规模,会合理规划资源,但是使用侧不知道,会导致很多不合理的使用场景…...

Pytorch使用torchvision.datasets.ImageFolder读取数据集,数据集的内容排列状况
当使用torchvision.datasets.ImageFolder读取猫狗数据集时,dataset中存的图片是 猫狗猫狗猫狗猫狗 还是 猫猫猫猫狗狗狗狗 呢? 数据集文件的存放路径如下图 测试代码如下 import torch import torchvisiontransform torchvision.transforms.Compose([torchvision.transform…...

uni-app:引用文件的方法
绝对定位 ①import common from "/utils/common.js" ②import common from "utils/common.js" <template><view></view> </template> <script>import common from "/utils/common.js"export default {data() {ret…...

软件测试必备:如何编写测试用例?
前言 今天想和大家来聊聊测试用例,这篇文章主要是想要写给软件测试小伙伴们的,因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手,我就想和大家简单的聊聊,这篇文章主要是针对功能测试的哟。 同时,我也准备…...

windows安装数据库MySQL
windows安装数据库MySQL 文章目录 windows安装数据库MySQL一、MySQL官网下载压缩包二、在D盘新建文件夹D:\MySQL,将下载的压缩包解压到该文件夹下三、配置环境变量四、通过命令行模式安装、启用、配置SQL服务 一、MySQL官网下载压缩包 下载地址:https:/…...