bioinformatics2022 | Sc2Mol+:使用VAE和Transformer的两阶段基于骨架的分子生成

news2024/11/18 11:23:16

原文标题:Sc2Mol:a scaffold-based two-step molecule generator with variational autoencoder and transformer

论文地址:Sc2Mol: a scaffold-based two-step molecule generator with variational autoencoder and transformer | Bioinformatics | Oxford Academic

代码链接:https://github.com/aspuru-guzik-group/chemical_vae.

一、思想

通常分子生成的表征为SMILES string或者Graph。包括两个任务:分布学习(从给定数据集中学习分布,并随机抽样生成与具有与训练数据集相似的新分子)+分子优化(根据给定的生成分数,修改输入分子)。

分子生成应当同时支持随机从头生成+先导分子优化。(这个想法和分子生成应当性质驱动的生成模型应当擅长性质识别的想法都很棒,可以融合)

性质驱动的生成模型应当擅长性质识别:Nat. Mach. Intell 2023 | RT:首个统一分子性质预测(回归) 与条件生成的模型_羊飘的博客-CSDN博客

首先通过变分自编码器(VAE)生成仅包含碳原子和单键的骨架 ( VAE提供了支架分布以寻找新的骨架)。然后,通过transformer改变原子和键类型来丰富生成的骨架,从而产生具有所需属性的分子(见图1)。我们的模型不需要额外的专业知识,例如语法规则和预定义的子结构,并从随机变量或给定骨架生成分子。

二、Materials and methods

1、Problem formulation

