跳转到正文

RDKit

RDKit 是一款开源化学信息学工具包,可用于二维和三维分子操作、描述符与指纹生成,以及通过 PostgreSQL cartridge 进行化学搜索。

条目更新 ·

概览

RDKit 为化学工作流提供化学信息学和机器学习软件。其核心分子数据结构和算法以 C++ 实现,并提供 Python 接口及其他语言封装。它是用于构建分子处理与分析工作流的工具包,而非单一的即用型预测模型。官方资料介绍了分子操作、数值特征生成、数据库搜索,以及与外部工作流工具的集成。

在工作流层面,RDKit 的二维和三维操作以分子数据为对象,而描述符与指纹生成则会产生可用于下游机器学习的特征。来源摘录未说明支持的分子文件格式或详细输出模式。对于基于数据库的工作流,PostgreSQL cartridge 支持子结构搜索和相似性搜索,以及描述符计算。RDKit 还为 KNIME 提供化学信息学节点,为基于工作流的分析提供另一种集成途径。

各接口的覆盖范围有所不同:README 介绍了 Python 3.x 封装、Java 和 C# 封装,以及用于重要功能的 JavaScript 和 CFFI 封装。这一表述并不能证明各接口具有相同的功能覆盖范围。Contrib 目录提供社区贡献的软件,概述将其列为标准发行版的一部分。概述还提醒,所提及的集成实现能够运行,但不一定速度最快或最完整。摘录未提供预测准确度或吞吐量结果;是否适用于特定数据集、接口或数据库工作负载,仍需评估。

主要功能

  • 以 C++ 实现核心分子数据结构和算法,并使用 Boost.Python 生成 Python 3.x 封装。
  • 用于化学信息学工作流的二维和三维分子操作。
  • 为下游机器学习应用生成描述符和指纹。
  • 支持子结构搜索、相似性搜索和描述符计算的 PostgreSQL 分子数据库 cartridge。
  • 用于集成 KNIME 工作流的化学信息学节点。
  • 使用 SWIG 生成的 Java 和 C# 封装,以及提供重要功能的 JavaScript 和 CFFI 封装。

使用场景

  • 建议评估:从项目的分子数据生成描述符或指纹,并评估其作为下游机器学习流水线输入的实用性。
  • 建议评估:使用来自化学集合的代表性查询,评估 PostgreSQL 子结构搜索和相似性搜索。
  • 建议评估:使用 RDKit 化学信息学节点搭建 KNIME 工作流原型,并将其行为与项目所需的处理步骤进行比较。
  • 建议评估:通过 Python 接口探索文档所述的二维或三维分子操作,再将其纳入化学分析工作流。

使用方式

  1. 从官方概述入手,选择使用库、PostgreSQL 搜索还是 KNIME 集成。明确项目需要的分子操作或特征输出。
  2. 查阅安装指南了解环境设置。README 建议 Python 用户使用 conda;应依据官方说明选择安装方式,而不要假定其与现有环境兼容。
  3. 阅读 Python 入门指南。在评估一小组有代表性的自有分子之前,先检查其中记录的输入约定和示例。
  4. 根据所选工作流,使用描述符参考或 PostgreSQL cartridge 文档。作为评估步骤,应根据项目需求检查输出和搜索行为。
  5. 记录所用的 RDKit 版本,并遵循引用指南。如有问题,可使用 GitHub 讨论区;如遇到可复现的问题,可使用问题跟踪器。

相关资源

ChemCP 是一款 MCP App,可使用 RDKit.js 将 SMILES 字符串转换为交互式二维分子图和计算描述符,并为支持 MCP Apps 的主机提供聊天内查看器。

TypeScriptJavaScript

化学信息学

ChemCrow

智能体

ChemCrow 是一个基于 Python、使用 Langchain 构建的化学智能体软件包,可将语言模型推理与 RDKit、paper-qa、化学数据库和反应规划工具连接起来。

开源Python

化学信息学 · 文献与研究

Chemistry Development Kit (CDK) 是一个 Java 库,可在其他程序中用于化学表示、文件转换、结构搜索、指纹生成、QSAR 描述符计算和分子渲染。

开源

化学信息学

Datamol

开源工具

Datamol 是一个基于 RDKit 构建的 Python 分子处理库,提供结构转换、标准化、指纹、构象生成、可视化以及本地或远程文件 I/O 工具。

开源Python

化学信息学

K-Dense Scientific Agent Skill,用于指导基于 Datamol 的分子制备、相似性分析、骨架工作流和构象处理,并提供输入验证与可复现性方面的指导。

Python

化学信息学 · 药物发现

Molfeat

开源工具

Molfeat 是一款用于小分子特征化的 Python 工具包,将分子指纹、描述符和预训练嵌入与并行转换、缓存及可扩展插件相结合。

开源Python

分子性质预测 · 化学信息学

兼容客户端

用于以下实用方案

官方

使用 Claude + RDKit MCP 进行分子分析

将 Claude Desktop 接入本地 RDKit MCP,通过 SMILES 计算分子式、平均与精确分子质量、TPSA 和 Crippen 描述符,并提供可复现的安装配置与验收步骤。

RDKit MCP Server (TandemAI) + RDKit

分析分子

难度: 中等 费用: 免费与付费混合 隐私: 云端 ~30 分钟

Claude Desktop · Python

查看安装指南 →
官方

为 Cursor 添加化学 AI 能力

为 Cursor 项目接入固定版本且限定工具的 RDKit MCP,使用可复现 SMILES 提示词核对分子分析调用与结果。

RDKit MCP Server (TandemAI) + RDKit

搭建化学助手

难度: 中等 费用: 免费与付费混合 隐私: 云端 ~30 分钟

Cursor · Python

查看安装指南 →
官方

化学数据清洗组合

使用 RDKit 校验并规范化 SMILES,保留原始行、标记重复项,并可选使用 PubChem 补全合法条目的标识。

RDKit + PubChemPy

处理化学数据

难度: 中等 费用: 免费 隐私: 取决于配置 ~30 分钟

Python

查看安装指南 →

相关指南

模型

QM9 分子性质预测:如何正确评估

明确 QM9 目标和单位,区分分子图与几何输入,防止评估泄漏,并保留原始数据与处理过程的来源记录。

工作流

如何使用 RDKit 构建 AI 化学信息学工作流

设计可追溯的 RDKit 工作流,用于分子验证、标准化、描述符与指纹计算以及化学搜索。比较 Python、MCP 和 Skill 访问方式,再添加范围受限的 PubChem 信息补充,避免将工具执行与科学验证混为一谈。