查看原文
其他

JACS|一种支持机器学习的开源化学反应数据库

智药邦 智药邦 2022-06-15

目前,化学反应数据通常以非结构化的形式存储,这给下游应用(包括机器学习模型的训练)带来了重大阻碍。

2021年11月2日,来自Relay Therapeutics的Steven M. Kearnes和麻省理工学院MIT的Connor W. Coley等人在J. Am. Chem. Soc.合作发表文章,介绍了一种开源反应数据库,该结构化的数据库支持机器学习以及反应预测、化学合成规划和实验设计等相关工作。

以下是该文章内容。

摘要

目前,期刊文章、专利甚至电子实验室笔记本中的化学反应数据都以各种格式(通常是非结构化的)存储,这给下游应用(包括机器学习模型的训练)带来了重大阻碍。我们介绍了开源反应数据库(Open Reaction Database, ORD),一种用于构建和共享有机反应数据的开放访问架构和基础设施(包括一个集中的数据存储库)。

ORD架构支持从实验台反应到自动化高通量实验和流动化学的传统和新兴技术。数据、架构、支持代码和基于Web的用户界面都在GitHub上公开提供。我们希望这个一致的数据表示和支持数据共享的架构将大大提高下游的计算机辅助合成计划、反应预测和其他化学任务预测的技术水平。

前言

从有机反应数据中学习化学反应性复杂模式的机遇很明显。数据驱动的机器学习模型已被设计并应用于规划合成途径,为每个假定的转化推荐反应条件,甚至预测尚未试验的反应的主要产物和杂质。"预测合成"中的这些任务和其他任务有望简化合成路线开发,并最终实现自动化多步合成。

化学反应数据通过记录实验如何进行及其结果的细节来支持这些建模工作。很少有记录有机反应的精心策划的数据库,通常研究或商业可用的数据库也很少。只有一个优秀的数据集(从美国专利商标局提取的一组反应集)是开源的。

除了在支持数据驱动模型方面的作用之外,表格化反应数据已成为几乎每个化学家工作流程中不可或缺的工具,即使仅用于信息检索。很少有化学家在不进行数据库或文献搜索(例如,通过 SciFinder 或 Reaxys)并参考描述相关合成的先例文章或专利中的程序细节的情况下合成新化合物。虽然这些数据库将化学反应的许多重要方面(例如反应物,试剂和产物的结构)制成表格并使其可搜索,但具体实验过程在原始文档中仍然是非结构化文本。

开源反应数据库是一项支持机器学习以及反应预测、化学合成规划和实验设计相关工作的举措(图1)。我们的目标是为化学反应数据提供结构化的数据格式,使数据免费和公开可用,鼓励共享竞争前的专有数据,并提供浏览/下载该数据的界面。一个关键示例是高通量反应筛选数据的标准化和共享。这一努力基于科学数据管理的FAIR原则。

图 1 计算机辅助化学发现周期:(a) 开放反应数据库;(b) 机器学习和化学信息学;(c) 人工或自动化解释和化合物设计;(d) 手动或机器人化学合成。

我们已经定义了一个反应架构,它全面覆盖了对可重复性很关键的实验细节。值得一提的是,我们以结构化格式捕获最重要的信息,而不是像目前出版物中使用的非结构化文本格式(例如作为支持信息)。原始和处理过的分析数据可以直接与实验结果相结合。反应数据可以通过编程(例如使用Python)记录或使用交互式Web编辑器记录,对于那些没有代码经验的人来说,这更易于使用。数据集枚举的模板化机制允许一个反应条目快速扩展到数百或数千个,就像高通量屏幕一样。

架构

ORD 架构包含用于记录化学反应的结构化和非结构化(自由文本)字段。它旨在描述,而不是规范。数据库中的每个反应记录都应该描述实验室中实际完成的工作,而不是理想化的协议或指令集。该架构是使用Protocol Buffers实现的,与其他常见技术(如 XML)相比,具有明显的可用性优势。

该架构包含反应的9个部分:反应标识符、输入、设置、条件、注释、观察、检查、结果(产物和分析)和出处(图2)。

