化学语言模型在创新型药物设计中的挑战与机遇

化学语言模型在创新型药物设计中的挑战与机遇

研究背景

化学生物学领域借用了语言学的类比,将基因密码转录和翻译为蛋白质,细胞通过化学信号进行相互沟通。分子可以被看作构成"化学语言"的基本单元(见图1a)。类似于人类语言,化学语言具有特定的语法结构,有限的元素(例如原子,类似于语言中的词汇)只能以特定的方式相互关联,形成"化学上合理"的分子结构。此外,分子还具有语义属性,根据存在的元素和连接方式,不同的性质(如物理化学和生物学性质)呈现出多样性(见图1b)。

img

图1 化学语言

在药物发现中,深度学习方法中的化学语言模型(CLMs)在AI驱动的全新设计中扮演重要角色。CLMs借鉴和调整了为自然语言处理开发的算法,以学习化学语言。使用字符串表示法,如简化分子线性输入规范(SMILES)字符串(图2),CLMs能够学习和生成化学分子。在过去几年中,CLMs在设计经过实验证实的生物活性分子方面取得了成功,并且越来越多的证据表明它们具有探索未知生物化学领域的能力。

本综述将重点关注基于深度学习的CLMs在全新分子设计方面的应用。在讨论了CLM驱动的全新设计的最新进展之后,综述将描述药物发现领域目前存在的差距以及未来的机会。

img

图2 用于从头药物设计的化学语言模型 (CLM) 概述

分子字符串表示法:优势与局限性

分子字符串表示法最初是为了数据库存储和分子识别而开发的,但由于深度学习算法在序列处理方面的应用,目前正在经历一次复兴。不同的表示方法在不同应用场景下的性能有所差异,但SMILES仍然是最广泛使用的一种表示方法。

1)简化分子线性输入规范(SMILES)是一种将分子图(不包含氢)转换为字符串的方法。在SMILES中,原子使用其字母表示,符号表示键和分支,数字表示环的开合。需要注意的是,SMILES字符串并不是一一对应的,可以从任何非氢原子开始,在选择的方向上遍历分子图来获取它们。为了确保获得一种一一对应的SMILES字符串,需要进行规范化算法,以确保不同的表达方式被映射为相同的规范化SMILES。在化学语言模型的训练中,多项研究表明,人工增加使用同一分子的多个SMILES字符串(称为"数据增强")对于增加样本数量和提高模型性能具有益处。

2)DeepSMILES是一种改进的SMILES方法,旨在解决传统SMILES中的一些语法问题,如不平衡括号和环闭合对导致的无效语法。DeepSMILES通过引入特殊的字符和规则来处理这些问题,使生成的字符串具有有效的语法结构。DeepSMILES的设计目标是提供一个更一致和可解析的分子表示方法,以便在机器学习和深度学习任务中应用。它已成功用于许多应用,包括药物-靶蛋白结合亲和力的预测。然而,与传统的SMILES字符串相比,DeepSMILES的语法更为复杂。这种复杂性可能会对分子的生成和处理产生一定的限制。

3)自参考嵌入字符串(SELFIES)是一种基于"语义约束图"的方法,用于将字符串转换为唯一的化学图形表示。相比于传统的SMILES表示,SELFIES提供了更严格的语义约束和更高的一致性。每个有效的SELFIES字符串都对应着一个有效的化学图。大部分生成的SELFIES字符串都是有效的,但在某些情况下,可能会出现语义上无效的表示,例如没有正确闭合的环或未连接的原子。为了确保SELFIES的有效性,可以通过后期字符串截断(“折叠”)的方式进行修正,以解决无效表示的问题。

img

表1 分子的字符表示方法

使用化学语言模型进行从头设计

深度学习的各种变体被广泛应用于化学语言建模。其中,**带有记忆单元的循环神经网络(RNNs)是常用的模型,用于生成分子字符串。除了RNNs,还有变分自编码器(VAE)生成对抗网络(GANs)**等流行的化学语言模型架构。VAE通过将分子字符串转换为潜在向量并再转换回分子字符串来实现分子的生成和重构。GANs则通过生成新颖的分子字符串并与现有分子进行区分来推动全新设计的研究

分子生成的三个主要方法包括分布学习目标导向生成条件生成。在分布学习中,通过生成新分子来填充训练集的化学空间。每种方法都有其优势和挑战,选择适当的方法取决于具体的应用场景和设计目标(图3)。

1)分布式学习(Distribution-learning):这种方法允许端到端学习和生成,不需要依赖评分函数来指导分子设计。模型通过比较生成分子的性质与训练集中的分子性质来进行评估。但是,这种方法需要进行人工的判定和过滤。

2)导向式生成(Goal-directed generation):通过评分函数直接指导整体和单个分子的质量,通常通过预训练模型实现。然而,这种方法面临将复杂的化学性质压缩为单一评分函数的挑战,同时可能存在有限的结构多样性和模型函数定义问题。

