【JMC】SMILES‑based deep generative scafold decorator for de‑novo drug design
SMILES-based deep generative scaffold decorator for de-novo drug design
基于SMILES的利用Fragment的分子生成模型
https://github.com/undeadpixel/reinvent-scaffold-decorator
1.背景
深度生成模型因其可以从有限的数量中生成新数据,目前已成功应用于生成文本、图像、视频等领域。令人关注的是,其在药物发现领域的重要作用,使得许多新方法可用于探索化学空间,例如RNN,VAE,GAN等。在这些模型中,常用两种方式来表示分子数据,一类是利用SMILES字符串,一类是利用分子图。基于SMILES字符串的模型因为SMILES字符串的简单结构可以使得模型更快的进行训练,并且2019年Josep Arús‑Pous等人提出的在分子生成模型中引入Randomized SMILES可以大大改善生成结果,使得模型的收敛效果更好,过拟合较少。但是由于SMILES本身语法的限制,其结构不允许从骨架(scaffold,即具有明确连接点的部分构建的分子,譬如去除一个化合物的所有取代基)中生成分子,当然在之前的研究中有学者利用双向RNN从两侧完善一个SMILES,可是这样使得连接点的个数局限于两个,另外虽然图神经网络可在无限定连接点的情况下装饰骨架,但是由于本身的实验性结构,从而要求在实验中进行大量的训练和采样。
作者提出了一种可以基于SMILES生成模型通过骨架生成分子的架构,该架构可以分两步生成分子,并且可以生成训练集,以帮助模型针对各种骨架进行泛化。此外,骨架和装饰器可以进一步过滤,只允许具有特定属性的骨架和装饰器。作者表明,通过过滤使装饰器模型能够学习有关如何装饰骨架的特定信息。
2.框架概括
整个分子生成过程可分为两个步骤:骨架生成器(scaffold generator)和装饰器(decorator)。生成器是基于Randomized SMILES的RNN,装饰器为编码器-解码器体系结构,其编码器是一个双向RNN,解码器是一个单向RNN。SMILES语法使用标记“[*]”进行了扩展,该标记由部分化学软件库支持,作为部分构建的分子中的连接点。
首先,由骨架生成器生成SMILES对应的fragment或者手动输入fragment生成Randomized SMILES,
之后将骨架输入到装饰器模型中,这里训练了两个装饰器,①、一个装饰器一次仅装饰一个连接点,②、另一个装饰器一次装饰所有连接点。在第一种情况下,模型会装饰骨架的SMILES字符串中的第一个连接点,然后将生成的装饰重新连接到骨架上,并将半构建的分子反馈到装饰器中。重复该过程,直到装饰了所有连接点。半装饰分子的随机SMILES表示在每个步骤都会改变,因此会移动SMILES字符串中连接点的相对位置。这个过程允许在装饰带有n个连接点的分子时考虑所有可能的排序。第二种情况装饰所有连接点时和第一种相似,但仅通过一步,使用“|”字符作为分隔按SMILES字符串中出现的顺序生成所有装饰。