图 2 开放式反应数据库架构概述。每个反应记录都包含反应标识符、输入、结果等部分。

从概念上讲,可以将以上每个部分视为架构中的第一级内容。每个部分都各自包含用于描述反应的数据字段和子内容(具有自己的数据字段)。例如,每个反应输入包含一个或多个组分(通常是Compound),每个组分都有自己的标识符,数量和反应角色(图3a)。每个架构的字段都经过结构化以约束其类型或值,例如仅允许数量为正数值或将单位限制为一组预定义的常量。

许多架构还包括一个非结构化的详细信息字段,用于提供其他字段未捕获的其他信息。结构化字段集主要包括(a)一组相对较小的常见类型(例如反应角色)以及(b)机器学习的下游用例(其中结构化类型可用作分类特征)。

图 3 脱氧氟化反应的示意图。(a) 输入。扩展输入"THF中的乙醇"以显示其溶质和溶剂组分。(b) 设置和条件。该部分包括反应容器的描述,并且有单独的温度,压力和搅拌条件的内容。(c)结果。每个结果都有一个相关的反应时间和一个或多个分析,这些分析与产物特性、产量、选择性等产物特定的参数相关联。此图中未显示数十个其他字段。

该架构旨在根据可用信息支持任意详细字段。对于从专利文献中获取的反应,可能只能在其标识符和数量字段描述输入和输出。对于原始实验者提交的反应,可以使用结构化和非结构化字段来包含可重复性所需的每个细节(包括和超过图3b中的这些细节)。为了在数据库中的记录之间强制实现基本字段的一致性,我们使用 Python 编写的验证函数来要求存在某些字段并检查合理的值。例如,每个反应必须至少有一个输入,并且每个输入化合物都需要一个量。对于不明确的值(例如作为分数输入的百分比),将发出警告。这些验证在交互式 Web 编辑器(见下文)和数据集提交过程中自动执行。

界面

虽然可使用Python编程方式生成提交,但实际上实验人员并不总是习惯于编程或使用命令行。因此,我们构建了用于创建提交和搜索数据库的Web界面。我们还在在线文档中说明了有关Web 提交仅限。

ORD 交互式编辑器是用于生成提交到数据库的工具。用户可以创建数据集,并使用响应式 Web 表单填写结构化和非结构化数据字段。此外,编辑器还可用于枚举基于反应模板的阶乘数据集,以及每个反应都有一行的 CSV 或 Excel 电子表格。我们还录制了演示编辑器使用的教程视频,可在ORD YouTube频道上找到。向 ORD 提交的文件作为对ord 数据GitHub 存储库的拉取请求或直接通过电子邮件进行。

ORD 搜索界面用于在数据库中搜索反应。可以通过输入或输出分子的 SMILES/SMARTS 子结构、反应 ID、出版物 DOI 等查询反应。每个反应都有一个摘要页面,其中显示了完整记录以及图形示意图。我们还编写了一个简单的Python API,使下游用户能够以编程方式轻松访问数据。客户端库支持基于Web的搜索界面中的所有搜索功能,以及下载完整数据集或反应列表的功能。

数据集示例

ORD旨在容纳有关跨越许多不同类型的有机反应的信息,每种反应都需要定义不同的元数据以确保可重复性。在这里,我们简要提及了预期的几个常见类别,并讨论了可能与每个类别相关的数据,ORD中的示例在表1中给出。

表1 ORD 中当前可用的示例数据集

最简单但可能最广泛的反应类别是通过"传统"实验台式操作执行的反应。这种类型的数据集通常包含由其输入(图3a),条件/设置(图3b)和单个时间点的产物结果定义的少量反应(图3c)。反应输入应始终包含有关每种组分数量的信息以及可能相关的任何其他元数据,例如化合物的来源。条件至少应包括温度和搅拌,并且设置应指定使用哪种容器(例如烧瓶,微管)。与每个反应相关的详细程度是可用信息的函数;对于可追溯数据条目,例如导入从美国专利商标局文献中解析的开源反应数据集,许多具体实验细节未详细说明。