3)条件式生成(Conditional generation):它通过形成潜在关联来捕捉复杂的结构目标关系,并保留了分布学习算法的端到端学习特性。尽管具有一定的潜力,但该方法在实验应用方面仍需进一步验证其在未充分表示的化学空间中的性能。

img

图3 用于分子生成的 CLM 类别

化学语言建模:挑战与机遇

CLMs具有灵活性和易于生成分子字符串的特点,使其在药物发现中能够探索未知的生物化学领域,并在多个任务中发挥作用。然而,评估CLMs的能力常常局限于优化简单特性,无法捕捉真实世界药物发现的复杂性。目前已经提出了一些全新设计基准,但仍需要进一步改进,以确保生成的化合物质量。虽然计算评估全新设计的质量复杂,但最终仍需要进行实验验证。尽管CLMs在药物发现中具有巨大潜力,但由于需要跨学科合作和大量时间和成本投入,目前只有少数前瞻性应用被发表。深度学习从业者、化学信息学家和药物化学家之间的跨学科合作将是推动CLMs在实际应用中取得突破的关键。此外,自动化合成平台可能成为加速基于CLMs的全新设计的解决方案,尽管这可能会对可合成的化学空间范围产生一定限制。

在未来几年中,条件生成算法将变得更加重要。这些算法可能克服现有评分函数的局限性,并通过设计生成符合特定条件的分子。其中,基于结构的设计具有特别的潜力,可以生成与某些结合口袋的电荷和形状特征匹配的分子,并有可能用于未知的大分子靶点的全新设计。然而,基于结构的全新设计在前瞻性应用中进展不如预期,可能是由于现有蛋白质-配体亲和力数据集的限制和偏见。结合大规模预训练的化学语言模型和**"few-shot"学习方法**预计将进一步推动CLMs的前瞻性应用。此外,改进CLMs生成可合成分子的能力将增加其在药物发现中的实际相关性。扩展化学语言模型以涵盖更复杂的分子实体(如含有非天然氨基酸的蛋白质和肽),对于推动化学中生成式深度学习的潜力具有巨大的希望。近期对SELFIES的未来扩展进行了广泛讨论,这也可能启发了SMILES和DeepSMILES等常用表示方法的变体。

**深度学习模型(如CLMs)**在药物发现中预计将发挥越来越重要的作用。除了提高时间和成本效益外,深度学习还将加速探索化学空间中未知领域的能力,并为药物发现提出和验证新的科学假设。未来,人工智能专家、化学家和生物学家的合作能够设计融入科学知识的创新算法,并通过人工智能推动对人类生物学的新科学洞见。

参考文献

Grisoni F. Chemical language models for de novo drug design: Challenges and opportunities. Curr Opin Struct Biol. 2023 Apr;79:102527. doi: 10.1016/j.sbi.2023.102527. Epub 2023 Feb 2. PMID: 36738564.

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

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

相关文章

第4章 kafka broker

4.1 Kafka Broker 工作流程 4.1.1 Zookeeper 存储的 Kafka 信息 4.1.2 Kafka Broker 总体工作流程 4.1.3 Broker 重要参数 4.2 生产经验——节点服役和退役 4.2.1 服役新节点 4.2.2 退役旧节点 4.3 Kafka 副本 4.3.1 副本基本信息 4.3.2 Leader 选举流程 4.3.3 Leader …

【力扣打卡系列】滑动窗口与双指针(三数之和)

坚持按题型打卡&刷&梳理力扣算法题系列,语言为go,Day11 搜索旋转排序数组 题目描述 解题思路 单独开一个函数来判断是否被染成蓝色 以与最后一个元素的大小比较来确定在哪个段上分类讨论target、nums[key]、end的大小情况,来确定此处…

LabVIEW汽车状态监测系统

LabVIEW汽车状态监测系统通过模拟车辆运行状态,有效地辅助工程师进行故障预测和维护计划优化,从而提高汽车的可靠性和安全性。 项目背景: 现代汽车工业面临着日益增长的安全要求和客户对于车辆性能的高期望。汽车状态监测系统旨在实时监控汽…

函数基础,定义与调用。作用域,闭包函数

一、函数的定义与调用 函数是一段可重复使用的代码块,用于执行特定任务或计算等功能。它可以接受输入参数(形参),并根据参数执行操作后返回结果。 函数的定义 例如在 JavaScript 中可以这样定义函数: function fun…

python代码中通过pymobiledevice3访问iOS沙盒目录获取app日志

【背景】 在进行业务操作过程中,即在app上的一些操作,在日志中会有对应的节点,例如,下面是查看设备实时视频过程对应的一些关键节点: 1、TxDeviceAwakeLogicHelper:wakeStart deviceId CxD2BA11000xxxx …

C# OpenCvSharp DNN UNet 推理

目录 效果 模型 项目 代码 下载 效果 模型 Inputs ------------------------- name:data tensor:Float[1, 3, 256, 256] --------------------------------------------------------------- Outputs ------------------------- name:p…

