分享

JCIM|计算化学中的开源机器学习工具总结

 智药邦 2023-08-03 发布于上海
2023年7月19日,来自德国波恩-莱茵-齐格应用技术大学的研究者在Journal of Chemical Information and Modeling上发表论文“Open-Source Machine Learning in Computational Chemistry”。
图片
本文总结了机器学习应用于计算化学领域的179个开源工具,其中包括基础的软件开发相关工具、通用的Python软件包、量子力学和密度泛函理论等计算化学工具、与特定科学研究主题为重点的开源工具以及一些不易归类的其他Python相关库。

作者认为建立一个集中的在线平台来发布以计算化学为重点的机器学习算法和数据集,有助于推动计算化学的发展。

1 摘要

在计算化学领域,机器学习概念和算法的整合日益增加。从机器学习的视角,本文调查了过去5年内发表的179个开源软件工具。对于每个工具,本文提供简短的描述、代码链接、附带的许可证类型,以及训练数据和最终模型的公开状态。根据GitHub存储库中存储的Python库,本文讨论了那些备受欢迎的Python库。这些Python库可以作为一种资源,通过在主题基础上总结的代码和论文来了解机器学习及其特定架构。为此,本文还介绍了用于生成训练数据的计算化学开源软件和用于机器学习的基本Python库。本文讨论了协同机器学习研究的三大支柱,开放数据、开源代码和开放模型,向社区提供了一些相关建议。

2 介绍

创建模型和进行模拟是科学的基石。在计算机出现之前,模型是在纸上创建的 (例如数学、图表) 或用材料物理构建的。现代建模是在计算机上完成的,这使得人们能够轻松调整参数并快速观察结果。如今,存在大量的模拟和建模代码,这些代码可以对公众开放,也可以不对公众开放。虽然开源软件是由公司出于经济原因创建的,但开源软件在科学发现中发挥了重要作用。开放源码软件 (open-source software, OSS) 的理念促进了代码 (即工具) 的分发,并随后促进了嵌入代码中的自然和计算机科学知识的分发。OSS鼓励研究人员批判性地阅读代码,了解其数学公式、参数和假设以及工作流的逻辑,并根据需要对其进行修改。
机器学习 (Machine learning, ML) 领域已经明显发展,这可以从包括研究文章数量的增加以及公众表现出的兴趣中看出。开源ML算法及其训练模型的目标和行为对该领域有以下三个好处:(1) 标准化接口 (例如,采用特定的框架),(2) 指导实验 (例如,指导项目选择和获得新的视角),以及(3) 创建社区。
计算化学领域从OSS和ML的进步中受益匪浅。软件工具的开发和访问使非专家能够在化学和生物研究中应用ML,也使ML专家能够解决化学和生物领域的问题。ML的核心是建立在统计数据和复杂的黑盒建模技术之上,这些技术是通过编程实现的、是分布式和可访问的。Python编程语言特别适合自然科学家,因为它很容易生成可读的过程和面向对象的代码,可以快速、创造性地探索思想。Python也是ML社区中最流行的语言。
本文的目标是介绍开源的基于Python (少数例外) 的ML工具,这些工具可供开始探索该技术的计算化学研究人员使用,无论是直接使用 (即应用) 所学模型,还是阅读代码以进行优化 (即修改)。本文主要介绍4组软件库,包括:(1) 通用软件开发工具;(2) 用于数据操作和可视化的标准科学Python库;(3) ML软件的基础库;(4) 用于特定计算化学主题的工具。关于机器学习计算化学工具开放性概念的图示如图1所示。
ML研究中开放性的三个构建块是 (1) 数据集 (开放数据) 的可用性,(2) 代码 (开源) 的可用率,以及 (3) 训练的ML模型 (开放模型) 的可用度。

图片

图1 如本文所述,开放数据、开放模型和开放源代码如何应用在计算化学的不同子域中的图示。

3 软件和库

本文首先介绍了通用的软件开发工具。Conda软件支持Python及其库的安装和管理。GitHub或GitLab等服务托管的在线代码库有利于存储代码。Git工具可以方便控制代码版本。可以使用集成开发环境 (IDE) 软件来开发代码(例如,PyCharm、Spyder、或Visual Studio code),也可以使用Jupyter工具和谷歌的Colaboratory来进行本地或在线编程。然后介绍了标准的科学Python库 (表1)、经典机器学习的相关开源库 (表2)、统计机器学习的相关开源库 (表3)、 深度学习的相关开源库 (表4)、GNN的相关开源库 (表5)、用于自动特征提取的库 (表6)、 模型选择的相关库 (表7)、用于超参数优化的库 (表8)、用于经典机器学习的AutoML开源库 (表9)。本文还提供了这些开源软件的网址和所遵守的开源协议。

表1 用于科学计算的开源库

图片

表2 经典机器学习的相关开源库

图片

表3 统计机器学习的相关开源库

图片