在大多数情况下,数据的分析至少应包括所需产物的产率及其计算方式(分离率,NMR产率,手性SFC对映体过量等)。理想情况下,将包括更详细的分析数据,例如报告新化合物时通常的分析方法(1H 核磁共振,13C NMR, HRMS, IR)。反应可以包含任意分析数据,如上传的文件或外部托管数据的URL。随着时间的推移,从单个容器中取出多个样品或等分试样的动力学分析实验,由一个反应和几个不同的结果描述,每个结果都有自己的分析和产品信息;如果每个时间点使用不同的反应器,则这些反应被描述为不同的反应。

与高通量实验相对应的数据集通常遵循反应相同的情况,而不是少量可变字段,例如底物特性、催化剂特性、试剂特性、温度和产物产量。根据分析工作流程,HTE记录的产量可能未经校准:即仅对应于LC中的相对紫外峰区域或LCMS的集成TIC / EIC迹线。指定收益率的计算或估算方式对于了解数据的保真度以及在下游任务中应如何处理数据至关重要。通过 Python 代码或通过数据集枚举功能定义此类型的数据集是最容易的。

其他类型的反应利用了架构中的许多可选字段。光化学反应需要对照明条件进行额外的规范,例如光源及其与容器的距离。电化学反应需要有关电池结构的详细信息:它是分割的还是未分割的以及阴极和阳极的材料。采用流动化学的反应包括有关用于所有储备溶液的泵类型和输送速率的信息,以及有关所用流动反应器类型的详细信息。使用酶催化剂的反应利用了通过其初级氨基酸序列或UnitProt / PDB标识符定义化合物的能力。

ORD中的多步骤反应被拆分为一个数据集中的单独条目;它们的处理取决于中间产物是否被分离。具有不完整中间分离的反应序列(例如,一锅反应或伸缩反应序列)通过将一个步骤的乘积视为后续步骤的"粗"输入来链接。否则,从内部反应中分离出的产物与购买的起始原料进行处理没有区别,除了与定义化合物制备方式的反应ID进行交叉参考。

下游使用案例

我们预计ORD的主要应用之一将是生成用于机器学习(ML)的结构化数据集。使用ML进行反应建模变得越来越普遍,报告经常引用高质量数据对成功建模的重要性。可以从ORD中受益的数据驱动反应性研究类型的例子包括合成规划、反应产物预测、反应收率预测、反应条件预测、选择性催化剂设计和反应优化等等。这些化学预测工具说明了整理反应数据的价值,但我们认为,就其实用性和可以帮助解决的任务复杂性而言,它们还停留在表面。

该架构部分是围绕这些用例设计的,并为反应特征化提供了描述性的,易于访问的字段(见上文)。因此,数据集在模型训练之前需要最少的处理,并且可以快速集成到Python ML工作流程中。我们在ORD存储库中提供了一个可用于数据处理和ML管线的Jupyter Notebook示例。本示例根据Suzuki–Miyaura 耦合数据集构造产率预测器并再现文献中的回归结果。

我们希望这种类型的ML工作流程将有助于提高对反应性能(例如产率,选择性等)的理解,从而加速发现。我们预计ORD的另一个有价值的用途将是逆合成模型的构建。鉴于这些额外的细节(例如浓度、添加顺序、供应商信息),这些工具可以对新反应进行更定量的评估,并最终允许直接根据原始分析数据而不是处理后的分析数据进行训练。ORD捕获的数据比以前的数据库工作更丰富,并且应该有助于下一代化学预测工具的训练。

讨论


承诺开源

