社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

分子建模上,深度学习真的优于传统方法?

DrugAI • 2 年前 • 301 次点击  

随着深度学习在图像、自然语言等领域的成功,在化学小分子任务上,使用深度学习也变成了一种潮流,例如分子构象生成、分子性质预测、分子生成、蛋白小分子对接等等任务。然而,这些深度学习模型真的比传统方法要好吗?深势科技刚发布的两篇论文,分别在分子构象生成及蛋白小分子对接任务上,展示了深度学习模型在某种程度上并没有比传统方法要好,同时也提出了一些给相关领域研究者的建议。


  • 论文 《Do Deep Learning Methods Really Perform Better in Molecular Conformation Generation?》提出了一种基于RDKit的简单构象生成算法,可以超越目前的深度学习方法,间接说明了目前对于分子构象生成效果的评测很可能是有问题的。

  • 论文《Do Deep Learning Models Really Outperform Traditional Approaches in Molecular Docking?》在更公平的条件下,在分子对接任务上对比了传统方法和深度学习方法,说明了深度模型其实更擅长找口袋,但在预测分子对接构象的任务上并没有比传统方法好。


下面,让我们来详细解读这两篇论文。


分子构象生成

摘要

分子构象生成(Moelcular Conformation Generation, MCG)是药物发现中一个基础且重要的问题。在计算化学中,已经有许多传统方法来生成分子构象,如系统搜索法、模建法、随机搜索、距离几何法、分子动力学、蒙特卡洛方法等。不过面对不同的分子结构,这些方法都有一定的局限性。最近,随着深度学习的发展,出现了许多基于深度学习的构象生成方法,它们声称自己的表现远远超过上述传统方法。然而,本文作者发现,基于在药物化学领域被广泛使用的RDKit软件生成的构象加上简单的聚类处理后,其表现在GEOM数据上与基于深度学习的方法相当,甚至优于后者。作者希望他们的发现可以帮助研究员们改进基于深度学习的分子构象生成算法。

图1:RDKit+Clustering 的算法流程图


方法

作者提出了一种基于RDKit的带聚类后处理的简单方法。如图1所示,作者使用三种采样器来生成多样化的低能构象。它们分别是:1)基于随机二面角的均匀采样器。这个采样器从可旋转键二面角的均匀分布中采样生成构象;2)基于EDKTG的几何采样器。它基于预先的基于片段的知识数据库将目标分子组装起来,这也是RDKit默认的算法;3)基于MMFF力场的能量采样器。这个采样器在RDKit的基础上使用更精确的力场估计来生成更好的构象。基于这些采样器的生成的构象结果,作者使用了无监督聚类算法(K-Means)来选出那些兼顾多样性和低能量的构象。


实验

在基于深度学习的构象生成方法中,GEOM数据集经常被作为衡量模型效果的基准数据集。GEOM基于半经验DFT来生成对应的三维构象。在之前的工作中,研究者们通常从GEOM中取出4万分子(约20万构象)用于训练,200分子(约2万构象)用于测试。由于一个分子有多个构象,因此有覆盖率(COV)和匹配率(MAT)两个指标来评估模型的性能。具体来说,COV是在一定的RMSD阈值下模型生成的构象对参考构象的覆盖率,越高代表多样性越好;MAT衡量生成的构象与参考构象之间的差异,越小越精确。

表1:RDKit+Clustering方法在GEOM上的表现


在GEOM的两个子数据集上,从表1可以看到,这些深度学习模型在指标上远远超过第一行的传统方法(RDKit),而本文作者提出的RDKit+Clustering方法在COV和MAT指标上却超过了大多数现有的baseline,并取得了与SOTA相当的性能,这和之前研究者的结论是明显相悖的,本文作者也在后面进一步分析了这一现象。


讨论

虽然作者提出的方法优于大多数基于深度学习的baseline,但作者怀疑现在使用的这个数据集GEOM不能满足现实世界对构象生成任务的需求。作者针对目前构象生成任务中的测评有两点看法。


当前的测评指标可能是有误导性的。

由于作者所提出的简单算法可以轻易地超过以前所有的深度模型,作者认为当前的测评很可能是有问题的。具体来说,作者假设在GEOM数据集中,生成更多样化的构象可以很容易地取得更好的结果,同时作者也设计了一些消融实验来验证这一观点。


对应构象的测评标准应该聚焦在最终的下游应用上,而不是单一数据集。

与稳定的蛋白质结构不同,分子构象空间变换是非常灵活的,和溶剂、外部环境都密切相关,而且很难通过湿实验获得。此外,在具体的下游应用中,对构象的要求也是不同的。例如,在分子对接中,人们希望能够生成更接近与靶标结合的构象;而对于量子性质预测,人们更希望构象具有更低的能量。因此,作者认为研究者们应该根据下游应用的需求,或在特定的应用上的表现,来对构象生成的模型效果进行最终的测评。


结论

作者并没有否认深度学习在构象生成领域展示的巨大潜力,随着更多生成模型的方法被提出,例如diffusion model,作者相信在该领域的数据集或者测评指标更加完善,以及构象生成算法设计本身能够和一些具体的任务场景相结合的情况下(例如生成药效构象,对于构象能量函数进行精准的建模等等),深度学习类的构象生成算法才能真正的被广泛应用到药化人员的研发管线里面,加快药物研发的进度。

参考资料

论文链接: https://arxiv.org/abs/2302.07061


蛋白小分子对接


摘要