表4 深度学习的相关开源库

图片

表5 GNN的相关开源库

图片

表6 用于自动特征提取的库

图片

表7 模型选择的相关库

图片

表8 用于超参数优化的库

图片

表9 用于经典机器学习的AutoML开源库

图片

4 计算化学工具

使用机器学习来改进计算化学中的主要方法工具是非常重要的,因为它们被广泛用于研究不同的问题。这里重点介绍量子力学 (quantum mechanics, QM) 和密度泛函理论 (density functional theory, DFT) 的第一性原理方法,以及基于牛顿的分子力学 (molecular mechanics, MM) 和分子动力学 (molecular dynamics, MD) 方法的相关ML库,包括:深度学习中相关的AutoML开源库 (表10)、用于训练和验证的QM和DFT的相关开源库 (表11)、以计算化学为中心的用于改进DFT泛函的机器学习工具 (表12)、用于计算化学的力场参数确定的机器学习工具 (表13)、用于部分原子电荷测定的计算化学的机器学习工具 (表14)、可用于训练和验证计算分子力学和分子动力学目标的开源工具 (表15)、以计算化学为重点用于增强分子动力学模拟的机器学习工具 (表16)、以计算化学为重点用于分析分子动力学模拟的机器学习工具 (表17)、用于对接计算的开源库 (表18)、用于对接和虚拟筛选的机器学习评分功能和工具 (表19)、用于蛋白-配体互作预测的机器学习工具 (表20)。

表10 深度学习中相关的AutoML开源库

图片

表11 用于训练和验证的QM和DFT的相关开源库

图片

表12 以计算化学为中心的用于改进DFT泛函的机器学习工具

图片

表13 用于计算化学的力场参数确定的机器学习工具

图片

表14 用于部分原子电荷测定的计算化学的机器学习工具

图片

表15 可用于训练和验证计算分子力学和分子动力学目标的开源工具

图片

表16 以计算化学为重点用于增强分子动力学模拟的机器学习工具

图片

表17 以计算化学为重点用于分析分子动力学模拟的机器学习工具

图片

表18 用于对接计算的开源库

图片

表19 用于对接和虚拟筛选的机器学习评分功能和工具

图片

表20 用于蛋白-配体互作预测的机器学习工具

图片

5 特定科学研究主题为重点的开源工具

接着,作者介绍了一些以特定科学研究主题为重点的开源工具,包括:用于预测蛋白质中可能的结合口袋的机器学习工具 (表21)、用于探索蛋白质-蛋白质相互作用和蛋白质折叠的机器学习工具 (表22)、用于预测分子能、溶剂化能和结合作用的机器学习工具 (表23)、用于设计新分子的机器学习工具 (表24)、用于预测反应物产物和优化合成的机器学习工具 (表25)、用于探索分子构象空间的机器工具 (表26)、用于预测光谱的ML工具 (表27)、用于预测pKa的机器学习工具 (表28)。

表21 用于预测蛋白质中可能的结合口袋的机器学习工具

图片

表22 用于探索蛋白质-蛋白质相互作用和蛋白质折叠的机器学习工具

图片

表23 用于预测分子能、溶剂化能和结合作用的机器学习工具

图片

表24 用于设计新分子的机器学习工具

图片

表25 用于预测反应物产物和优化合成的机器学习工具

图片

表26 用于探索分子构象空间的机器工具

图片

表27 用于预测光谱的ML工具

图片

表28 用于预测pKa的机器学习工具

图片
除了上述开放源码软件外,还有一些项目值得一提 (表29),但不易归类为上述类别。特别值得注意的是DeepChem,这是一个Python库,旨在简化生命科学中使用的机器和深度学习模型的创建。DeepChem的深度学习算法可与Keras、TensorFlow、PyTorch和Jax框架一起使用,并包括sklearn等浅层学习库。

表29 用于探索其他主题的ML工具

图片

6 结论

机器学习在计算化学领域越来越受欢迎。本文总结了机器学习算法在计算化学领域的应用,机器学习算法在改进理论建模、化学和生物观测方面显现出令人兴奋的成果。许多期刊、审稿人和主要研究人员明确要求公布论文中使用的原始数据,以及训练后的机器学习模型的代码、训练数据和参数 (或超参数)。
本文调查的项目若能够合理地代表整个计算化学社区,这说明本领域的机器学习模型的代码和数据的的普及率很高,这是令人鼓舞的。然而,本文作者也鼓励研究人员也公布优化后的模型。这样做将使非机器学习专家能够在他们的研究工作中更容易地使用这些模型,并将有利于复现模型所附论文的结果。最后,作者建议建立一个集中的在线平台来致力于发表以计算化学为重点的机器学习算法和数据集,来推动计算化学的发展。
参考文献:
Hagg A, Kirschner K N. Open-Source Machine Learning in Computational Chemistry[J]. Journal of Chemical Information and Modeling, 2023.

--------- End ---------

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多