顾名思义,开源反应数据库是为开源和社区贡献而设计的。数据库中的所有反应数据均在CC BY-SA许可证下提供。各种软件工具和代码,如架构定义和交互式Web编辑器,都可以在Apache许可证下使用。数据和代码都托管在开源反应数据库组织(https://github.com/open-reaction-database)下的GitHub上。

数据质量和验证

有几种机制可以确保或至少鼓励数据具有高质量。在基本层面上,Python脚本用于验证数据集中的每个反应,如前所述。这要求所有反应都包含最低限度的信息,例如,数量与单位相关联。除了这些检查之外,ORD本身还旨在捕获重要的元数据,例如如何量化产率,以便后续分析可以区分真正的分离产率和LCMS峰值区域的估计值(后者在高通量工作流程中更常见)。

此外,所有提交内容均由未参与提交准备工作的审阅者手动审核其完整性和正确性。在审阅过程中,审阅人将要求提供上面列出的详细信息,除非提交者无法获得有关实验的更多信息(例如,超过发表的信息);在审查以前发布的数据集时,应直接比较发布和提交。如果数据集与期刊或专利文章无关,则审稿人只能检查内部一致性和完整性,并且必须信任提交者提供正确的结构和技术细节。随着ORD提交率的增长,我们预计招募更多的志愿者评审员,并根据需要调整评审流程。

有关提交者和实验者(可能不是同一个人)的信息将作为每个条目的出处元数据的一部分进行捕获,包括电子邮件地址。这将允许数据用户在下游用例需要更多信息时联系任何一方。如果发现数据质量问题或差异,我们将要求原始提交者帮助修改或审核任何建议的更改。

架构的进化

ORD架构是一个"活文档",它将改变并适应其用户和社区的需求。例如,电化学家的未来贡献或下游机器学习的进步可能需要添加新的结构化字段以更好地表示数据。在其他情况下,几乎从未使用的结构化字段可能会被弃用并删除。我们将使用版本控制和迁移过程来确保在不中断固定到早期版本的数据和代码的现有工作流的情况下,部署向后不兼容的更改(如果有)。

展望

通过提供结构化的架构、提交机制和搜索/检索工具,ORD 减少了数据共享和模型构建的几个技术阻碍。例如,采用ORD架构将允许出版物中的支持信息被标准化和可读,而无需手动解析或与作者来回分析。重要的是,使用明确定义的架构将使可重复性所需的具体实验过程的省略更加明显,并且能够更轻松地比较反应(在出版物内和出版物之间)。我们计划支持翻译软件在ORD格式和电子实验室笔记本格式以及其他新兴数据标准之间进行转换。需要明确的是:我们认为,没有附带结构化数据的PDF不应再发布。

然而,我们仍然对围绕出版业的许多社会和文化障碍保持敏感,这些障碍在该领域持续存在。除了同行评审出版物的要求之外,没有一种数据共享文化。特别是,不愿意分享低产率或选择性的"不成功"或"失败"反应 (无论是由于内在反应性,实验细节还是人为错误) 。对大多数成功的化学反应提出了过于乐观的看法,阻碍了以解释何时可能不会成功的模型发展。成功和不成功的反应不能通过超出产物测量的ORD模式来区分;这种分类有些武断,取决于下游用例。

虽然ORD还很年轻,但有望获得最初的反馈和采用。这项工作的成功将取决于数据生成者、贡献者和消费者的支持,以及对其价值的共同认可。我们鼓励数据生成者探索我们为捕获其实验数据而构建的架构,并邀请更多成员讨论如何在反应数据的整个生命周期(从实验台到笔记本电脑)中整合这些结构化数据格式。

参考资料

Steven M. Kearnes*, Michael R. Maser, Michael Wleklinski, Anton Kast, Abigail G. Doyle, Spencer D. Dreher, Joel M. Hawkins, Klavs F. Jensen, and Connor W. Coley*,

J. Am. Chem. Soc. 2021, 143, 45, 18820–18826

https://doi.org/10.1021/jacs.1c09820


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



感兴趣的读者,可以添加小邦微信(zhiyaobang2020)加入读者实名讨论微信群。添加时请主动注明姓名-企业-职位/岗位 或

姓名-学校-职务/研究方向




- 历史文章推荐 -


标准-指南

NAT METHODS|AIMe注册表:生物医学研究中AI模型的报告平台

Nat Chem|化学机器学习的最佳实践:推荐的一套标准化指南

涉及AI的临床试验的国际指南SPIRIT-AI和CONSORT-AI在顶尖医学杂志发布


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存