ImageMol

article/2025/10/11 3:46:15

ai圈也是卷的狠啊~~  又发现一个全球首个分子图像自监督学习框架来也

分子是维持物质化学稳定性的最小单位。对分子的研究,是药学、材料学、生物学、化学等众多科学领域的基础性问题。

分子的表征学习(Molecular Representation Learning)是近年来非常热门的方向,目前可分为诸多门派:

  • 计算药学家说:分子可以表示为一串指纹,或者描述符,如上海药物所提出的 AttentiveFP,是这方面的杰出代表。

  • NLPer 说:分子可以表示为 SMILES(序列),然后当作自然语言处理,如百度的 X-Mol,是这方面的杰出代表。

  • 图神经网络研究者说:分子可以表示为一个图(Graph),也就是邻接矩阵,然后使用图神经网络处理,如腾讯的 GROVER, MIT 的 DMPNN,CMU 的 MOLCLR 等方法,都是这方面的杰出代表。

但是,目前的表征方法仍存在一些局限性。比如,序列表征缺乏分子的显式结构信息,现有图神经网络的表达能力仍有诸多局限(中科院计算所沈华伟老师对此有论述,见沈老师报告“图神经网络的表达能力”)。

有趣的是,在高中化学学习分子的时候,我们看到的是分子的图像,化学家在设计分子时,也是对照分子图像进行观察和思考。一个自然的想法油然而生:“为什么不直接用分子图像来表征分子呢?”如果可以直接用图像来表征分子,那 CV(计算机视觉)里面的十八般武艺,不都可以用来研究分子吗?

说干就干,CV 里面的模型那么多,拿过来学习分子呗?打住,还有一个重要的问题——数据!特别是带标签的数据!在 CV 领域,数据标注这件事似乎并不困难。对于图像识别或者情感分类这些 CV 和 NLP 的经典问题来说,一个人平均能标注 800 条数据。但是在分子领域,只能通过湿实验和临床实验的方式评估分子性质,因此带标签的数据非常稀缺。

基于此,来自湖南大学的研究者们提出了全球首个分子图像的无监督学习框架 ImageMol,利用大规模无标签分子图像数据进行无监督预训练,为分子性质与药物靶点理解提供了新范式,证明了分子图像在智能药物研发领域具有巨大的潜力。该成果以 “Accurate prediction of molecular properties and drug targets using a self-supervised image representation learning framework” 为题发表于国际顶级期刊《Nature Machine Intelligence》。此次计算机视觉与分子领域交叉取得的成功展示了利用计算机视觉技术理解分子性质与药物靶点机制的巨大潜力,并为分子领域的研究提供了新的机遇。

 

论文链接:https://www.nature.com/articles/s42256-022-00557-6.pdf

模型结构

ImageMol 的整体架构如下图所示,总共分为三部分: 

(1) 设计一个分子编码器 ResNet18(浅蓝色),能够从约 1000 万张分子图像中提取潜在特征 (a) 。

(2)考虑分子图像中的化学知识和结构信息,利用五个预训练策略(MG3C、MRD、JPP、MCL、MIR)来优化分子编码器的潜在表示 (b) 。具体来说为:

① MG3C(Muti-granularity chemical clusters classification 多粒度化学簇分类):其中的结构分类器 Structure classifier(深蓝色)用于预测分子图像中的化学结构信息;

② MRD(Molecular rationality discrimination 分子合理性判别器):其中的合理性分类器 Rationality classifier(绿色),它用于区分合理与不合理的分子;

③ JPP(Jigsaw puzzle predicition 拼图预测):其中的拼图分类器 Jigsaw classifier(浅灰色)用于预测分子的合理排列;

④ MCL(MASK-based contrastive learning 基于 MASK 的对比学习):其中的对比分类器 Contrastive classifier(深灰色)用于最大化原始图像和 mask 图像之间的相似性;