Flutter仿京东商城APP实战 用户中心基础布局

用户中心界面 pages/tabs/user/user.dart import package:flutter/material.dart; import package:jdshop/utils/zdp_screen.dart; import package:provider/provider.dart;import ../../../store/counter_store.dart;class UserPage extends StatefulWidget {const UserPage…

D52【python 接口自动化学习】- python基础之模块与标准库

day52 标准库 学习日期:20241029 学习目标:模块与标准库 -- 67 标准库:Python默认提供的便携功能有哪些? 学习笔记 标准库中的常见组件 如何通过官方文档学习标准 from urllib.request import urlopen with urlopen(http://ww…

芒果YOLO11改进:免费|注意力机制SKNet:选择性内核网络结构,不同关注会产生融合层神经元有效感受野

💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLO11 按步骤操作运行改进后的代码即可 YOLO11改进:注意力机制|YOLO11SKAttention改进内容🚀🚀🚀 文章目录 1. SKAttention 论文…

顺序表排序相关算法题|负数移到正数前面|奇数移到偶数前面|小于x的数移到大于x的数前面|快排思想(C)

负数移到正数前面 已知顺序表 ( a 1 , … , a n ) (a_{1},\dots,a_{n}) (a1​,…,an​),每个元素都是整数,把所有值为负数的元素移到全部正数值元素前边 算法思想 快排的前后指针版本 排序|冒泡排序|快速排序|霍尔版本|挖坑版本|前后指针版本|非递归版…

如何在Linux系统中使用LVM进行磁盘管理

如何在Linux系统中使用LVM进行磁盘管理 LVM简介 安装LVM 在Debian/Ubuntu系统中安装 在CentOS/RHEL系统中安装 创建物理卷 准备磁盘 创建卷组 创建逻辑卷 格式化逻辑卷 挂载逻辑卷 扩展逻辑卷 扩展现有物理卷 添加新的物理卷 调整卷组 调整卷组大小 使用LVM快照 LVM监控 查…

kaggle 数据集下载

文章目录 kaggle 数据集下载(1) 数据集下载(2) 手机号验证 kaggle 数据集下载 这两天想学习 kaggle 赛事 把深度学习相关的内容自己给过一遍,快忘得差不多了,惭愧。 参考了好多帖子,使用命令行…

力扣题86~90

题86(中等): python代码 # Definition for singly-linked list. # class ListNode: # def __init__(self, val0, nextNone): # self.val val # self.next next class Solution:def partition(self, head: Optional[Li…

Http 状态码 301 Permanent Rediret 302 Temporary Redirect、 重定向 重写

HTTP状态码301和302是什么? 1、HTTP状态码301 HTTP状态码301表示永久性转移(Permanent Redirect),这意味着请求的资源已经被分配了一个新的URI,以后的引用应该使用资源现在所指的URI。 HTTP 301状态码表示请求的资源…

数据结构————map,set详解

今天带来map和set的详解&#xff0c;保证大家分清楚 一&#xff0c;概念 map和set是一种专门用来搜索的容器或数据结构 map能存储两个数据类型&#xff0c;我们称之为<key-value>模型 set只能存储一个数据类型&#xff0c;我们称之为纯<key>模型 它们的效率都非…

java中Scanner的nextLine和next方法

思考&#xff0c;输入1 2 3 4 5加上enter&#xff0c;输出什么 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int[][] m new int[2][2];for (int i 0; i < 2; i) {for (int j 0; j < 2;…

互联网人小生意平台推荐,思考适合你的副业机会!

前几天写了一篇关于互联网人尽早找到自己一人能做的小生意&#xff0c;尽早觉醒&#xff1a;找到自己一人能做的互联网生意 收到不少读者私信和评论关于小生意怎么做&#xff0c;能感觉到大家对于如何开启小生意及如何利用好互联网平台这块充满兴趣。 尤其是针对设计、技术等互…

第5次CCF CSP认证真题解

1、数列分段 题目链接&#xff1a;https://sim.csp.thusaac.com/contest/5/problem/0 区分每一段的方法就是判断数列中的每一个数是否与前一个数相等。 100分代码&#xff1a; #include <iostream> using namespace std; int main(int argc, char *argv[]) {int n;ci…

python 深度学习 项目调试 识别数学公式 LaTeX-OCR

起因&#xff0c; 目的: 提取图片中的数学公式。 其实这个项目&#xff0c;我很久之前就做过。 而且,我还录了一个视频: https://www.bilibili.com/video/BV1nD421p7jS/?vd_source198e876d811b3ccea94908fd163c223f 简介: 项目来源: https://github.com/lukas-blecher/La…

【专题】计算机网络之数据链路层

数据链路层的地位&#xff1a;网络中的主机、路由器等都必须实现数据链路层。 数据链路层信道类型&#xff1a; 点对点信道。 使用一对一的点对点通信方式。 广播信道。 使用一对多的广播通信方式。 必须使用专用的共享信道协议来协调这些主机的数据发送。 1. 使用点对点信道…