CN114220488A - 化合物设计方法、装置、设备及计算机可读存储介质 - Google Patents
化合物设计方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114220488A CN114220488A CN202111316106.9A CN202111316106A CN114220488A CN 114220488 A CN114220488 A CN 114220488A CN 202111316106 A CN202111316106 A CN 202111316106A CN 114220488 A CN114220488 A CN 114220488A
- Authority
- CN
- China
- Prior art keywords
- vector
- compound
- seed
- derivative
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C10/00—Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/30—Prediction of properties of chemical compounds, compositions or mixtures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/50—Molecular design, e.g. of drugs
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/60—In silico combinatorial chemistry
- G16C20/62—Design of libraries
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/60—In silico combinatorial chemistry
- G16C20/64—Screening of libraries
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16C—COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16C20/00—Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
- G16C20/70—Machine learning, data mining or chemometrics
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Chemical & Material Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Crystallography & Structural Chemistry (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Medicinal Chemistry (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Library & Information Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Pharmacology & Pharmacy (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种化合物设计方法、装置、设备及计算机可读存储介质,该方法包括获取种子向量,种子向量为种子化合物的特征向量表示方式;基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量;对衍生向量进行处理,得到衍生化合物。通过上述方式,本申请能够提高被设计化合物的多样性。
Description
技术领域
本申请涉及计算化学技术领域,特别是涉及一种化合物设计方法、装置、设备及计算机可读存储介质。
背景技术
在传统药物研究中,科学家通过筛选化合物库,逐个测试化合物靶点,最后筛选出苗头化合物。由于过程成本高昂、失败率高,计算化学家尝试使用计算模型的方法预测化合物的活性,用计算机模拟药物在蛋白空腔中的结合,推荐并测试一批可能具有活性的分子。但是这个方法严重受限于虚拟筛选库的质量,现有化合物库的分子数量一般在几十万,且化合物的骨架已经被前人大量研究、筛选,难以找出新骨架的候选化合物,数量太少、结构新颖性差的筛选库已难以满足日益增长的研发需求。
发明内容
本申请主要解决的技术问题是提供一种化合物设计方法、装置、设备及计算机可读存储介质,能够提高被设计化合物的多样性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种化合物设计方法,该方法包括获取种子向量,种子向量为种子化合物的特征向量表示方式;基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量;对衍生向量进行处理,得到衍生化合物。
其中,对衍生向量进行处理,得到衍生化合物之后,该方法还包括基于适应度函数分别度量衍生化合物的适应度;根据适应度的大小,从衍生化合物中选取出候选化合物。
其中,根据适应度的大小,从衍生化合物中选取出候选化合物,包括:
步骤S1:根据适应度的大小,从衍生化合物中选取适应度满足预设条件的目标化合物;
步骤S2:将目标化合物对应的衍生向量作为种子向量,继续执行基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量至基于适应度函数分别度量衍生化合物的适应度的步骤;
迭代循环步骤S1和S2,直至满足迭代终止条件时,结束迭代循环操作;
按照适应度对得到的所有衍生化合物进行降序排列;
选取预定比例或预定数量的适应度较优的衍生化合物作为候选化合物。
其中,基于遗传算法对种子向量进行交叉运算包括:从种子向量集中选取两个种子向量,选取其中一个种子向量的交换位置,将这个种子向量的交换位置的数值与另一种子向量的对应位置的数值进行交换。
其中,基于遗传算法对种子向量进行变异运算包括:从种子向量集中选取种子向量,从所选取的种子向量中选取突变位置,将突变位置上的数值替换成新的数值。
其中,对衍生向量进行处理,得到衍生化合物包括:将衍生向量输入分子结构解码模型,对衍生向量进行解码处理,得到衍生分子结构,分子结构解码模型为一种神经网络模型,根据衍生分子结构得到衍生化合物。
其中,将衍生向量输入分子结构解码模型,对衍生向量进行解码处理,解码得到衍生化合物的分子结构之前,该方法还包括:获取样本矩阵,样本矩阵为样本化合物的矩阵表示方式;将样本矩阵输入自编码器的编码层,编码得到样本向量,样本向量为样本化合物的特征向量表示方式;将样本向量输入自编码器的解码层,解码得到预测矩阵;计算预测矩阵与样本矩阵之间的损失;基于损失迭代更新自编码器的参数,直至损失稳定,将更新训练后的自编码器的解码层和输出层作为分子结构解码模型,输出层用于将矩阵表示的化合物转换成以分子结构表示的方式。
其中,获取种子向量包括:获取种子化合物的SMILES字符串;对种子化合物的SMILES字符串进行独热编码得到种子矩阵,种子矩阵为种子化合物的矩阵表示方式;对种子矩阵进行编码得到种子向量。
其中,对种子矩阵进行编码得到种子向量包括:将种子矩阵输入分子结构编码模型,对种子矩阵进行编码处理,得到种子向量。
其中,将种子矩阵输入分子结构编码模型,对种子矩阵进行编码处理,得到种子向量之前,该方法还包括:获取样本矩阵,样本矩阵为样本化合物的矩阵表示方式;将样本矩阵输入自编码器的编码层,编码得到样本向量,样本向量为样本化合物的特征向量表示方式;将样本向量输入自编码器的解码层,解码得到预测矩阵;计算预测矩阵与样本矩阵之间的损失;基于损失迭代更新自编码器的参数,直至损失稳定,将更新训练后的自编码器的编码层作为分子结构编码模型。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种化合物设计装置,该装置包括获取模块、运算模块和解码模块,获取模块用于获取种子向量,种子向量为种子化合物的特征向量表示方式;运算模块用于基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量;解码模块用于对衍生向量进行处理,得到衍生化合物。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种化合物设计设备,包括处理器和存储器,存储器中存储有指令,处理器用于执行指令以实现上述任一项的化合物设计方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,计算机可读存储介质用于存储指令/程序数据,指令/程序数据能够被执行以实现上述任一项的化合物设计方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的化合物设计方法,基于遗传算法进行化合物的开发设计,增大了可探索的化合物空间,能够得到多样化的化合物,增大选择空间。进一步地,运算时将复杂的化学空间降维成了一维向量,能够使得设计算法可以方便高效地搜索化学空间。
附图说明
图1是本申请实施方式中一化合物设计方法的流程示意图;
图2是本申请实施方式中一分子结构模型的训练流程示意图;
图3是本申请实施方式中另一化合物设计方法的流程示意图;
图4是本申请实施方式中化合物设计装置的结构示意图;
图5是本申请实施方式中化合物设计设备的结构示意图;
图6是本申请实施方式中计算机可读存储介质的结构示意图。
具体实施方式
为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。
为适应满足药物研发对化合物筛选库的需求,本申请发明人研究发现基于深度学习的分子生成模型可以借助大规模的化合物数据库,自我学习出化合物的书写规律,并将化合物表示成一个稠密的连续值向量,进而学习到化合物的结构特征,生成新骨架的化合物,拓展了可搜索的化学空间。在这个基础上,为了能生成具有某类特点的分子,可以使用迁移学习或者强化学习方法来指导模型训练,使得分子生成的化学空间收缩到某个特定的区域,在这个区域内采样生成符合条件的分子。如可以生成具有特殊官能团的分子。但是,不论是迁移学习还是强化学习,都存在着随着训练的进行,生成的分子多样性逐渐降低,生成的分子骨架逐渐单一化的问题。迁移学习严重依赖于小数据集的质量,样本太少、多样性低导致模型太早收敛,生成的化合物多样性差。强化学习中过于复杂的函数组合使得模型训练不稳定、难以收敛。如果打分函数使用的打分标准单一,模型依旧过早收敛,得到的分子不具有多样性。
基于此,本申请提供一种化合物设计方法,该方法中基于遗传算法来学习开发设计新的化合物,利用遗传算法中模拟自然界进化的原理,选取一定数量的种子化合物模拟自然界中的染色体,组成初始的种群。在进化的每一代中,评价整个种群的适应度,并基于适应度选取若干个个体模拟自然界的自然选择,遗传,突变产生下一代的种群(即衍生化合物)。每一代如此重复循环,搜索出一个最优解。
请参阅图1,图1是本申请实施方式中一化合物设计方法的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图1所示的流程顺序为限。如图1所示,本实施方式包括:
S110:获取种子向量。
其中,种子向量为种子化合物的特征向量表示方式。
基于遗传算法,先构建遗传进化的初代种群,即需要先获取进行化合物设计的基础化合物,即种子化合物。种子化合物可以是化合物数据库中随机选取的任意化合物,可以是一个,也可以是多个。不同的设计需求,也可以对种子化合物进行特定的筛选,在此不做限定。
本申请所提供的实施方式中,还对种子化合物进行了降维处理,将复杂的化学空间降维成一维向量。具体地,将用分子结构式来表示化合物的方式转换成使用向量来表示化合物的方式。通过降维处理,能够使基于遗传算法的设计算法简化为向量间的运算,更方便高效的搜索化学空间,效率更高。
S130:基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量。
通过向量间的交叉运算和变异运算,能够模拟自然界的自然选择、遗传、突变、进化等,产生新的向量(即衍生向量),也即能产生新的化合物,来实现化合物的多样化。
S150:对衍生向量进行处理,得到衍生化合物。
向量间的运算结束后,对运算结果进行升维处理。具体地,将用向量来表示化合物的方式转换成使用分子结构来表示化合物的方式,得到化合物的具体结构式,进而确定衍生化合物。
该实施方式中,基于遗传算法进行化合物的开发设计,增大了可探索的化合物空间,能够得到多样化的化合物,增大选择空间。进一步地,运算时将复杂的化学空间降维成了一维向量,能够使得设计算法可以方便高效地搜索化学空间。
在一实施方式中,本申请可以使用一个神经网络,以化学结构作为输入、输出,提取中间层输出的向量作为化学结构的一维表示。即可以使用神经网络模型对化合物进行降维、升维处理。
其中,可以使用自编码器来训练得到分子结构编码模型和分子结构解码模型。分子结构编码模型可用于对化学结构进行降维处理,将化学结构编码成向量;分子结构解码模型可用于对向量进行升维处理,将向量解码成化学结构。
自编码器是一种深度学习的神经网络,通过训练该网络可使得输入值和输出值相同。它先将输入的向量压缩成一个隐空间,然后再重构解码出输出,使得输出与输入相同。具体地,自编码器主要包括了编码层、隐向量层和解码层。编码层中含有若干个神经元,它能将一个大而稀疏的矩阵转化为一个浮点数组成的稠密的一维向量(隐向量层中的向量)。解码层也含有若干个神经元,它能将稠密的一维向量解码成一个大而稀疏的矩阵。
在训练阶段,首先建立一个神经网络,这个神经网络可接收大而稀疏的矩阵。先经过embedding层转化为一个连续值的向量。这些向量经过多种线性变换和非线性变换组合,最后得到一个隐向量。这个隐向量又经过多个线性变换和非线性变换,解码成一个大而稀疏的矩阵。由于这些变换的参数都是随机或者不准确的,所以解码出来的矩阵和原始矩阵大概率是差别很大的。因此,使用一定的度量标准衡量解码出的矩阵和原始矩阵的差异,依据差异程度反向传播更新神经网络中的参数,然后使用更新后的网络重新生成新的大而稀疏的矩阵,再计算解码出的矩阵和原始矩阵的差异,再更新参数。循环多轮,直到这个差异逐渐减低并稳定(即使后面再循环差异也不再降低)。经过这种训练后,输入一个大而稀疏的向量,最后可还原出一个几乎相同的大而稀疏的矩阵。
在一实施方式中,可以对化学结构进行独热编码,转换成用矩阵的方式来表示,因此,利用上述神经网络可实现对化合物进行降维、升维处理,可利用上述训练方法训练出分子结构编码模型和分子结构解码模型。
请参阅图2,图2是本申请实施方式中一分子结构模型的训练流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图2所示的流程顺序为限。如图2所示,本实施方式包括:
S210:获取样本矩阵。
其中,样本矩阵为样本化合物的矩阵表示方式。
其中,可以从网上下载化合物库,从化合物库中提取有效的化合物作为样本化合物。可以对样本化合物进行一定的筛选,例如筛选样本化合物时可去掉手性类化合物、去掉盐类化合物、删除不常见的分子、去掉重原子数过多的分子、去掉无机物等等。可以根据不同需求设定不同的筛选规则,在此不作限定。
样本化合物选定后,将选定的样本化合物转换成SMILES字符串的方式来表示。SMILES(Simplified molecular input line entry system,简化分子线性输入规范),是一种用ASCII字符串明确描述分子结构的规范。化学结构可以按照既有的一套规定,编写成一个SMILES字符串的形式。例如:嘧啶可以写成SMILES字符串“c1ccncn1”。可以将字符串看成是一个句子,该句子由若干个词组成。上述嘧啶的字符串可以视为由三个词c,1,n组成。可以将这些词汇采用独热编码转换为仅由0和1组成的向量,进而将这个字符串转换为矩阵的表示方式,得到样本矩阵。
以嘧啶为例,其SMILES字符串为“c1ccncn1”,具体可以视为由三个词c,1,n组成。这三个词具有无序性,不连续性。将这三个词视为三种状态,采用一个0,1组成的向量表示。比如第一位是c,第二位是1,第三位是n,那么这三个词可以表示成[1,0,0],[0,1,0],[0,0,1]。1表示含有这个词,0表示不含有这个词。那么嘧啶这个结构会被表示成一个二维的矩阵[[1,0,0],[0,1,0],[1,0,0],[1,0,0],[0,0,1],[1,0,0],[0,0,1],[0,1,0]]。其中,所谓二维矩阵,矩阵的维度可以被理解为一个维度用来表示每个词的向量长度,一个维度用来表示每个字符串的长度。例如,嘧啶中,每个词的长度是3,整个嘧啶字符串的长度是8。这样编码后,嘧啶结构就被转换成能够被计算机所理解的样子。
在将样本化合物集中的化合物都转换成SMILES字符串后,可以在SMILES字符串首尾端补上“$”和“#”等特殊字符,表示SMILES字符串的开始和结尾,以区分断开不同的字符串,还可以对字符串做去重处理。可以将样本化合物集中的SMILES字符串统一编码成m*n的矩阵(m个词,每个词向量长度为n)。可以找出其中最长的SMILES字符串,比如它的长度为m,如果一个SMILES字符串的长度不足m个词,也表示成m*n的矩阵,不足的元素全部填0。同样地,找到长度最长的词,比如它的长度为n。
S230:将样本矩阵输入自编码器的编码层,编码得到样本向量,其中,样本向量为样本化合物的特征向量表示方式。
S250:将样本向量输入自编码器的解码层,解码得到预测矩阵。
S270:计算预测矩阵与样本矩阵之间的损失。
S290:基于损失迭代更新自编码器的参数,直至损失稳定,得到分子结构编码模型和分子结构解码模型。
更新训练后的自编码器的编码层可作为分子结构编码模型,更新训练后的自编码器的解码层可作为分子结构解码模型。
在一实施方式中,自编码器还可以包括输入层,输入层可用于将化学结构式的化合物转换为矩阵式的化合物。然后将输入层和编码层一起作为分子结构编码模型。该分子结构编码模型可以以分子结构式的化合物为输入,输出编码后的向量式的化合物。
在一实施方式中,自编码器还可以包括输出层,输出层可用于将矩阵式的化合物转换为化学结构式的化合物。具体转换过程是将化学结构式的化合物转换为矩阵式的化合物的逆过程,具体请参阅上文描述,在此不再赘述。然后将输出层和解码层一起作为分子结构解码模型。该分子结构解码模型可以以向量式的化合物为输入,输出解码后的分子结构式的化合物。
请参阅图3,图3是本申请实施方式中另一化合物设计方法的流程示意图。需注意的是,若有实质上相同的结果,本实施例并不以图3所示的流程顺序为限。如图3所示,本实施方式可以结合分子结构编码模型、分子结构解码模型和遗传算法进行化合物设计,具体包括:
S310:获取种子向量。
其中,可以在化合物数据库中选取种子化合物,获取种子化合物的SMILES字符串;对种子化合物的SMILES字符串进行独热编码得到种子矩阵,种子矩阵为种子化合物的矩阵表示方式;将种子矩阵输入分子结构编码模型,对种子矩阵进行编码,得到种子向量。具体请参阅上文描述,在此不再赘述。
S330:基于遗传算法对种子向量进行交叉运算,得到衍生向量。
其中,交叉运算可从种子向量集中选取两个种子向量,选取其中一个种子向量的交换位置(可以是一个或多个位置),种子向量以及交换位置的选取方式可以是随机选取,也可以是设定一定的选取规则。将这个种子向量的所选取交换位置的数值与另一种子向量的对应位置的数值进行交换。比如有两个向量[0.1,0.2,0.3]和[0.4,0.5,0.6],交换第一个位置,那么得到两个新的向量,[0.4,0.2,0.3]和[0.1,0.5,0.6]。又如,将上述两个向量交换第一个和第三个位置,那么得到两个新的向量[0.4,0.2,0.6]和[0.1,0.5,0.3]。
S350:基于遗传算法对种子向量进行变异运算,得到衍生向量。
其中,变异运算可从种子向量集中选取若干个(可预先指定要突变的向量的比例)种子向量,从这些种子向量中选取突变位置(可以是一个或多个位置),种子向量以及变异位置的选取方式可以是随机选取,也可以是设定一定的选取规则。将这些突变位置上的数值替换成新的数值,可以是随机替换成任一值,也可以是替换成设定的值。比如,现有一个向量[0.1,0.2,0.3],选取第一个位置,将这个数值随机替换成一个数值得到一个新的向量[0.5,0.2,0.3]。又如,选取第一个和第二个位置,将对应的数值随机替换成新的数值得到一个新的向量[0.2,0.4,0.3]。
交叉运算和变异运算都是为了能够生成新的向量(即衍生向量)、衍生出更多向量,进而衍生得到更多化合物。交叉运算和变异运算能够模拟遗传进化,能够提高化合物的多样性。交叉运算和变异运算可以同步进行,也可以颠倒顺序进行,也可以只进行其中一种处理,即S330与S350步骤仅是示意,可以选择性执行一个,也可以调换顺序执行,在此不做限定。
S370:对衍生向量进行处理,得到衍生化合物。
将衍生向量输入分子结构解码模型,对衍生向量进行解码处理,得到衍生矩阵,再对衍生矩阵进行转换,得到衍生分子结构,进而可以根据衍生分子结构确定衍生化合物。具体请参阅上文描述,在此不再赘述。
S390:基于适应度函数度量衍生化合物的适应度,并根据适应度的大小,从衍生化合物中选取出候选化合物。
适应度为用来评价衍生化合物的尺度,比如这个结构是否有好的溶解度、好的活性等。这样,衍生化合物与评判优劣的标准建立了联系,即构建了适应度函数。
遗传算法模拟了进化的过程,按照上文所述,每个衍生化合物都具有了一个评价的数值,这个数值代表了这个化合物在进化过程中的适应能力。比如溶解度差、活性不好的分子更倾向于被淘汰。
这个评价标准依赖于用户的定义,用户可以根据要设计的化合物的特征需求来适应性设置评价标准(适应度函数)。比如用户希望得到一个分子量足够大的化合物。那么,随机生成几千个衍生向量,这些衍生向量按照上述的转化,分别得到一个化合物,接着计算这些化合物的分子量。这个分子量就是用户定义的适应度。我们按照分子量对这些化合物降序排列,按照用户预先定义的参数(每次选取的比例或者数量)选取出排名靠前的一个或一批候选化合物。
在一实施方式中,可以迭代进行多轮交叉运算和变异运算,得到更多衍生化合物,然后在这些衍生化合物中选取想要的候选化合物。具体的,根据适应度的大小,从衍生化合物中选取出候选化合物的具体实施方式可以包括:步骤S1:根据适应度的大小,从衍生化合物中选取适应度满足预设条件的目标化合物;步骤S2:将目标化合物对应的衍生向量作为种子向量,继续执行S330和/或S350的步骤至步骤S390基于适应度函数度量衍生化合物的适应度。迭代循环上述步骤S1和S2,直至满足迭代终止条件时,结束迭代循环操作;按照适应度对得到的所有衍生化合物进行降序排列;选取预定比例或预定数量的适应度较优的衍生化合物作为候选化合物。
其中,满足预设条件的目标化合物可以是从衍生化合物中选取适应度排在前列的某一固定个数(如10个、30个、50个等)的化合物作为目标化合物;也可以是从衍生化合物中按照适应度排序,从前往后选取一固定比例(如1/10、1/5、1/3等)的化合物作为目标化合物;还可以是从衍生化合物中选取适应度大于某一固定阈值的化合物作为目标化合物。其中,目标化合物选取的个数、比例、条件可以根据需要设置,在此不再赘述。
举例来说,在进行完一次操作,得到衍生化合物的适应度之后,可以依据适应度对衍生化合物进行降序排列,选取出排名靠前的目标化合物,并对这些目标化合物的衍生向量做交叉运算、变异运算生成一批新的一维衍生向量。将这些新的衍生向量输入分子结构解码模型中,解码出新的矩阵并转化出新的衍生化合物,并计算出这些衍生化合物的适应度。这些衍生化合物按照适应度降序排列,从中选取排名靠前的目标化合物,又交叉、变异生成新的一维衍生向量。如此迭代循环,并记录所有生成的衍生化合物。从这些生成的衍生化合物中找出适应度较优的候选化合物作为最终结果。
迭代的轮数可以依赖于设置的参数和数据集自身的特点,迭代终止条件可以是提前设置好的迭代次数,迭代次数可以是几十次到几百次,例如200轮到400轮。迭代终止条件可以是提前设置好的迭代时长,如8小时、12小时、24小时、48小时等。
当然,也可以不进行迭代,一次执行后就得到了想要的候选化合物。
以上实施方式所提供的方案,通过采用神经网络的算法,将复杂的化学空间降维成一维向量,能够使得设计算法可以方便高效地搜索化学空间;将化学空间和遗传算法有机结合,克服了分子生成模型强化学习和迁移学习后生成化合物逐渐单一的问题。
下面,将通过几个具体实验例对本申请的方案进行描述说明,但不应对本申请带来过多限定。
可以从网上下载最新的ChEMBL28数据库,提出化合物的SMILES字符串,样本化合物结构必须只能含有氢、碳、氮、氧、氟、硫、氯、溴的原子。且不含有手性类化合物,无机物,盐离子,并约束重原子数在70以内,将这些SMILES字符串转化为canonical的形式。去重后约得到180万个SMILES。使用这些SMILES训练一个神经网络。以这个神经网络为基础展开实施例。
实验例1
蛋白激酶B,又称为AKT,是丝氨酸/苏氨酸特异性蛋白激酶。它在细胞凋亡、增殖、迁移等细胞过程中具有重要的调控作用。AKT1通过细胞凋亡过程参与细胞存活途径,阻断细胞凋亡,促进细胞存活。临床研究发现AKT在胃癌、胰腺癌等多种人类肿瘤中过表达。AKT抑制剂能抑制AKT的活性,促进癌细胞凋亡。
化合物1是临床研究中的一种AKT抑制剂。通过分析它的相互作用模式,建立药效团模型评价分子与药效团的匹配程度,以此作为适应度评价标准,来寻找新的分子。
具体地,在化合物数据库中随机挑选第一预定量的种子化合物,输入分子结构编码模型,得到种子向量;基于遗传算法对种子向量进行交叉运算和变异运算,得到多个衍生向量;将衍生向量输入分子结构解码模型,得到多个衍生化合物;利用上述的药效团模型评价衍生化合物与药效团的匹配程度,得出衍生化合物的适应度;再按照适应度大小从中选取第二预定量的衍生向量作为种子向量进行交叉运算和变异运算,如此迭代循环300轮,得到一批新的化合物,具体如下:
实验例2
临床研究发现人体的异柠檬酸脱氢酶1(IDH1)在多种恶性肿瘤,比如脑胶质瘤,发生突变。突变后的IDH1能将α-酮戊二酸转化为2-羟戊二酸。后者是一种致癌物,在体内蓄积,促进癌症进一步恶化。临床试验表明,药物抑制突变型IDH1的活性,可以有效降低体内的2-羟戊二酸浓度,缓解癌症症状。
化合物2是当前研究最具前景的突变IDH1的抑制剂。将它作为模板分子,对每个生成的分子计算与模板分子的相似度(使用分子指纹度量)作为分子的适应度,从潜在的空间中搜索出一批具有相似性的分子。
具体地,在化合物数据库中随机挑选第三预定量的种子化合物,输入分子结构编码模型,得到种子向量;基于遗传算法对种子向量进行交叉运算和变异运算,得到多个衍生向量;将衍生向量输入分子结构解码模型,得到多个衍生化合物;分别计算各衍生化合物与模板分子的相似度,得出衍生化合物的适应度;再按照适应度大小从中选取第四预定量的衍生向量作为种子向量进行交叉运算和变异运算,如此迭代循环380轮,得到一批新的化合物,具体如下:
请参阅图4,图4是本申请实施方式中化合物设计装置的结构示意图。该实施方式中,化合物设计装置40包括获取模块41、运算模块42和解码模块43。
其中,获取模块41用于获取种子向量,种子向量为种子化合物的特征向量表示方式;运算模块42用于基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量;解码模块43用于对衍生向量进行处理,得到衍生化合物。通过这种方式,该装置基于遗传算法进行化合物的开发设计,增大了可探索的化合物空间,能够得到多样化的化合物,增大选择空间。进一步地,运算时将复杂的化学空间降维成了一维向量,能够使得设计算法可以方便高效地搜索化学空间,具体执行过程请参阅上述实施例的描述,再次不再赘述。
进一步地,化合物设计装置40还包括评选模块(图中未示出),用于基于适应度函数分别度量衍生化合物的适应度;根据适应度的大小,从衍生化合物中选取出候选化合物。
具体地,评选模块根据适应度的大小,从衍生化合物中选取出候选化合物,包括:步骤S1:根据适应度的大小,从衍生化合物中选取适应度满足预设条件的目标化合物;步骤S2:将目标化合物对应的衍生向量作为种子向量,继续执行基于遗传算法对种子向量进行交叉运算和/或变异运算,得到衍生向量至基于适应度函数分别度量衍生化合物的适应度的步骤;迭代循环步骤S1和S2,直至满足迭代终止条件时,结束迭代循环操作;按照适应度对得到的所有衍生化合物进行降序排列;选取预定比例或预定数量的适应度较优的衍生化合物作为候选化合物。通过这种方式,能够得到更多个候选化合物,更容易筛选得到较优的化合物。具体执行过程请参阅上述实施例的描述,再次不再赘述。
进一步地,运算模块42包括交叉运算子模块(图中未示出),用于从种子向量集中选取两个种子向量,选取其中一个种子向量的交换位置,将该种子向量的交换位置的数值与另一种子向量的对应位置的数值进行交换,得到新的衍生向量,进而能够得到一个衍生化合物,以丰富衍生向量,提高衍生化合物的多样性。具体执行过程请参阅上述实施例的描述,再次不再赘述。
进一步地,运算模块42包括变异运算子模块(图中未示出),用于从种子向量集中选取种子向量,从所选取的种子向量中选取突变位置,将突变位置上的数值替换成新的数值,得到新的衍生向量,进而能够得到一个衍生化合物,以丰富衍生向量,提高衍生化合物的多样性。具体执行过程请参阅上述实施例的描述,再次不再赘述。
进一步地,解码模块43用于将衍生向量输入分子结构解码模型,对衍生向量进行解码处理,得到衍生分子结构,分子结构解码模型为一种神经网络模型;根据衍生分子结构得到衍生化合物。
进一步地,化合物设计装置40还包括编码模块(图中未示出),用于获取种子化合物的SMILES字符串;对种子化合物的SMILES字符串进行独热编码得到种子矩阵,种子矩阵为种子化合物的矩阵表示方式;将种子矩阵输入分子结构编码模型,对种子矩阵进行编码处理,得到种子向量。
进一步地,化合物设计装置40还包括模型训练模块(图中未示出),用于获取样本矩阵,样本矩阵为样本化合物的矩阵表示方式;将样本矩阵输入自编码器的编码层,编码得到样本向量,样本向量为样本化合物的特征向量表示方式;将样本向量输入自编码器的解码层,解码得到预测矩阵;计算预测矩阵与样本矩阵之间的损失;基于损失迭代更新自编码器的参数,直至损失稳定,将更新训练后的自编码器的解码层和输出层作为分子结构解码模型,输出层用于将矩阵表示的化合物转换成以分子结构表示的方式,将更新训练后的自编码器的编码层作为分子结构编码模型。
化合物设计装置可以是独立的服务器、可以是服务器集群,也可以是服务器的一个模块。能够用于进行模型训练、遗传算法、进而用来设计化合物。
请参阅图5,图5是本申请实施方式中化合物设计设备的结构示意图。该实施方式中,化合物设计设备10包括处理器11和存储器12。
处理器11还可以称为CPU(Central Processing Unit,中央处理单元)。处理器11可能是一种集成电路芯片,具有信号的处理能力。处理器11还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器11也可以是任何常规的处理器等。
化合物设计设备10可以进一步包括存储器12,用于存储处理器11运行所需的指令和数据。
处理器11用于执行指令以实现上述本申请化合物设计方法任一实施例及任意不冲突的组合所提供的方法。
化合物设计设备可以是服务器、台式电脑、笔记本电脑等。能够用于进行模型训练、遗传算法、进而用来设计化合物。
请参阅图6,图6为本申请实施方式中计算机可读存储介质的结构示意图。本申请实施例的计算机可读存储介质20存储有指令/程序数据21,该指令/程序数据21被执行时实现本申请化合物设计方法任一实施例以及任意不冲突的组合所提供的方法。其中,该指令/程序数据21可以形成程序文件以软件产品的形式存储在上述存储介质20中,以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质20包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (13)
1.一种化合物设计方法,其特征在于,包括:
获取种子向量,所述种子向量为种子化合物的特征向量表示方式;
基于遗传算法对所述种子向量进行交叉运算和/或变异运算,得到衍生向量;
对所述衍生向量进行处理,得到衍生化合物。
2.根据权利要求1所述的化合物设计方法,其特征在于,所述对所述衍生向量进行处理,得到衍生化合物之后,所述方法还包括:
基于适应度函数分别度量所述衍生化合物的适应度;
根据所述适应度的大小,从所述衍生化合物中选取出候选化合物。
3.根据权利要求2所述的化合物设计方法,其特征在于,所述根据所述适应度的大小,从所述衍生化合物中选取出候选化合物,包括:
步骤S1:根据所述适应度的大小,从所述衍生化合物中选取适应度满足预设条件的目标化合物;
步骤S2:将所述目标化合物对应的衍生向量作为所述种子向量,继续执行所述基于遗传算法对所述种子向量进行交叉运算和/或变异运算,得到衍生向量至所述基于适应度函数分别度量所述衍生化合物的适应度的步骤;
迭代循环所述步骤S1和S2,直至满足迭代终止条件时,结束迭代循环操作;
按照所述适应度对得到的所有衍生化合物进行降序排列;
选取预定比例或预定数量的适应度较优的衍生化合物作为候选化合物。
4.根据权利要求1所述的化合物设计方法,其特征在于,基于遗传算法对所述种子向量进行交叉运算,包括:
从种子向量集中选取两个种子向量,选取其中一个种子向量的交换位置,将该种子向量的所述交换位置的数值与另一种子向量的对应位置的数值进行交换。
5.根据权利要求1所述的化合物设计方法,其特征在于,基于遗传算法对所述种子向量进行变异运算,包括:
从种子向量集中选取种子向量,从所选取的种子向量中选取突变位置,将所述突变位置上的数值替换成新的数值。
6.根据权利要求1-5任一所述的化合物设计方法,其特征在于,所述对所述衍生向量进行处理,得到衍生化合物,包括:
将所述衍生向量输入分子结构解码模型,对所述衍生向量进行解码处理,得到衍生分子结构,所述分子结构解码模型为一种神经网络模型;
根据所述衍生分子结构得到衍生化合物。
7.根据权利要求6所述的化合物设计方法,其特征在于,所述将所述衍生向量输入分子结构解码模型,对所述衍生向量进行解码处理,得到衍生分子结构之前,所述方法还包括:
获取样本矩阵,所述样本矩阵为样本化合物的矩阵表示方式;
将所述样本矩阵输入自编码器的编码层,编码得到样本向量,所述样本向量为所述样本化合物的特征向量表示方式;
将所述样本向量输入所述自编码器的解码层,解码得到预测矩阵;
计算所述预测矩阵与所述样本矩阵之间的损失;
基于所述损失迭代更新所述自编码器的参数,直至所述损失稳定,将更新训练后的自编码器的解码层和输出层作为所述分子结构解码模型,所述输出层用于将矩阵表示的化合物转换成以分子结构表示的方式。
8.根据权利要求1-5任一所述的化合物设计方法,其特征在于,所述获取种子向量,包括:
获取种子化合物的SMILES字符串;
对所述种子化合物的SMILES字符串进行独热编码得到种子矩阵,所述种子矩阵为所述种子化合物的矩阵表示方式;
对所述种子矩阵进行编码得到所述种子向量。
9.根据权利要求8所述的化合物设计方法,其特征在于,所述对所述种子矩阵进行编码得到所述种子向量,包括:
将所述种子矩阵输入分子结构编码模型,对所述种子矩阵进行编码处理,得到所述种子向量。
10.根据权利要求9所述的化合物设计方法,其特征在于,所述将所述种子矩阵输入分子结构编码模型,对所述种子矩阵进行编码处理,得到所述种子向量之前,所述方法还包括:
获取样本矩阵,所述样本矩阵为样本化合物的矩阵表示方式;
将所述样本矩阵输入自编码器的编码层,编码得到样本向量,所述样本向量为样本化合物的特征向量表示方式;
将所述样本向量输入所述自编码器的解码层,解码得到预测矩阵;
计算所述预测矩阵与所述样本矩阵之间的损失;
基于所述损失迭代更新所述自编码器的参数,直至所述损失稳定,将更新训练后的自编码器的编码层作为所述分子结构编码模型。
11.一种化合物设计装置,其特征在于,包括:
获取模块,用于获取种子向量,所述种子向量为种子化合物的特征向量表示方式;
运算模块,用于基于遗传算法对所述种子向量进行交叉运算和/或变异运算,得到衍生向量;
解码模块,用于对所述衍生向量进行处理,得到衍生化合物。
12.一种化合物设计设备,其特征在于,包括存储器和处理器,所述存储器中存储有指令,所述处理器用于执行所述指令以实现如权利要求1-10任一项所述的化合物设计方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储指令/程序数据,所述指令/程序数据能够被执行以实现如权利要求1-10任一项所述的化合物设计方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316106.9A CN114220488A (zh) | 2021-11-08 | 2021-11-08 | 化合物设计方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111316106.9A CN114220488A (zh) | 2021-11-08 | 2021-11-08 | 化合物设计方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114220488A true CN114220488A (zh) | 2022-03-22 |
Family
ID=80696670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111316106.9A Pending CN114220488A (zh) | 2021-11-08 | 2021-11-08 | 化合物设计方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114220488A (zh) |
-
2021
- 2021-11-08 CN CN202111316106.9A patent/CN114220488A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113707235B (zh) | 基于自监督学习的药物小分子性质预测方法、装置及设备 | |
CN111312329B (zh) | 基于深度卷积自动编码器的转录因子结合位点预测的方法 | |
CN107742061B (zh) | 一种蛋白质相互作用预测方法、系统和装置 | |
Ghasedi Dizaji et al. | Semi-supervised generative adversarial network for gene expression inference | |
US20240029834A1 (en) | Drug Optimization by Active Learning | |
Ruan et al. | DACIDR: deterministic annealed clustering with interpolative dimension reduction using a large collection of 16S rRNA sequences | |
Manikandan et al. | Bacterial foraging optimization–genetic algorithm for multiple sequence alignment with multi-objectives | |
Lin et al. | PanGu Drug Model: learn a molecule like a human | |
Kaski et al. | Associative clustering for exploring dependencies between functional genomics data sets | |
WO2023077522A1 (zh) | 化合物设计方法、装置、设备及计算机可读存储介质 | |
KR20220083620A (ko) | 몬테카를로 트리 탐색을 사용하여 rna 압타머 서열을 스크리닝하는 방법 및 장치 | |
Sun et al. | Two stages biclustering with three populations | |
Liu et al. | Ensemble component selection for improving ICA based microarray data prediction models | |
US11893498B2 (en) | Subset conditioning using variational autoencoder with a learnable tensor train induced prior | |
CN114220488A (zh) | 化合物设计方法、装置、设备及计算机可读存储介质 | |
Mehmood et al. | Improving stability and understandability of genotype-phenotype mapping in Saccharomyces using regularized variable selection in L-PLS regression | |
Oliveira Pereira et al. | End-to-end deep reinforcement learning for targeted drug generation | |
CN113297293A (zh) | 一种基于约束优化进化算法的自动化特征工程方法 | |
Mahbub et al. | Quartet based gene tree imputation using deep learning improves phylogenomic analyses despite missing data | |
Ramakers et al. | De Novo prediction of RNA 3D structures with Deep Learning | |
Zhou et al. | Innovated scalable efficient inference for ultra-large graphical models | |
Jones et al. | HD-bind: Encoding of molecular structure with low precision, hyperdimensional binary representations | |
Ning et al. | Bertnda: a model based on graph-bert and multi-scale information fusion for ncRNA-disease association prediction | |
CN117976047B (zh) | 基于深度学习的关键蛋白质预测方法 | |
US20240087683A1 (en) | Classification using a machine learning model trained with triplet loss |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |