跳转到正文

Open Reaction Database

Open Reaction Database Project Authors

Open Reaction Database 提供结构化反应数据集,文件格式为包含 Protobuf 记录的 Parquet,并提供镜像下载以及用于流式访问和文本或 JSON 转换的 ord_schema 工作流。

条目更新 ·

概览

Open Reaction Database (ORD) 通过 ord-data 分发,是一个反应数据存储库,而非可安装的软件包或预测模型。它为下游化学数据工作流提供结构化记录,同时提供用于下载和处理数据集的辅助脚本。GitHub 是权威存储库;Hugging Face 提供数据集对象的只读镜像,包括通过 Git LFS 自动路由的下载。

每个 Parquet 文件代表一个数据集,其中按行存储序列化的反应 Protobuf 消息,并在文件元数据中保留数据集名称、描述和 ID。文档所述的 ord_schema.datasets.load_dataset 接口默认返回流式 DatasetView,可以按需读取反应。用户可以迭代、索引或切片记录,按 ID 获取反应,枚举 ID,或处理单独的行组。将数据集物化为 Dataset proto 后,即可对整个数据集进行修改和序列化;示例还展示了可读性较好的 .pbtxt 输出,以及将单条反应转换为 JSON。

集成时需要注意若干重要的表示限制。Dataset.reaction_ids 不会持久化,reaction_id 列才是权威数据源,而且空数据集无法写入。索引获取的反应是重新反序列化生成的副本,因此修改它们不会改变存储文件。名称相似的 ord_schema.parquet.load_dataset 始终会物化数据,而不是以流方式读取。对于旧引用,retired_datasets.csv 会映射已合并的数据集 ID,而 USPTO 反应记录保留了专利来源信息。数据集许可与存储库代码许可彼此独立。

README 将仓库辅助代码的许可标为 Apache-2.0,将数据集及其描述性元数据的许可标为 CC-BY-SA-4.0。使用时请分别核对这些组件,并检查所用数据的署名与再分发条件。

主要功能

  • 每个 Parquet 文件存储一个数据集,其中包含序列化的反应 Protobuf 记录,以及数据集级别的名称、描述和 ID 元数据。
  • 支持通过自动配置的 Hugging Face 镜像下载完整的 Git LFS 数据,并可使用随附的辅助工具仅下载数据或下载子集。
  • 通过 ord_schema 提供文档所述的流式访问方式,包括迭代、索引、切片、按反应 ID 查找以及仅枚举 ID。
  • 提供行组迭代,返回 `(reaction_id, Reaction)` 对,以便将大型文件的处理任务分区。
  • 说明如何转换为便于阅读的 `.pbtxt`,以及如何将单条反应消息转换为 JSON。
  • 将已停用的数据集 ID 映射到合并后的替代数据集,并为 USPTO 数据保留逐条反应的专利来源信息。

使用场景

  • 建议评估:检查具有代表性的反应记录,再决定所选数据集是否适用于反应预测训练或基准测试工作流。
  • 建议评估:构建基于行组的数据提取流程,并检查流式访问是否满足本地内存和处理需求。
  • 建议评估:将选定记录转换为 JSON 或 `.pbtxt`,以检查架构并与下游化学数据工具集成。
  • 建议评估:将旧数据集引用与合并后的 ID 对应起来,并检查 USPTO 专利来源信息以便追溯。

使用方式

  1. 阅读存储库 README,并确定所需数据集。请将 ord-data 视为数据存储库,而非需要安装的软件包。
  2. 选择通过 Git LFS 访问完整存储库,或浏览 Hugging Face 镜像。如需选择性下载,请按照 README 中的辅助脚本说明操作,而不要获取整个数据集。
  3. 按照文档中针对选定 Parquet 文件的 ord_schema 加载示例进行操作。先使用默认的流式视图,并检查其元数据、记录数量和有代表性的反应。
  4. 根据工作流选择迭代、ID 查找或行组处理。仅在需要修改或序列化整个数据集时,才将其物化为 Dataset proto;如需输出 .pbtxt 或 JSON,请使用文档中的示例。
  5. 在重新分发或提交数据之前,请查阅数据集许可、使用条款,并在相关情况下查阅提交工作流。

相关资源

Benchling MCP (longevity-genie) 是一个 Python MCP 服务器,通过 API 凭据将 AI 客户端连接到 Benchling 的笔记本条目、生物序列、项目和实体搜索功能。

开源Python

实验室自动化 · 科学数据

ChEMBL MCP (cyanheads) 将 MCP 客户端连接到 ChEMBL 化合物、靶点、生物活性和药物记录,并支持结构搜索以及可选的 DuckDB 大型活性数据集分析。

开源TypeScript

药物发现 · 科学数据

由 ChEMBL 团队维护的官方 Python 客户端,用于查询 ChEMBL 数据和化学信息学服务,提供 QuerySet 风格的筛选器、惰性检索和本地结果缓存。

开源Python

药物发现 · 科学数据

面向材料研究的学术数据平台,可检索计算结构与性质,为材料发现与机器学习研究准备参考数据。

材料发现 · 科学数据

Materials Project API 是以 mp-api 发布的 Python 客户端项目,其官方数据访问文档和可选 MCP 服务器入口点均在其软件包配置中声明。

开源Python

材料发现 · 科学数据

一款第三方 MCP 服务器,通过 mp_api 将助手客户端接入 Materials Project,提供材料搜索、晶体结构、电子性质及其他材料数据查询工具。

开源Python

材料发现 · 科学数据

相关指南

数据集

化学 AI 数据集的来源与许可

在合并数据或设计模型评估之前,建立可审计的记录,追踪化学数据集的来源、使用条件、标识符和转换过程。

许可

分别审阅代码、模型权重与数据许可

为化学 AI 工作流建立逐组件许可记录,将软件、模型权重、数据集和托管服务分别处理,并明确标示缺失证据与未解决的条件。