使用SMILES,使用原分子x = [x1,x2,...,xl],生成新分子y=[y1,y2,...,yl']

2、Scaffold generation

假设潜在先验分布是标准正态分布。单个字符用one-hot向量表示,输入SMILES字符串可以用矩阵表示。对embedding E:

通过对字符串和残差连接堆叠m个gated卷积神经网络(GatedConv)来实现VAE:

然后使用maxpool层,接两个全连接层得到mean,var,拟合分布:

得到latent vector z, 解码器重构SMILES:

对通用C scaffold建模,然后从空间抽取随机变量构建骨架,支持scaffold hopping

3、Scaffold decoration

通过transformer装饰骨架。骨架只是一个概率矩阵,且argmax是不可微的,因此,在训练过程中采用teacher forcing(ground truth scaffold)避免不可微,对于transformer的输入如下:

4、End-to-end style training of the VAE and transformer

VAE:

Transformer:

总损失:

训练

5、Two types of molecule generation

允许两种类型的生成。

从正态分布中随机抽取一个变量,没有任何专业知识,使用VAE和transformer解码器获取分子

输入骨架,基于骨架获取适当的原子和键的分子

在模型中添加一个有效性检查组件(用于根据SMILES语法对生成的分子进行筛选,如果无效就抛弃继续生成)。

三、Experiments

1、Dataset

MOSES数据集(分子量150-350Da,无带电原子,无大于8个原子的环,原子仅仅限于H,C,N,O,F,S,Cl,Br)。分子都是药物样(通过药物化学过滤器+PAINS过滤器)

160W训练 + 17.6W测试+ 17.6W新骨架集

 2、Experiment setting

维数d为256,潜在维数dz为64; VAE和transformer都有一个三层编码器和一个三层解码器。VAE中所有门控卷积层的核大小为3,步长为1。transformer采用heads=4,feedforward=1024。将batch size为64,采用Adam优化器,drop-out rate为0.1。

RDKit 进行数据预处理,并在NVIDIA GeForce GTX 1080 Ti GPU,Tensorflow

3、Baselines

4、Evaluation measures

任务1:从标准正态分布中随机抽取了3W个样本,这些样本是VAE decoder和transformer的输入。

Metrics:Validity、Uniqueness、Novelty,Recovery

检查了分子量的分布,计算了辛醇-水分配系数(logP) 和药物相似性(QED)的定量估计

任务2和任务3:从测试/新支架组中随机选择3W个分子并提取骨架,然后将其作为整个模型的输入。

Metrics:Recovery(所需有效生成的分子(与测试集中相应的参考分子相同)与完全有效生成的分子的比率)、Similarity(生成分子的指纹[半径为2的1024位扩展连接指纹(ECFP4) ]与测试集中相应参考分子的平均谷本相似度)、Scaffold similarity (SS)(生成的分子骨架指纹与测试集中对应参考分子骨架指纹的平均谷本相似度。中等SS是有利的,因为高SS意味着没有新的支架,低SS意味着在不考虑输入支架的情况下任意生成)

5、Results

Task 1: Random generation

由于受益于有效性检查组件,模型也实现了100%的有效性。

图3a JTVAE和模型显示出更接近训练集的分布。对于QED(可以受到更多物理特征的影响,例如分子的极性表面积),由于JTVAE预定义了子图词汇表,因此JTVAE的分布与训练集最相似。

在没有任何先验知识的情况下,模型使分布稍微偏离训练集,而CharVAE使其偏离得更大。MoFlow生成的大多数分子QED明显较低,其分布与训练集距离较远

Task 2: Test scaffold transformation

获得了最好的有效性,唯一性和相似性,甚至恢复了一些(4.93%)所需的参考分子,尽管其新颖性有所下降。我们的模型的SS也下降到一个中等值(72.94%),表明模型总体上表现最好

图3b显示了Task 2生成的分子的分子量、logP和QED的分布。除CharVAE外,各组分分子量分布基本相似。对于logP和QED, CharVAE和JTVAE的分布与其他分布没有明显的重叠。

Task 3: Novel scaffold transformation

图3c显示了所有模型生成的分子分布。结果与Task 2完全一致。

Ablation study

由于SMILES语法检查的成本很低,并且即使没有有效性检查,模型仍然可以达到可接受的有效性,因此向我们的模型引入有效性检查不会增加相当大的计算量

Examples of the generated molecules

Case study 1: Auglurant

Case study 2: Benzodiazepines

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543560.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3 分钟利用 FastGPT 和 Laf 将 ChatGPT 接入企业微信

原文链接:https://forum.laf.run/d/556 FastGPT 是一个超级🐮🍺的 ChatGPT 平台项目,功能非常强大: ✅ 集成了 ChatGPT、GPT4 和 Claude ✅ 可以使用任意文本来训练自己的知识库、文档库,而且知识库专有模…

无人值守的IDC机房动环综合运维方案

企业数字化转型以及5G、物联网、云计算、人工智能等新业态带动了数据中心的发展,在国家一体化大数据中心及“东数西算”节点布局的推动下,数据中心机房已成为各大企事业单位维持业务正常运营的重要组成部分,网络设备、系统、业务应用数量与日…

16-01 云平台分类和思考

云环境的分类 混合云 为什么选择混合云 混合云网络互联 入口层分流 CDN内容分发网络 CDN工作原理 Captcha图灵测试 SLB软件负载均衡器 SDN:软件定义网络网络层次:通用网络(2-4层)和HTTP(5-7层)多种实现…

Espresso Sequencer:针对Rollup生态的Decentralized Shared Sequencing Layer

1. 引言 前序博客: Rollup去中心化Rollup DecentralizationAztec 征集 Rollup Sequencer去中心化提案Espresso Sequencer:去中心化RollupsRadius:针对Rollup生态的Trustless Shared Sequencing层 当前的L2 Rollup方案在扩容的同时&#xf…

Maven的生命周期详解

目录 一、生命周期(cleansitedefault)1、生命周期与插件的关系2、maven的三套生命周期3、生命周期执行规则 二、Maven插件(plugin)1、两种类型的插件2、调用插件有两种方式3、内置绑定4、自定义绑定插件 三、官网查找插件 本篇文章…

《Go专家编程(第2版)》书评

首先感谢官方的肯定,让我在【图书活动第四期】的活动中获得了《Go专家编程(第2版)》这本书,以下是从我的观点对这本书的书评 文章目录 前言书籍部分读者评价总结 前言 很高兴有机会写一篇关于《Go专家编程(第2版)》的书评。大致读…

Scrum进入疲惫期?三点帮你走出困境

《敏捷软件开发》中提到:“Scrum可以帮助团队更好地应对变化和不确定性,以及更快地响应客户需求。通过持续的反馈和改进,Scrum可以提高团队的适应性和灵活性。” 然而,有些团队在使用Scrum后,却出现了工作任务越来越多…

在线搭建产品FAQ常用问题的网页Tips清单

在线搭建产品FAQ(常见问题解答)页面,是现代企业建立客户服务体系中的重要组成部分,旨在通过提供问题解答,为客户提供更好的用户体验。 在线搭建产品FAQ网页的常用Tips清单: 确定FAQ的主题和范围 在创建FAQ…

c# 自定义安装程序路径(设置安装路径多一层目录)+卸载前执行操作

打包成setup.exe的完整流程可以参考:将WinForm项目打包成exe安装包,并创建快捷方式 (vs2019)_winform发布成exe-CSDN博客 以下内容默认大家已经知道打包的完整流程。 一、自定义安装目录 真的好讨厌安装程序直接安装到选择的路径,不新建目录…

【006】C++数据类型之进制间的转换

C数据类型之进制间的转换 引言一、进制的概述二、十进制转二进制、八进制、十六进制(短除法)三、二进制、八进制、十六进制转十进制(位次幂)四、其他进制间的转换4.1、二进制转八进制4.2、二进制转十六进制4.3、八进制转二进制4.4…

Ubuntu18.04+Xenomai-3.2.1下安装igH EtherCAT Master

一、安装Xenomai-3.2.1 Ubuntu18.04安装Xenomai实时内核https://blog.csdn.net/m0_56451176/article/details/130608887?spm=1001.2014.3001.5501 二、安装igH EtherCAT Master 2.1安装所需工具 sudo apt install autoconf autogen libtool 2.2下载IgH源码 EtherCAT安装…

赤道Kelvin和Rossby波 Part-1(简要介绍)

Equatorial Kelvin and Rossby Waves 赤道Kelvin和Rossby波;在该部分简要介绍 Kelvin waves和Rossby waves是海洋对西风突发等外界作用力变化的调整方式。这种调整是通过受重力、科氏力f以及科氏力的南北变化 ∂ f / ∂ y β \partial f/\partial yβ ∂f/∂yβ影响…

基于脑功能连接模式解码六种基本情绪

近日,北京大学心理认知与科学学院、IDG麦戈文脑科学研究所方方课题组,在《Science China Life Sciences》 在线发表了题为“Decoding six basic emotions from brain functional connectivity patterns”的研究论文。该工作结合滑窗技术和随机森林模型&a…

为了流量,何同学做了个“假B站”?

何同学是B站知名数码博主,凭借优秀的视频制作能力,内容创新获得广大年轻用户的喜欢。 2021年的时候,UP主老师好我叫何同学就发布了一条制作AirDesk的视频,随后迅速在社交媒体中引发了大量关注。 当时,该视频为B站全站…

ROS:launch文件加载:已有地图(yaml)、rviz、turtlebot3模型、gazebo模型、move_base、amcl

一.下载turtlebot3、建立地图文件yaml和pgm ROS:gazebo创建仿真地图,turtlebot3加载仿真地图进行建图,生成yaml和pgm地图信息_Charlesffff的博客-CSDN博客 二.创建目录 其中amcl.launch和move_base.launch目录在turtlebot3中: 其…

把二叉搜索树转换为累加树

1题目 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒一下,二叉搜索树满足下列约束条件…

jpg怎么转换成png格式?四种转换方式试试看

很多时候,我们需要将JPG(Joint Photographic Experts Group)格式转换成PNG(Portable Network Graphics)格式,从而便于图片的使用。那么,将JPG转换成PNG有什么作用呢?首先&#xff0c…

【LeetCode】203,移除链表元素。 难度等级:简单。链表入门题目,值得深入研究。

文章目录 一、题目二、解答:迭代法,引入一个新的头结点三、难点解释 【LeetCode】203,移除链表元素。 难度等级:简单。 本题是链表入门题目,值得深入研究。 一、题目 二、解答:迭代法,引入一个…

Kali-linux使用SET实施攻击

前面介绍了社会工程学工具包(SET)的简单使用。为了能帮助用户更容易的理解社会工程学的强大功能。本节将介绍使用社会工程学工具包实施各种攻击。 7.4.1 针对性钓鱼攻击向量 针对性钓鱼攻击向量通过构造特殊文件格式的漏洞进行渗透攻击,如利…

python实现神经网络之---构建神经元模型1(python3.7)

本文主要要以周志华的机器学习书为蓝本编写 第5章神经网络 5.1python 实现神经元模型 神经网络中最基本的成分是神经元 (neuro且)模型,如下图所示: 1943 年, [McCulloch and Pitts, 1943] 将上述情形抽象为国 5.1所示的简单模型&#xff0c…