分子对接(Molecular Docking)是药物设计中广泛使用的技术。分子对接由给定的配体分子和蛋白质上的配体结合位点(称为“口袋”)预测蛋白质-配体复合物的结合模式。对于目前已经出现的许多深度学习模型,大多数都是在整个蛋白质上进行对接,而不是像传统的分子对接方法那样在给定的口袋上进行对接,这不太符合实际应用场景的需求。而且,虽然很多之前研究者声称比传统的分子对接性能更好, 但是他们比较的方法是不公平的,因为传统方法本质上不是为没有给定口袋的整个蛋白质对接而设计的。在本文中,作者设计了一系列实验来检验这些深度学习模型和传统方法的实际性能。为了公平比较,作者将药物分子与整个蛋白质的对接分解为两个步骤:口袋搜索和给定口袋上的对接,并构建流程来分别评估传统方法和深度学习方法。作者发现深度学习模型实际上擅长口袋搜索,但传统方法在给定口袋对接方面仍优于深度学习模型。本文的工作揭示了当前用于分子对接的深度学习模型中的一些潜在问题,并为未来相关领域的研究提供了一些建议。

实验

作者设计了一系列实验,将传统分子对接方法(Uni-dock,一种经GPU加速的高效分子对接方法)和基于深度学习的模型进行公平比较。特别地,由于传统方法无法搜索口袋,作者引入了额外的口袋搜索工具,并尝试了多种口袋搜索的方法例如Fpocket, P2Rank, PointSite等。作者将与口袋搜索工具结合的传统分子对接方法和多种现有的基于深度学习的模型例如EquiBind,TANKBind,DiffDock等进行了对比。同时作者也对比了传统方法与深度学习模型的在使用相同口袋时的效果。这里作者基于DiffDock官方发布的代码和模型权重复现了DiffDock(标记为DiffDock*),并在 DiffDock* 得到的口袋上使用Uni-dock 进行分子对接(标记为 DiffDock*+Uni-dock)。最后作者还直接使用真实分子构象所在的口袋,结合Uni-dock,以展示在给定正确的口袋时传统对接方法的性能上限。


作者在EquiBind、DiffDock等工作采用的PDBBind数据集上进行了实验,也和他们使用一样的测试指标。


表2. 分子对接性能


实验结果可分为以下三个部分:

  • 整体性能

从表 1 所示的端到端未给定口袋对接性能,有以下发现:1) 对于准确的对接构象(RMSD  < 1的百分比),传统方法(使用 P2Rank 和 PointSite)可以胜过深度学习方法。2) 即使对于不太准确的指标(RMSD  < 2的百分比),传统方法仍然优于 EquiBind 和 TankBind。3) DiffDock 在 RMSD < 2 上的表现不错,但带有 DiffDock 口袋的 Uni-Dock 更胜一筹。这表明它的性能来自于更好的口袋搜索能力。


  • 分子对接性能

作者将 DiffDock* 与“DiffDock* +Uni-dock”进行比较,以检查在给定相同口袋时分子对接的性能。从结果中可以明显看出,“DiffDock* +Uni-dock”始终优于 DiffDock*。这表明当使用相同的口袋时,传统的分子对接方法仍然优于深度学习模型。


  • 口袋搜索性能

作者将Uni-dock与不同的口袋搜索方式进行比较,检验口袋搜索性能:1)很容易发现PointSite最好,Fpocket最差。2) DiffDock* 找到的口袋非常好,优于所有现有的口袋搜索工具。作者假设准确性的提升来自DiffDock中使用的额外分子输入,因为Fpocket、P2Rank 和 PointSite 仅将蛋白质作为输入。3)当使用真实口袋时,Uni-Dock 的性能在很大程度上优于所有其他方法。这表明现有方法距离口袋搜索的性能上限还有很大的空间。


讨论

根据以上实验结果,作者得出以下结论,目前的深度学习其实擅长的是口袋搜索,而不是分子对接。对于未来分子对接深度学习模型作者有以下建议:

  • 专注于与给定口袋的分子对接,而不是未给定口袋对接。在实际应用中,口袋通常在大多数药物设计项目中是已知的和固定的。

  • 口袋搜索本身就是一个重要的问题,还有很大的改进空间。此外,如果额外的配体分子可以用作模型输入(例如在表现最佳的深度模型 DiffDock 中),性能可能会进一步提高。

  • 对于端到端的未给定口袋对接模型,实验中与传统分子对接方法的比较需要是公平的。特别地,研究者应该首先使用口袋搜索方法(或直接使用与提出模型相同的口袋),然后在口袋中应用传统的分子对接方法,而不是在整个蛋白质中进行传统分子对接。


结论

目前虽然已经提出了几种用于分子对接的深度学习模型,但这些模型侧重于未给定口袋对接,不同于传统方法中给定口袋中的对接。此外,在他们的实验中,与传统方法的比较通常是不公平的,即他们在整个蛋白质中使用传统方法对接,而不是在给定的口袋中。为了检验深度学习模型的实际性能,本文作者设计了一系列实验来比较传统的分子对接方法与基于深度学习的模型。实验结果表明,传统的分子对接方法在使用相同的口袋时仍然优于深度学习模型。根据实验,作者建议研究者和未来的分子对接研究可以正确评估传统方法。此外,由于未给定口袋对接实际上与大多数药物设计中的应用不一致,作者建议分别解决口袋搜索的问题和给定口袋的分子对接的问题。


参考资料

论文链接:https://arxiv.org/abs/2302.07134

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/152286
 
301 次点击