mcpField
R
rdkit

rdkit

github.com/kalarislabs其他7940 次安装6 天前更新
代码仓库

关于 rdkit

rdkit 技能为化学信息学研究者提供 RDKit Python API 的使用指导,涵盖分子读写、分析、搜索与可视化,并附有参考资料和工作流脚本。

主要功能

  1. 01分子结构读写与验证
  2. 02描述符计算与指纹分析
  3. 03SMARTS 子结构搜索
  4. 04化学反应与分子修改
  5. 05二维及三维坐标生成
  6. 06分子图像与可视化

适用场景

  1. 01计算分子性质与药物相似性
  2. 02筛选含特定子结构的分子
  3. 03生成并分析化学反应产物
  4. 04绘制分子结构用于研究

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/kalarislabs/research-agent-skills --skill rdkit

安装后在 Claude Code 中输入/rdkit确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api_reference.md
core_capabilities.md
descriptors_reference.md
smarts_patterns.md
workflows_and_best_practices.md
scripts/
molecular_properties.py
similarity_search.py
substructure_filter.py

详细介绍

RDKit 化学信息学工具包

概述

RDKit 是一个全面的化学信息学库,提供用于分子分析和操作的 Python API。本技能提供有关读取和写入分子结构、计算描述符、生成指纹、子结构搜索、化学反应、生成 2D/3D 坐标以及分子可视化的指导。可将本技能用于药物发现、计算化学和化学信息学研究任务。

当前基线(检查于 2026-06-07): RDKit 2026.03.3 是 GitHub/PyPI 上的最新版本(PyPI 上的 rdkit 2026.3.3)。官方安装文档仍建议大多数用户使用 conda-forge,同时也以 rdkit 为包名发布了跨平台 PyPI wheel。rdkit-pypi 是旧的 PyPI 包名,仅应在维护旧版环境时使用。

安装和设置

在现有 Python 环境中安装时,请使用 uv:

uv pip install rdkit

对于可复现的化学环境,尤其是在混用已编译的科学计算包时,上游仍建议使用 conda-forge:

conda create -c conda-forge -n my-rdkit-env rdkit
conda activate my-rdkit-env

除非你有意调试打包行为,否则请避免在同一环境中同时安装 conda rdkit 和 PyPI rdkit/rdkit-pypi。混合安装可能导致无法确定导入的是哪个二进制扩展。

核心功能

references/core_capabilities.md 中记录了十二个功能领域,并附有示例代码:

#领域涵盖内容
1分子 I/O 和创建SMILES、MOL 文件和块、InChI、SDF 和 SMILES 供应器、多线程读取、写入器
2清理和验证禁用自动清理、手动和部分清理、先检测问题
3分析和属性原子和键遍历、环信息和 SSSR、手性和立体化学、片段
4描述符MW、LogP、TPSA、氢键供体/受体、可旋转键、芳香环、批量计算、类药性
5指纹和相似度拓扑指纹、通过 rdFingerprintGenerator 生成 Morgan/ECFP 指纹、MACCS、原子对、扭转、Avalon;Tanimoto 和其他度量;Butina 聚类
6子结构搜索SMARTS 查询、匹配结果检索,以及常用模式库
7化学反应反应 SMARTS、应用反应、反应指纹
82D 和 3D 坐标绘图、模板对齐、ETKDG 嵌入、力场优化、RMSD、约束嵌入
9可视化单图和网格图像、子结构高亮、自定义绘图选项、Jupyter 集成、指纹位环境
10分子修改显式氢、凯库勒化、芳香性、子结构替换、电荷中和
11哈希和标准化Murcko 骨架和规范哈希、区域异构体哈希、用于数据增强的随机 SMILES
12药效团和 3D 特征特征工厂和特征提取

references/workflows_and_best_practices.md 中提供了示例工作流,以及性能、线程安全性和版本敏感性说明。

共享数据时,优先使用可移植的交换格式(SMILES、SDF);对于本地缓存,RDKit 的二进制分子表示可避免使用通用 pickle。

常见问题

  1. 忘记检查是否为 None: 解析后务必验证分子
  2. 清理失败: 使用 DetectChemistryProblems() 进行调试
  3. 缺少氢原子: 计算依赖氢原子的属性时,使用 AddHs()
  4. 2D 与 3D: 在可视化或进行 3D 分析前,生成合适的坐标
  5. SMARTS 匹配规则: 请记住,未指定的属性可匹配任何值
  6. MolSuppliers 的线程安全性: 不要在线程之间共享供应器对象

资源

references/

此技能包含详细的 API 参考文档:

  • api_reference.md - 按功能整理的 RDKit 模块、函数和类的完整列表
  • descriptors_reference.md - 可用分子描述符的完整列表及其说明
  • smarts_patterns.md - 常见官能团和结构特征的 SMARTS 模式

需要具体 API 细节、参数信息或模式示例时,请加载这些参考文档。

只有 references/ 和 scripts/ 中列出的文件是随附的本地资源。rdkit、datamol、scipy 和 sklearn 等名称指的是可安装的 Python 软件包,而不是此技能中的本地文件。

scripts/

常见 RDKit 工作流的示例脚本:

  • molecular_properties.py - 计算全面的分子性质和描述符
  • similarity_search.py - 执行基于指纹的相似性筛选
  • substructure_filter.py - 按子结构模式筛选分子

这些脚本可以直接执行,也可以用作自定义工作流的模板。

相关技能

  • datamol:通过 datamol Python 库(import datamol as dm)封装 RDKit,用于分子信息学,并返回原生 rdkit.Chem.Mol 对象…
  • molfeat:使用 molfeat(0.11.0)将 SMILES 字符串或 RDKit/datamol 分子转换为数值特征;该库提供计算器、scikit-learn…
  • medchem:基于 RDKit 和 datamol,使用 Python medchem 库(datamol-io,v2.0.5)筛选和分流小分子库。

评论

支持 Markdown