Briefings in bioinformatics2022 | ABCNet:基于分治法的分子ImageToSMILES的DL架构

news/2024/4/25 17:51:33/文章来源:https://blog.csdn.net/justBeHerHero/article/details/127322013

论文标题:ABC-Net: a divide-and-conquer based deep learning architecture for SMILES recognition from molecular images

地址:ABC-Net: a divide-and-conquer based deep learning architecture for SMILES recognition from molecular images | Briefings in Bioinformatics | Oxford Academic

代码:https://github.com/zhang-xuan1314/ABC-Net/

现有的OCSR方法由于其恢复精度较差,远远低于现实要求的期望。为能产生SMILES,模型需要识别原子和键,并以特定的顺序排列原子。这极大地增加了识别难度,导致这种类型的模型的数据效率非常低,需要百万级的训练数据来达到良好的性能。此外,随着SMILES长度的增加,模型性能会迅速恶化

数据集:ChEMBL database,使用RDKit实现SMILES筛选。分子中超过50个非氢原子被剔除。随机抽取10万种化合物。

利用分治原则,将识别分子的问题转化为识别原子和键的问题:(A)原子和键的检测、(B)原子和键的辅助信息识别、(C)分子的重建

在模型训练阶段,使用多任务训练方法同时训练原子和键的检测任务以及其他辅助属性识别任务

一、模型:

将预测目标热图中的所有正像素点设为1,所有正像素点的一阶邻居设为0.95,其他位置设为0。当两个键中心在热图中太近甚至重叠时,这可能会导致键缺失,在分子图像中,重叠的键必须有不同的方向才能被区分。因此,将0-360个◦均匀地分成60个间隔(60个类别),一次进行60个二元分类任务,以确定在检测位置上是否有一个特定角度的键。在推理阶段,如下图D所示,通过在检测到的键位置搜索大于一定阈值的局部最大值来检测属于特定角度类别的键,对于相反的角度需要非最大抑制,因为对于相反角度的非立体键会有两个正响应,这代表相同的键。

重构算法结合神经网络输出构建graph输出

通过寻找原子和键热图中的峰点分别来检测原子和键中心。然后,通过寻找沿角度类别轴的局部最大值,可以在每个键中心检测到不同角度类别的键。根据指定的键中心和键角计算出键的长度,对于每个键,可以根据键的中心位置、键角和键长找到两个与这个键相连的原子。原子和键就可以组装成一个分子图。对于其他原子和键的性质,如原子的类型和键的类型,它们可以从原子和键的性质预测图的相应位置推断出来。

二、原子探测

Axy为点(x,y)是关键点的概率。

其中:S为下采样因子,w/h为原始图像。

 目标损失函数:

E是Image中原子关键点的数量,α是focal loss的超参数(所有实验α设为2),在推理阶段,热图中的峰是被检测到的原子中心,可通过MaxPooling2D实现。

原子检测后,可以在检测到的原子位置直接预测原子性质,点(x,y)为i类型原子的概率Txy,属性预测损失的计算不仅有ground truth,还有其邻居节点。目标函数为:

三、键探测

预测下采样图像中每个像素成为键中心的概率。将预测目标热图B∈[0,1]中的所有正点为1,一阶邻居设为0.95,其他位置设为0。然后使用惩罚减少的像素级二值焦损失作为训练目标:

F为Image中的键数,τ为focal loss的超参数。
利用热图O∈[0,1]检测B中检测到的候选键位置具有不同角度的键,60个二元分类任务,以确定在指定的角度是否存在键:

将预测目标热图B中的所有像素设为1,将预测目标热图中所有正点的一阶邻域设为0.95,其他位置设为0,然后采用与方程(3)相似的惩罚减少像素focal loss。

在推理阶段,首先通过 2D max-pooling从heatmap B中检测到候选键的位置,将角度分类的局部最大值作为键角。键的性质,如键的类型和键长的确定遵循与原子性质相同的策略。注意,由于键的长度属性是一个回归任务,使用MAE作为损失函数

四、训练过程

1、final loss:在训练过程中自动学习任务权重。 

2、Evaluation metrics

 其中Ntp、Ndetected和Ngt分别为真阳性、检测和ground truth的数量。

键长任务损失:

M为对应的任务样本总数。

Ntp和Ntn分别为真正数和真负数,N为对应的任务样本的总数。

评估最终的分子结构识别性能,使用了两个指标:准确性(Smiles与预测字符串的)和谷本相似度:

3、训练设置

需要化学结构的二维图像标记像素坐标,以及每个原子和键的相关属性。据我们所知,这种类型的数据集是不可用的,并且手动构建一个包含数千张图像的标记数据集是不可行的。分别用RDKit和Indigo的api分子图像进行描述,可以用于在绘图过程中标记图像。

进一步探索了不同的描述设置:改变原子标记模式,改变键厚,改变分子的取向,改变芳香度标记等。
数据集按8:1:1的比例分成三组(训练、验证和测试)

五、性能分析

每个任务的不同类别下都取得了良好的性能。不同原子的检测性能为>0.98,表明该模型在寻找原子物体方面非常有效。对于普通键,该模型表现良好,但对立体化学键略有下降。在原子电荷方面,ABCNet模型取得了非常令人满意的性能,超过0.99。

与OSRA、MolVec、Img2mol进行对比:

为评估ABCNet模型的泛化能力,进一步利用了UOB数据集作为外部测试数据集。图像的平均分辨率为762×412px,模型可以获得很好的性能,准确率超过95%

训练数据的数量对模型性能的影响。模型被训练来检测分子图像的组成元素(原子和键)。通常,在一幅图像中会有几十个原子和键。因此,训练样本大大超过了图像的数量。

当模型数据量达到80 000时,模型性能达到~95%。随着数据数量的增加,模型性能增长变慢,需要大量广泛的数据样本来获得进一步的微不足道的改进,这是耗时和不必要的。

分子图像噪声的影响。使用二值化图像作为输入,椒盐噪声是模拟实际噪声的最佳方法。

P是背景像素翻转到前景像素的概率,另一个参数为q是相反过程的概率。模型的性能随着噪声水平的提高而下降(上图c),但是如上图d所示,即使在严重的噪声下,模型也能正确识别分子结构的大部分。

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算智能】读书笔记 第十章节 Part1 模拟退火算法

文章目录1. 算法思想概念对照2. 算法基本流程算法流程图伪代码2.1 初始温度2.2 领域函数2.3 接收概率2.4 内层平衡2.5 终止条件写在最后1. 算法思想 模拟退火 (Simulated Annealing , SA) 算法的基本思想 早在 1953 年就巳经由Metropolis 提出 模拟退火算法的思想来源于物理退…

python序列的应用

序列 在python中,序列结果主要有列表,元组,集合,字典和字符串,对于这些序列结果有以下几个通用的操作。其中,集合和字典不支持索引,切片,相加和换乘操作 1.索引 序列中的每一个元…

为什么妈妈带娃容易崩溃,托班老师带那么多娃却不会?

很多家长都会有这个疑问:为什么托班的老师带这么多小朋友都能带得很好,而自己平时就带一个,却也架不住孩子各种作妖,分分钟就崩溃了? 因为身份不同。爱幼儿是老师们的天职,而爱孩子是母亲的天性。当这两种…

2022 年 TI 杯大学生电子设计竞赛具有自动泊车功能的电动车(B 题)

2022 年 TI 杯大学生电子设计竞赛具有自动泊车功能的电动车(B 题) 1.任务 设计制作具有自动泊车功能的电动车,可在图 1 所示的作品测试泊车场地上,分别独立完成“倒车入库/出库”或“侧方入库/出库”的单项操作,也可…

网络——TCP流量控制相关题目

一般来说,我们总希望数据传输的快一些。 但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失。 流量控制(flaw control)就是让发送方的发送速率不要太快,要让接收方来得及接收。 利…

网课答案在线查题公众号搭建

网课答案在线查题公众号搭建 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台&#xf…

Vue2:网易云播放音乐并实现同步一次显示一行歌词

目录一、项目数据API接口地址二、实现播放页面效果三、实现思路四、实现思路代码1、发送ajax请求获取歌词2、 处理歌词格式3、判定该显示哪句歌词4、代码部分五、整个页面完整代码一、项目数据API接口地址 API地址:https://neteasecloudmusicapi.js.org/#/ API文档…