⑤ MIR(Molecular image reconstruction 分子图像重建):其中的生成器 Generator(黄色)用于将潜在特征恢复分子图像,判别器 Discriminator(紫色)用于区分真实图像和生成器生成的假的分子图像。

(3)在下游任务中对预处理的分子编码器进行微调,以进一步提高模型性能 (c) 。

基准评估

作者首先使用 8 种药物发现的基准数据集来评估 ImageMol 的性能,并且使用两种最流行的拆分策略(scaffold split 与 random scaffold split)来评估 ImageMol 在所有基准数据集上的性能。在分类任务中,利用受试者工作特性(Receiver Operating Characteristic, ROC)曲线以及曲线下的面积(Area Under Curve, AUC)来评估,从实验结果可以看出,ImageMol 均能得到较高的 AUC 值 (图 a) 。

ImageMol 与预测分子图像的经典卷积神经网络框架 Chemception 在 HIV 和 Tox21 的检测结果对比 (图 b) ,ImageMol 的 AUC 值更高。本文进一步评估了 ImageMol 在预测五种主要代谢酶(CYP1A2, CYP2C9, CYP2C19, CYP2D6 和 CYP3A4)药物代谢方面的性能。图 c 显示,ImageMol 在五种主要药物代谢酶的抑制剂与非抑制剂的预测中,与三种最先进的基于分子图像的表示模型(Chemception46、ADMET-CNN12 和 QSAR-CNN47)相比,获得了更高的 AUC 值(范围从 0.799 到 0.893)。


本文进一步将 ImageMol 的性能与三种最先进的分子表示模型进行了比较,如图 d、e 所示。ImageMol 与使用随机骨架划分的基于指纹的模型(如 AttentiveFP)、基于序列的模型(如 TF_Robust)和基于图的模型(如 N-GRAM、GROVER 和 MPG)相比具有更好的性能。此外,与传统的基于 MACCS 的方法和基于 FP4 的方法相比,ImageMol 在 CYP1A2,CYP2C9,CYP2C19,CYP2D6 和 CYP3A4 上实现了更高的 AUC 值(图 f)。

 ImageMol 与基于序列的模型(包括 RNN_LR、TRFM_LR、RNN_MLP、TRFM_MLP、RNN_RF、TRFM_RF 和 CHEM-BERT)和基于图的模型(包括 MolCLRGIN、MolCLRGCN 和 GROVER)相比,如图 g 所示,ImageMol 在 CYP1A2、CYP2C9、CYP2C19、CYP2D6、CYP3A4 上实现了更好的 AUC 性能。

 在以上 ImageMol 与其他先进的模型对比中,可以看出 ImageMol 的优越性。

自新冠疫情爆发以来,我们迫切需要为新冠疫情制定有效的抗病毒治疗策略。因此,作者在该方面对 ImageMol 做了相应的评估。

对 13 个 SARS-CoV-2 靶点的抗病毒活性进行预测

ImageMol 对现如今关注的热点病毒 SARS-CoV-2 进行了预测实验,在 13 个 SARS-CoV-2 生物测定数据集中,ImageMol 实现了 72.6% 至 83.7% 的高 AUC 值。图 a 揭示了通过 ImageMol 鉴定的潜在特征,它在 13 个靶点(target)或终点(endpoints)活性和无活性的抗 SARS-CoV-2 上很好的聚集,且 AUC 值均比另一种模型 Jure’s GNN 要高 12% 以上  ,体现出该模型的高精度和很强的泛化性。

识别抗 SARS-CoV-2 抑制剂

对药物分子研究关乎最直接的实验来了,利用 ImageMol 直接识别病毒抑制剂分子!通过 ImageMol 框架下 3CL 蛋白酶(已被证实是治疗 COVID-19 的有希望的治疗发展靶点)抑制剂与非抑制剂数据集的分子图像表示,该研究发现 3CL 抑制剂和非抑制剂在 t-SNE 图中很好地分离,如下图 b 。

