一种基于分子Images和SMILES字符串预训练的分子性质预测方法

文档序号:36419528发布日期:2023-12-20 06:40阅读:36来源:国知局
一种基于分子

本发明涉及生物信息学中的数据挖掘领域,具体涉及一种基于分子images和smiles字符串预训练的分子性质预测方法。


背景技术:

1、药物发现是一项耗时、昂贵和高风险的工作,平均时间超过10年,平均成本超过10-20亿美元,才能使一个新药获准进入临床使用。为了减少对劳动密集型实验的依赖,提高药物开发的效率,人们在开发高效的计算工具和生物信息学方法方面做出了巨大努力。分子性质预测是药物发现过程中的一项基本任务,包括生物活性预测、毒性预测、药物相似性预测等。定量结构-活性(特性)关系(qsar/qspr)模型已日益成为选择有希望的候选药物的主导方法。基于机器学习的qsar/qspr模型是数据驱动的,并且严重依赖于适当的分子表征。目前,分子的表征形式包括分子描述符、图、简化分子输入行系统(smiles)和图像。

2、分子描述符是通过算法产生的数学表示,它定量地描述了分子的拓扑结构和物理化学结构,如基于指纹的描述符。尽管基于描述符的方法已经显示出很好的效果,但它们在初始阶段经常需要大量的特征工程。这对许多不具备生成高质量特征的专业知识或资源的研究人员来说是一个重大挑战。与分子描述符不同,关于原子和化学键的结构信息在分子图中显示得很清楚,这使得基于图的方法可以很容易地提取分子特征。然而,目前图神经网络在mpp中的应用受到限制,因为它们很容易出现过拟合和过度平滑的问题。鉴于smiles字符串是用语言定义的图形结构来表示化学信息,自然语言处理方法已被广泛采用。基于smiles的方法在分子性质预测方面取得了卓越的表现。然而,由于这种表示方法所包含的分子空间信息有限,对分子性质的准确预测仍然是一个挑战。分子图像通过像素来表示分子的详细结构特征,这对人类来说是最直观的表示方法之一。值得注意的是,图像作为一种新的表示方法的可行性被imagemol所证明。imagemol在精确预测分子特性和药物靶点方面表现出显著的效果,这大大促进了视觉驱动的药物发现。然而,分子图像包含的化学语义较弱,使得模型难以直接从中提取化学相关的信息,这就需要更多的化学知识来进一步提高性能。

3、虽然基于单一表征的方法已经取得了显著的性能,但它们都依赖于单模态信息。相比之下,多模态模型整合了两个或更多的表征,提供了分子的多个视图,使分子性质预测任务的完成更具有鲁棒性。许多研究人员已经尝试了smiles与不同表征的各种组合,但由于分子图像的化学语义稀少,他们还没有成功地整合图像。分子图像包含丰富的分子结构信息,因为它们以高分辨率显示分子的拓扑特征,揭示了原子的相对位置、键长、角度和其他几何参数。这些正是smiles表述所缺乏的细节。这使我们想到一个假设:smiles字符串中的序列信息和分子图像中的结构信息是否可以相互弥补。如果这个假设成立,图像中的结构细节可以有利于提高基于smiles模型的预测性能,smiles中编码的化学知识也可以帮助分子图像的学习。

4、目前,视觉语言预训练方面高质量作品的出现,大大加速了多模态研究的发展。这些工作已经逐渐从全局表征和简单融合发展到跨模态注意实现多样化的特征整合,这为我们验证这一假设提供了理论和技术上的支持。

5、为全面探索分子图像与smiles两者包含信息的关系并将其应用于药物开发,本发明提出了一种基于分子images和smiles字符串预训练的分子性质预测的方法。


技术实现思路

1、本发明提出了一种基于分子images和smiles字符串预训练的分子性质预测方法,主要包括以下步骤:

2、(1)从pubchem收集smiles字符串,使用rdkit工具包,将smiles字符串转化为分子images;

3、(2)将350万条images-smiles pairs划分训练集、测试集,并进行数据预处理;

4、(3)建立基于vlp(vision-language pretraining)双塔结构神经网络,并设置三个预训练任务对模型进行无监督预训练;

5、(4)完成预训练后,更换预测头,加载模型权重并在下游性质预测任务中微调。对于分类任务,采用受试者操作特征曲线下面积(roc-auc)进行评估。对于回归任务,采用均方根误差(rmse)进行评估。最终选定14个与药物挖掘相关的小数据集作为微调任务,以此验证该方法的有效性。

6、1.数据收集阶段

7、从pubchem收集大量smiles字符串数据,并对数据清洗,如去除盐噪声等,最终得到350万条合法smiles字符串。利用rdkit工具包,将smiles字符串转化标准的分子图像。对于以上数据,将smiles、images匹配成对,即“images-smiles pairs”,最终得到350万条images-smiles pairs。

8、2.数据预处理阶段

9、参考imagemol工作,通过k-means聚类算法将分子的指纹(fingerprint)聚类,每个smiles将有100、1000、10000以内的三个不同的标签作为伪类;然后采用骨架划分(scaffold split)的方式,将350万条images-smiles pairs划分为训练集310万条数据、测试集40万条数据,并将最终全部数据转化为arrow文件,便于加载入内存。

10、3.模型预训练阶段