[附源码]Java计算机毕业设计SSMjava抽奖系统设计

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Qt-FFmpeg开发-视频播放(1)

Qt-FFmpeg开发-视频播放【软解码】 文章目录Qt-FFmpeg开发-视频播放【软解码】1、概述2、实现效果3、FFmpeg软解码流程4、主要代码6、完整源代码更多精彩内容👉个人内容分类汇总 👈👉音视频开发 👈 1、概述 介四里沒有挽过的船新…

平衡二叉树的判定

修仙公元2022年,一男子试图突破二叉树大关,遇一问题: 给定一个二叉树的根节点,请判断是否为平衡二叉树(左右节点的高度绝对子小于等于1)。 该男子使用层序遍历大法,信誓旦旦的前往考核地点。 …

开源人脸识别系统compareface介绍

Exadel CompreFace是一种免费的open-source人脸识别服务,无需事先具备机器学习技能,即可轻松集成到任何系统中。CompreFace为人脸识别、人脸验证、人脸检测、里程碑检测、年龄和性别识别提供了REST API,并且易于与docker一起部署。 https://…

基于SSM的教师管理系统

项目技术栈 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用HTML和Vue相结合开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&…

【车道线检测】FOLOLane解读

文章目录一、概览二、具体阐述1. Introduction2. 模型head介绍(1) Key points estimation--网络第一个head(2) Local geometry construction--网络第二个head3. Network architecture4. Decoder for global geometry(1) Greedy decoder(精度高,但是效率低…

事务到底是隔离还是不隔离?

1. 引例 之前我们探讨过可重复读隔离级别下,事务T启动的时候会创建一个视图read-view。在事务T执行期间,即使有其他事务修改了数据,事务T看到的也是跟启动时一样的。 但是上次讲到行锁的时候,当事务T要更新当前行的时候&#xf…

Spring-Framework-ioc-4

1前言 2基本原理 3IOC容器 4Bean 5依赖 5.1依赖注入 5.2自动装配 自动装配,是一种自动化地进行依赖注入的机制,IOC容器使用此机制实现bean之间依赖关系的自动绑定,该机制具有如下的优点: 不需要显式地指定依赖的属性域、构…

基于STC89C52单片机的蔬菜大棚实时温度测量控制系统

目录 摘要 …………………………………………………………………………………I ABSTRACT II 第一章 设计任务及方案分析 1 1.1 设计任务及要求 1 1.2 设计总体方案及方案论证 1 1.3 温度测量的方案与分析 1 1.31芯片选择 1 1.32实现方法简介 2 1.33 方案设计 2 第二章 芯片简介…

Java基础(二):集合、IO流(Zip压缩输入/输出流等)、File文件类、反射、枚举

Java基础(一):编译和解释、数据类型、变量作用域、String常用方法、数组、面向对象、异常 Java基础(二):集合、IO流(Zip压缩输入/输出流等)、File文件类、反射、枚举 Java异常、继承结构、处理异常、自定义异常、SpringBoot中全…

数据库学习记录2

数据库学习记录1介绍了DDL (Data Definition Language) 数据定义语言。 在数据库学习记录2中,我们介绍常见的数据类型; 主要分为三类:数值类型、字符串类型、日期时间类型。 数值类型 类型大小有符号范围无符号范围描述TINYINT1byte(-128&…

生成模型笔记(七):自回归模型

有鸟止南方之阜,三年不翅,不飞不鸣,嘿然无声,此为何名? 第七部分 深度自回归模型(Deep Autoregressive Model, DARM) 参考内容 https://jmtomczak.github.io/blog/2/2_ARM.html A…

第二十三:Fiddler抓包教程(23)-Fiddler如何优雅地在正式和测试环境之间来回切换-上篇

一.简介 1.在开发或者测试的过程中,由于项目环境比较多,往往需要来来回回地反复切换,那么如何优雅地切换呢? 二.实际工作场景 1.问题场景 1.1.已发布线上APP出现接口错误,如何测试线上APP访问本地请求?…