另外,ImageMol 鉴定出 16 种已知 3CL 蛋白酶抑制剂中的 10 种,并将这 10 种药物可视化到图中的包埋空间(成功率 62.5%),表明在抗 SARS-CoV-2 药物发现中具有较高的泛化能力。使用 HEY293 测定来预测抗 SARS-CoV-2 可再利用药物时,ImageMol 成功预测了 70 种药物中的 42 种(成功率为 60%),这表明 ImageMol 在推断 HEY293 测定中的潜在候选药物方面也具有很高的推广性。下图 c 展示了 ImageMol 在 DrugBank 数据集上发现 3CL 潜在抑制剂的药物。图 d 展示了 ImageMol 发现的 3CL 抑制剂的分子结构。

 

注意力可视化

ImageMol 可以从分子图像表示中获取化学信息的先验知识,包括 = O 键、-OH 键、-NH3 键和苯环。图 b 和 c 为 ImageMol 的 Grad-CAM 可视化的 12 个示例分子。这表示 ImageMol 同时准确地对全局 (b) 和局部 (c) 结构信息进行注意捕获,这些结果使研究人员能够在视觉上直观地理解分子结构是如何影响性质和靶点。            whaosoft aiot  http://143ai.com 

 


http://chatgpt.dhexx.cn/article/eWnlDtru.shtml

相关文章

Morphological image processing

目录 基本思想: 一.集合论基础 1.集合的概念 2.集合间的关系和运算 二.二值形态学的基本运算 1.腐蚀 (1)概念 (2)结构元素形状对腐蚀运算结果的影响 (3)腐蚀运算在物体识别中的应用 2…

实用的图片批量压缩优化工具

ImageOptim ImageOptim 支持 PNG/JPEG/GIF 动画,本质是各种影像优化工具的图形前端:AdvPNG、OptiPNG、Pngcrush、JpegOptim、jpegtran、Gifsicle 和 PNGOUT素材。 ImageOptim软件非常小! 2.6M而已ImageOptim操作非常非常非常快捷&#xff01…

【UNI APP】globalData全局变量

uni-app 在app.vue文件export default里面定义globalData,在当前文件(app.vue)里面获取globalData需要用this.$options.globalData获取,其他文件则用getApp().globalData获取。 this.$options是用来获取自…

uniapp 全局数据(globalData)的设置,获取,更改

因为uniapp基本上都是将页面,或者页面中相同的部分,进行组件化,所以会存在父,子,(子,父)之间的传值的情况,但在某些情况下,可以选择将内容设置为一个全局的变…

微信小程序定义和调用全局变量globalData

先看看文件结构: 1.现在app.js里面定义globalData对应的全局变量 2.然后在其他js文件进行调用。例如在photo.js里面 要注意的是需要在文件开始的时候初始化 app这个对象 //获取应用实例 const app getApp()

微信小程序:globalData和Storage数据存储的错误示例

前言 在小程序登录是,将返回的用户数据,存储在globalData中和storage中。 // 存储的数据是一个对象 wx.setStorageSync(userAuthData, user.data.data); this.globalData.userAuthData user.data.data; 之前,数据更新了,为了避…

uni-app之全局变量globalData的使用

一般访问请求的时候,baseurl我们都会用变量来代替,所以我们一半会把大量这种常用的,但是又不会经常变动的数据变成一个常量--globalData export default {onLaunch: function() {},onShow: function() {console.log(App Show)},onHide: function() {console.log(App Hide)},glo…

微信小程序中的共享数据 : globalData

和vue中的vuex作用相同,都是用于设置给所有页面都可以使用的数据的。 globalData在app.js中,它是一个对象,在里面设置要使用到的共享数据。 我们在其他页面要使用globalData中的数据时,首先如下: let app getApp() …

在uniapp中监听globalData中的值变化

小程序里怎么去监听app.js里的globalData数据变化呢 1、先再app.vue 中定义一个全局数据对象globalData,再对象里定义好相应的属性与属性值 globalData:{count:0 },methods:{watch:function(method,istr){var objthis.globalDataconsole.log(obj)Objec…

微信小程序中全局共享数据globalData的使用

1.全局共享数据 全局共享数据的两种方式 通过Vue原型共享数据通过globalData共享数据vuex本地存储 1)在Vue实例原型属性上添加属性,其他任何页面预想使用,直接使用this获取到, 比如: 主要代码:(在入口文件mian.js中) import request from ./utils/request Vue.prototype.re…

Vue全局共享数据之globalData,vuex,本地存储使用方法

目录 一、globalData 二、vuex存储方式 1.vue2用法,2.vue3用法 三、本地存储 uniapp的数据缓存 写在最前面,把vue能用到的存储方法都整理拿出来,方便阅读以及工作用。🍉🍉🍉可以收藏起来即拿即用 Vue全局共…

微信小程序 | 12.生命周期、globalData全局数据

文章目录 1.小程序的生命周期2.全局数据globalData3.globalData的应用3.1.搭配app.js的onLaunch()存储openid3.2.轮询globalData3.2.1.问题描述 3.2.2.解决方式:轮询globalData 1.小程序的生命周期 小程序生命周期(onLaunch、onShow、onHide、onReady、onLoad、onU…

uniapp 全局静态数据(globalData)的修改和使用

uniapp 全局静态数据(globalData)的修改和使用 全局静态数据: 在App.vue中的调用: this.globalData.systemTitle在App.vue中的修改: this.globalData.systemTitle res.title在pages中调用: let title…

微信小程序全局变量(globalData)和缓存(StorageSync)的区别和用法

globalData和storage的区别 一、app.globalData 是全局变量,下次进入的时候,就要重新获取,一般用于: 1、保存一些可能涉及安全类的数据,例如资源类,每次需要很准确的,就建议用全局变量。 2、…

【分布式】什么是分布式技术?

背景: 初代的服务器架构往往比较简单,应用程序、数据库、文件、代码等所有资源都放在一台服务器上,也就是单机结构。随着企业业务量的增多,一台服务器已经难以满足数据处理的需求了,那么对单机进行“复制粘贴”&#…

(分布式网络)基于残差网络的多光谱全色图像分布式融合框架

贡献: ①基于分布式框架(distributed framework)和residual learning,提出了一种鲁棒性强、泛化性能提高的RDFNet泛锐化模型。 ②提出了一种新的三分支泛锐化结构,其中两个分支分别用于提取MS和PAN图像特征。其中最重要的是第三个分支&…

分布式-分布式服务

微服务API 网关 网关的概念来源于计算机网络,表示不同网络之间的关口。在系统设计中,网关也是一个重要的角色,其中最典型的是各大公司的开放平台,开放平台类网关是企业内部系统对外的统一入口,承担了很多业务&#xf…

C++实现轻量级RPC分布式网络通信框架

前言: 2022/4/14更新:  在我重新回顾这篇文章的时候,我觉得里面内容有点乱,主要还是因为RPC里面涉及到很多概念和知识点。本来代码内容就已经挺抽象了,还要结合各种概念,让人难以阅读,所以特地…

C++实现分布式网络通信RPC框架

分布式网络通信rpc框架 项目是分布式网络通信rpc框架(项目源代码链接) 博文中提到单机服务器的缺点: 硬件资源的限制影响并发:受限于硬件资源,聊天服务器承受的用户的并发有限模块的编译部署难:任何模块小…

分布式网络计算机,分布式网络

分布式网络(Distributed Network) [编辑] 什么是分布式网络 分布式网络也叫网状网络,如图1所示,它是由分布在不同地点的计算机系统互连而成,网中无中心节点。通信子网是封闭式结构,通信控制功能分布在各节点上。 [编辑] 分布式网络…