11、分子images可以视为传统图像中的一种,smiles字符串可以视为自然语言中的一种。因此,借鉴在vlp中的训练模式训练分子images和smiles字符串。采用了一个双流架构,其中包括一个提取单模态图像特征的图像编码器,一个获取单模态smiles特征的smiles编码器,以及一个融合和对齐两者的多模态编码器。所有的编码器都是基于transformer框架。

12、图像编码器采用vision transformer(vit),给定图像将其分割为n个p为每个patch的长或宽。然后,通过线性变换将patches拉成一维向量并线性映射到序列中,并插入class embedding添加位置编码:

13、

14、将zv输入transformer encoder中,得到隐藏状态其中为第i个隐藏状态向量。

15、smiles编码器采用chemberta-2模型。将smiles序列根据atom-level分词,通过tokenizer分词器映射为词id,然后输入模型得到其中隐藏状态其中为添加的class embedding转化而来,用于聚合全局smiles信息。

16、多模态编码器使用交叉注意力(cross-attention)机制来融合来自分子images和smiles字符串的表示。具体来说,该编码器共有三层,在每层中有三个子层,即自注意子层、交叉注意力子层和前馈子层。根据注意机制:

17、attn(q,k,v)=softmax(qkt/scale)·v,

18、在自注意子层中,query、key和value矩阵都来自同一模态的线性映射:

19、

20、其中和分别表示分子images和smiles字符串经自注意后的隐藏状态。在交叉注意子层中,这两种表征需要在不同的模态间进行交互,以将跨模态的信息整合到各自的表征中:

21、

22、其中和分别表示分子images和smiles字符串经交叉注意后的隐藏状态。最后两者分别输入前馈子层,得到相应的特征表示:

23、

24、其中,zv和zs分别表示分子images和smiles字符串经过一层多模态编码器的输出。

25、在预训练阶段采用无监督方式进行训练,共优化三个预训练任务,包括masksmiles modeling(msm)、images-smiles matching(ism)、fingerprint class predict(fcp)。

26、mask smiles modeling(msm)基本思路参考vlp中的mask language modeling(mlm),对smiles序列采用了与chemberta-2类似的屏蔽策略。在我们的实例中,给定一个image-smiles pair(v,s),以15%的概率随机屏蔽序列s中的每个原子标记,并训练模型通过未屏蔽的token s\m及其相应的视觉输入重建被屏蔽的token sm。因此,训练目标是使重建掩盖的原子的损失最小:

27、

28、具有默认参数的线性层被用来作为msm的预测头。由于数据集中原子出现的频率严重不均衡,比如大量的碳(c)原子,因此采用focal loss缓解样本不平衡:

29、f=-(1-pθ)γlog(pθ),

30、其中,θ是模型的可训练参数,pθ是预测的概率值,γ是一个超参数。

31、images-smiles matching(ism)基本思路参考vlp中的image-text matching(itm),在ism任务中,模型需要识别给定的image-smiles是否匹配,即是否指向同一个分子。向模型提供同比例的匹配或不匹配的image-smiles pair(v,s),在模型推理之后,将特殊的视觉标记和特殊的smiles标记拼接作为两种模态的融合表示,然后提供给全连接层和sigmoid函数来预测0到1之间的分数,其中0意味着image和smiles不匹配,1意味着两者匹配。该模型将ism视为一个二分类问题,其目标损失是最小化负对数似然:

32、

33、其中y∈{0,1}表示两者是否匹配。

34、fingerprint class predict(fcp)基本思路来源于imagemol工作。分子指纹是分子的抽象表示,它将分子转化(编码)为一系列的比特串,每个分子都有一个独特的指纹。用kmeans聚类算法将分子指纹分为100类、1000类和10000类,相似类之间有相似的分子结构信息。聚类的结果被用作预测的伪标签,单模态的images信息和从smiles字符串中提取的信息都应该具有指纹的特征。其images模态目标损失:

35、

36、同理,对于smiles模态的训练目标损失为:

37、

38、其中y100∈{0,1,...,99},y1000∈{0,1,...,999}和y10000∈{0,1,…,9999}表示k-means聚类后的伪类标签。因此该预训练任务的损失为:

39、

40、最终三个预训练总损失为:

41、

42、其中λ1,λ2和λ3是权衡超参数,以使每个预训练任务损失值保持在同一数量级上。

43、4.下游任务微调阶段

44、为验证分子images与smiles的信息是互补且该方法的有效性并用于药物开发,需选择在下游分子性质预测任务中微调。经过预训练,模型能从smiles字符串和图像中提取分子特征和结构。在微调阶段,该模型遵循与预训练阶段相同的主干模块,但是,预训练头被移除,取而代之的是由全连接层组成的下游任务头,以预测分子性质。

45、每个下游任务数据集被分为训练集、验证集和测试集,使用scaffold split,比例为8∶1∶1。roc-auc被用作分类任务的评估指标,rmse被用于回归任务。在验证集上表现出最高roc-auc值或最低rmse值的模型被用来在测试集上评估,评估结果作为模型的性能。

46、神经网络超参数对下游任务的微调过程有很大的影响,因此在模型微调阶段中采用了超参数的网格搜索策略,以确保模型达到最佳效果。为了消除随机因素的影响,为每个任务选择了三个不同的种子进行实验,并报告平均值。

47、最终选择admet中的14个与药物挖掘相关的小数据集用于微调测试。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1