3.训练集生成
装饰器模型需要训练集,其中每个item都包括骨架及其装饰,这里不是选择已经创建的化合物(例如专利数据),而是通过详尽地对分子数据库中的所有分子彻底删除c个非环键进行切片来创建数据集,将产生的碎片分为骨架和装饰。从分子切片中,如果不存在连接点数=c的片段,则将组合丢弃。这些item中的每一个("骨架装饰元组”)都由骨架和与其具有同样连接点的装饰组成。下图为DRD2拮抗剂桂利嗪切片的三种可能组合。

4.实验
(1)在DRD2上生成预测活性分子
骨架装饰器的主要目的是尽可能有意义地装饰任何输入骨架。在第一个实验中,一个小型数据集由4211个多巴胺受体D2(DRD2)活性调节剂组成,用于训练装饰器模型(多步和单步)。然后,这些模型在不同的骨架上进行了测试,这些骨架与训练集数据相似。从每个骨架中获得一系列分子,然后使用活性预测模型(APM)将其与随机装饰的分子进行比较。
首先通过除去具有五个随机选择的骨架的所有元组以及从具有这些骨架的152个分子中的任何一个获得的所有元组,来提取由5532个骨架装饰元组组成的验证集。

使用多步装饰器模型对五个选定的骨架进行多次装饰,从上表可以看出,总共产生14,300个独特的分子,其中包括验证集中存在的63个分子(占41.4%),预测的活性分子的百分比始终低于从装饰的分子中获得的百分比。
从使用训练集中的骨架训练的分子生成模型中采样然后使用多步骨架装饰模型进行多次装饰。结果表明,预测为有活性的生成分子的比例通常很高,从45.4%增至98.9%(表2)。但是最重要的是,装饰分子始终比ChEMBL和训练集诱导剂具有更高的预测活性分子比。

另外,通过单步结构模型装饰骨架结果表明,单步结构模型能够从验证集中生成152个分子中的90个(59.2%)。尽管比多步模型更好,但其实多步模型和单步模型之间的比较必须相对进行,因为多步体系结构采样过程的性质不允许控制要采样的分子数量。
作者在此实验中对生成分子相似性也做了研究,从训练集中的分子样本,两个骨架集和两个诱导剂集产生的分子样本中,分别计算出四个数值:分子质,cLogP, SA得分和QED,得出用装饰模型生成的分子比诱导剂更倾向于遵循训练集分布。
(2)用合成化学感知模型装饰骨架
在第二个实验中,通过使用仅由符合合成化学RECAP规则的键连接的装饰和类药骨架进行训练的装饰器模型,ChEMBL数据库得到使用和过滤。。与之前的实验一样,两组骨架:一组仅存在于验证集中的42个骨架,以及一组由生成模型生成的不在ChEMBL数据集的40个骨架。使用多步装饰器模型对两组骨架进行多次装饰,每个骨架平均总共可产生12294和11504个不同的分子。验证集件骨架上装饰的分子占35.4%,结果略低于DRD2实验中的结果。

上图验证了生成的分子的质量。结果表明装饰模型能够创建分子,这些分子除了在连接点上满足RECAP规则外,还具有类药物性,并且可以在任何骨架下合成。
另外,还使用与多步装饰器相同的超参数和训练集对单步装饰器模型进行了训练,装饰了相同的骨架组,当计算上一节中所述的值时,下表可以看出整体性能稍差。

5.总结
- 作者提出了一种新的基于SMILES的分子生成模型,该模型可以从骨架生成分子。
- 除此之外,还定义了一种算法,通过穷尽地切片分子的无环键并获得所有可能的组合,将任意分子集处理为由骨架装饰元组组成的集合。
- 此外,它是一种数据增强技术,可以很容易地与随机SMILES结合使用小型分子集获得更好的结果,该模型可以直接与各种已提出的技术结合,例如强化学习和迁移学习,以进一步指导分子的产生。
感觉他这种切分方式很重要
J. Cheminform. | 基于SMILES的利用骨架的分子生成模型 - 知乎
相关文章:
【JMC】SMILES‑based deep generative scafold decorator for de‑novo drug design
SMILES-based deep generative scaffold decorator for de-novo drug design 基于SMILES的利用Fragment的分子生成模型 https://github.com/undeadpixel/reinvent-scaffold-decorator 1.背景 深度生成模型因其可以从有限的数量中生成新数据,目前已成功应用于生成…...
全链路异步,让你的 SpringCloud 性能优化10倍+
背景 随着业务的发展,微服务应用的流量越来越大,使用到的资源也越来越多。 在微服务架构下,大量的应用都是 SpringCloud 分布式架构,这种架构,总体是全链路同步模式。 同步编程模式不仅造成了资源的极大浪费&#x…...
131.《router v 5 与 react-router v 6》
文章目录1.什么是路由2.路由分类3.react-router-dom的理解4. react-router-dom相关API5.其他6. react-router5 路由基本使用1.效果2.代码App.js一级路由home.js下的二级路由7.路由传参的三种方式8.react-router6 基本使用1.一级路由2.二级路由3.hooksuseRoutesuseParamsuseSear…...
2023第十届北京老年产业博览会/中国养老护理人才培育计划
CBIAIE北京老博会,打造2023年度唯具参展价值的老年行业盛会; 北京老博会:2011年,我国首场以“老年产业”为主题,一场专注于老年福祉、健康的国际型行业发展盛会,中国(北京)国际老年…...
STM32F407VET6 / BLACK_F407VE开发板间隔0.5秒不断重启
有一块 STM32F407VET6 的故障开发板, 之前的问题是经常无法烧录, 必须reset之后才能连接, 具体查看这篇 STM32F407VET6烧录出现flash download failed target dll has been cancelled. 并且程序运行一段时间后会halt. 这块开发板后来一直搁箱底吃灰了几年. 最近打算把这片 STM…...
什么是圈复杂度
圈复杂度是一种软件度量指标,用于度量程序中的控制流程的复杂性。它是通过计算程序中独立路径的数量来确定的。简单来说,圈复杂度是指在一个函数或模块中有多少个独立的路径,也就是说,有多少个不同的输入序列可以导致不同的执行路…...
Hbase 数据迁移
Hbase 数据迁移 可选方案对比 l 已验证方案操作说明: n Export&import u 导出命令及示例 hbase org.apache.hadoop.hbase.mapreduce.Export “表名” 文件路径 导出至本地文件系统: ./bin/hbase org.apache.hadoop.hbase.mapreduce.Export ‘defa…...
Docker consul的容器服务更新与发现
一、Consul概述(1)什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分…...
数据库关系模型
关系模型简述 形象地说,一个关系就是一个table。 关系模型就是处理table的,它由三个部分组成: 描述DB各种数据的基本结构形式;描述table与table之间所可能发生的各种操作;描述这些操作所应遵循的约束条件࿱…...
你是真的“C”——详解指针知识
你是真的“C”——详解指针知识😎前言🙌1、 指针是什么?🙌2、指针和指针类型🙌2 、1指针-整数2 、 2指针的解引用3、 野指针🙌3、 1野指针成因3、 2如何规避野指针4、指针运算🙌4、1 指针-整数4…...
React/ReactNative面试攻略(偏RN)
useMemo Vs useCallBackuseMemo第一个参数返回的是值,useCallBack返回的是函数useMemo和useCallBack第二个参数都是依赖项useMemo避免组件非依赖项更新时参数的计算useCallback避免父组件非依赖项更新时造成子组件的重复渲染React.memo 使用场景纯prue组件ÿ…...
Leetcode-每日一题1234. 替换子串得到平衡字符串(滑动窗口 + 哈希表)
题目链接:https://leetcode.cn/problems/replace-the-substring-for-balanced-string/description/ 思路 题目意思 这题意思是一个只含有[Q, W, E, R] 四个字符的字符串s且长度一定是 4的倍数, 需要你通过替换子串,使他变成一个「平衡字符…...
linux命令小结-查看日志命令
一、查看日志命令cat查看文件 vi编辑后可以用cat进行查看保存是否成功1)cat -n alert_monitor.log2)cat -n alert_monitor.log | tail -n 100 | head -n 20 //查询100行之后的日志,且在100行之后里再查前20条日志more 可以通过回撤键翻页mor…...
Java知识点细节简易汇总——(8)枚举和注解+Java面向对象高级作业
一、枚举 自定义枚举 当我们使用 enum 关键字开发一个枚举类时,默认会继承 Enum 类, 而且是一个 final 类[如何证明],老师使用 javap 工具来演示传统的 public static final Season2 SPRING new Season2(“春天”, “温暖”); 简化成 SPRING(“春天”, “温暖”)…...
快速上手JVM- Java Virtual Machine面试不用慌
一、JVM的定义 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,J…...
安警官的IP地址是怎样定位到莽村附近的?
要说最近大火的电视剧非《狂飙》莫属。电视剧《狂飙》自开播以来,一举超过《三体》《去有风的地方》等先播电视剧,收视率一路“狂飙”,牢牢占据近期的收视冠军。 在剧中,张译扮演一名坚持公平、正义与理想的人民警察“安欣”&…...
STL中重要容器vector总结
你要尽全力保护你的梦想。那些嘲笑你的人,他们必定会失败,他们想把你变成和他们一样的人。如果你有梦想的话,就要努力去实现。 ——《当幸福来敲门》引言:C中STL里面的容器用法很巧妙,可以解决很多复杂的模型ÿ…...
11_会话原理与实现流程
1、会话的基本知识 # 会话## 1.会话是什么?客户端与服务器之间的对话交流## 2.为什么需要会话?-http 协议是无状态的(六亲不认)-同一用户多次访问同一网站,对网站来说,每次都是全新的-网站不能识别用户身份…...
Java测试——junit的使用(2)
排序 我们同一个类下的多个用例的执行顺序是不确定的,如果需要指定固定的顺序,则需要在类上加这个注解 TestMethodOrder(MethodOrderer.OrderAnnotation.class)然后在想要第一个执行的用例上加上 Order(1)第二个执行的用例上注解: Order(…...
数据库(六): MySQL的主从复制和读写分离
文章目录一、为什么要使用主从复制和读写分离二、主从复制的原理三、如何实现主从复制3.1 master配置3.2 slave配置3.3 测试主从复制四、读写分离五、缺点一、为什么要使用主从复制和读写分离 注意到主从复制和读写分离一般是一起使用的。目的很简单,就是提高数据库…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
高防服务器价格高原因分析
高防服务器的价格较高,主要是由于其特殊的防御机制、硬件配置、运营维护等多方面的综合成本。以下从技术、资源和服务三个维度详细解析高防服务器昂贵的原因: 一、硬件与技术投入 大带宽需求 DDoS攻击通过占用大量带宽资源瘫痪目标服务器,因此…...
