RDkit 自动化

SKILL效率
效率 未标注权限 许可证不明确
安装这个技能

RDKit 自动化(rdkit-automation):化学信息学 Python 工具包,支持从开源数据库按常用名/CAS 号/中文名/InChIKey/DrugBank ID/ChEMBL ID 直接获取 SMILES(PubChem、Wikidata、NCI CADD CIR、OPSIN、ChEMBL、DrugBank、ChemSpider、HuggingFace),并覆盖分子读写(SMILES/MOL/SDF/MOL2/PDB/InChI/XYZ)、描述符与类药性(Lipinski Ro5/Veber/QED/全 217 项描述符/Gasteiger 电荷)、分子指纹与相似度(Morgan/ECFP/AtomPair/TopologicalTorsion/MACCS/Avalon/Tanimoto 检索去重)、子结构匹配与替换(SMARTS/MCS/RWMol 构建)、2D 绘图(PNG/SVG/网格图/子结构高亮/反应式)、3D 构象(ETKDG 嵌入/MMFF-UFF 优化/多构象/对齐 RMSD)、化学反应与虚拟库枚举、分子标准化(去盐/互变异构/Murcko 骨架/BRICS-Recap 分解)、手性与立体化学(手性中心检测/立体异构体枚举/SMILES 随机枚举)、虚拟筛选辅助(PAINS/BRENK/CHEMBL/ZINC/NIH 过滤目录 + Butina 聚类 + 多样性挑选)、2D 药效团指纹(Pharm2D)、R-基团分解(SAR)、SDF/CSV 批量流水线与 PandasTools。核心资产 references/rdkit_automation/ 为可直接 import 的包(14 个模块),references/v2026_03_recipes.md 为 rdkit 2026.03.6 本机实测配方与坑点速查,examples/ 含端到端 demo 与 20 项回归测试(全部本机跑通)。适用:药物设计虚拟筛选、分子库管理、QSAR 特征工程、批量结构处理、构象搜索、反应枚举、骨架分析、手性分析、化学空间聚类、构效关系、绘图出图。触发词:RDKit、rdkit、SMILES、SMARTS、SDF、InChI、InChIKey、MOL2、分子指纹、Morgan、ECFP、AtomPair、Avalon、Tanimoto、相似度、子结构匹配、MCS、最大公共子结构、描述符、MolWt、LogP、TPSA、QED、Lipinski、Ro5、类药性、Gasteiger、绘图、2D 结构、3D 构象、ETKDG、MMFF、UFF、RMSD、构象搜索、对齐、化学反应、反应枚举、虚拟库、酯化、Murcko、骨架、BRICS、Recap、去盐、互变异构、标准化、PandasTools、虚拟筛选、化学信息学、手性、立体化学、立体异构体、对映体、PAINS、BRENK、聚类、Butina、多样性挑选、R基团、SAR、构效关系、药效团、Pharm2D、过滤目录。

一句话选型结论

按资料字段整理

RDkit 自动化是效率类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类效率 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_6eed38f8/rdkit-automation
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

效率
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_6eed38f8仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791711159
正文体量13.4 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
整理待办与日程

把零散任务收进清单,排出优先级。

批量处理重复任务

把固定动作做成模板,重复执行。

把流程写成清单

把口头流程整理成可复用的步骤。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在效率场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
RDkit 自动化当前 未标注权限 未标注 未标注 未标注 有
Nano PDF 文档 联网访问 ClawHub 市场 424.9 万 OpenClaw 有
自动更新程序 浏览器控制 ClawHub 市场 296.4 万 OpenClaw 有
Gemini 助手 联网访问 ClawHub 市场 254.7 万 OpenClaw 有
word DOCX 文档 联网访问 ClawHub 市场 239.6 万 OpenClaw 有
Excel XLSX 前端 联网访问 ClawHub 市场 227.0 万 OpenClaw 有

SKILL.md 全文

13.4 KB
模型实际读到的说明书原文,来自技能仓库

RDKit 自动化(Python 工具包)

> v1.0.0(2026-09-26):首版。全部配方在本机 C:\WINDOWS\system32\rdkit-env(Python 3.13 + rdkit 2026.03.6)真实跑通:10 模块回归测试 10 checks, 0 failed,端到端 demo 产出 PNG/SVG/XYZ/SDF/CSV。
> v1.1.0(2026-09-27):新增 datasources 模块——按常用名 / CAS 号 / 中文名 / InChIKey / DrugBank ID / ChEMBL ID 从开源库取 SMILES 并直接进 RDKit。接入 8 个数据源(PubChem、Wikidata、NCI CADD CIR、OPSIN、ChEMBL、DrugBank、ChemSpider、HuggingFace),内置节流、503 退避重试与本地缓存。实测:PubChem/Wikidata/NCI 可用(OPSIN、ChEMBL、HF 本机不可达;DrugBank/ChemSpider 需 key)。回归测试扩到 14 checks, 0 failed。
> v1.2.0(2026-09-27):补齐此前未覆盖的 RDKit 能力,新增 4 个模块(chemfeatures / screening / pharmacophore / sar),共 20 项回归测试 0 failed:
> - chemfeatures:手性中心检测(FindMolChiralCenters)、立体化学赋值、立体异构体枚举(AllChem.EnumerateStereoisomers)、移除/翻转手性、SMILES 随机枚举。
> - screening:过滤目录(PAINS/BRENK/CHEMBL/ZINC/NIH,FilterCatalog,实测 480 条 PAINS、105 条 BRENK)、Butina 单连接聚类、领导法多样性挑选。
> - pharmacophore:2D 药效团指纹(Gobbi Pharm2D,阿司匹林实测 32 位)。
> - sar:R-基团分解(RGroupDecomposition,2026.03 新 API:RGroupDecomposition([cores]) + GetRGroupsAsColumns())。
> - 另扩展 fingerprints:新增 AtomPair/TopologicalTorsion/Avalon 统一分发 fingerprint(kind=...),相似度检索与去重支持任意指纹类型。

何时使用

凡涉及分子结构处理的任务:SMILES/SDF 读写与批量转换、描述符与类药性计算、指纹相似度检索、子结构匹配/替换、2D 出图、3D 构象生成与优化、反应枚举虚拟库、骨架分析、分子标准化去盐等。

第一步:确认运行环境(关键)

RDKit 装在独立的 venv 里,默认 python 没有。两种方式:

# 方式 A:探测环境并用含 rdkit 的解释器执行脚本(推荐,任何解释器可用)
import sys
sys.path.insert(0, r"C:\Users\Eric Ye\.workbuddy\skills\rdkit-automation\references")
from rdkit_automation import envdetect
info = envdetect.find_rdkit_python()
# 实测 -> EnvInfo(exe='C:\\WINDOWS\\system32\\rdkit-env\\Scripts\\python.exe',
#                 python_version='3.13', rdkit_version='2026.03.6')
r = envdetect.run_with_rdkit("myscript.py")   # 返回 CompletedProcess
# 方式 B:脚本直接用 rdkit-env 解释器运行(bash)
# C:/WINDOWS/system32/rdkit-env/Scripts/python.exe myscript.py
# 脚本内加:
sys.path.insert(0, r"C:\Users\Eric Ye\.workbuddy\skills\rdkit-automation\references")
from rdkit_automation import molio, descriptors, fingerprints, ...

环境不存在时安装:python -m venv rdkit-env && rdkit-env\Scripts\activate && pip install rdkit -i https://pypi.tuna.tsinghua.edu.cn/simple。也可设环境变量 RDKIT_PYTHON 指向解释器。

2026.03 必读坑点(详见 references/v2026_03_recipes.md)

  1. rdMolDraw2D 从 rdkit.Chem.Draw 导入(从 rdkit.Chem 导入会 ImportError)
  2. rdMolStandardize 从 rdkit.Chem.MolStandardize 导入
  3. BRICS 模块改名:from rdkit.Chem import BRICS(函数名 BRICSDecompose 不变)
  4. CalcMolDescriptors 移到 Descriptors 模块
  5. rdMolDraw2D.DrawReaction 已移除 → 用 rdkit.Chem.Draw.ReactionToImage(返回 PIL)
  6. AlignMol 子结构对齐 atomMap 方向是 (prb_id, ref_id),且需在去氢副本上求匹配
  7. Morgan 用新 API rdFingerprintGenerator.GetMorganGenerator(...)(旧 API 弃用告警)
  8. Count 指纹取值用 GetNonzeroElements()
  9. RunReactants 对反应物顺序敏感 → 用 reactions.run_reactants()(内部自动全排列)
  10. 中文 legend 被 PIL 静默丢弃 → grid legends 用英文
  11. 无效 SMILES 返回 None 不抛异常;批量脚本用 RDLogger.DisableLog("rdApp.*") 静默

在线数据源:名称 / CAS / 中文名 -> SMILES(v1.1)

支持 常用名、CAS 号、中文名、InChI/InChIKey、PubChem CID、DrugBank ID、
ChEMBL ID、SMILES 直通,解析结果直接进 RDKit(并可带 CID/IUPAC/分子式等属性):

from rdkit_automation import datasources as ds
ds.to_mol("aspirin")        # 常用名
ds.to_mol("64-19-7")        # CAS -> 乙酸
ds.to_mol("阿司匹林")        # 中文名(PubChem 不支持中文,走 Wikidata)
ds.to_mol("DB00945")        # DrugBank ID(需 DRUGBANK_API_KEY)
ds.batch_to_mols([...], verbose=True)     # 批量(自动节流 + 退避重试)
ds.identifiers_to_sdf([...], "out.sdf")   # 名称列表 -> SDF 分子库
ds.cir_mol("aspirin", get3d=True)         # NCI CIR 直接给 3D 构象分子
ds.pubchem_by_smiles(smi)                 # SMILES 反查 CID/IUPAC 名

命令行:python datasources.py aspirin 64-19-7 阿司匹林;自检:python datasources.py --status。

数据源状态(本机实测 2026-09-27):PubChem ✅(会限流,burst 返回 503,模块已退避重试)、
Wikidata ✅(中文名唯一可用源)、NCI/CADD CIR ✅(支持 3D SDF);
OPSIN ⚠、ChEMBL ⚠、HuggingFace ⚠ 本机不可达(接口保留);
DrugBank / ChemSpider 需 API key(DRUGBANK_API_KEY / CHEMSPIDER_API_KEY,无 key 自动跳过)。
详见 references/v2026_03_recipes.md 第 11 节。

工具包结构

references/rdkit_automation/
├── __init__.py     # 统一入口 + 用法说明
├── envdetect.py    # 环境探测(纯标准库,无需 rdkit;venv/py launcher/conda 全扫描)
├── datasources.py  # 名称/CAS/中文名/ID -> SMILES(PubChem/Wikidata/NCI/OPSIN/ChEMBL/DrugBank/ChemSpider/HF)
├── molio.py        # SMILES/MOL/SDF/InChI/XYZ 读写、加删氢、片段拆分
├── descriptors.py  # 描述符、Ro5/Veber/QED、Gasteiger 电荷、批量 CSV
├── fingerprints.py # Morgan 新 API/MACCS/相似度矩阵/Top-k 检索/去重
├── substructure.py # SMARTS 匹配/替换/删除/MCS/RWMol 从零构建
├── depict.py       # PNG/SVG/网格图/高亮/反应式(已处理 2026.03 导入坑)
├── conformers.py   # ETKDG 嵌入/MMFF→UFF 优化/多构象能量/RMSD/对齐
├── reactions.py    # SMARTS 反应/产物枚举(反应物顺序坑已封装)/虚拟库
├── standardize.py  # 标准化/去盐/互变异构/Murcko/BRICS/Recap(导入坑已处理)
├── chemfeatures.py  # 手性中心检测/立体化学赋值/立体异构体枚举/SMILES 随机枚举(v1.2)
├── screening.py     # 过滤目录 PAINS/BRENK/CHEMBL/ZINC/NIH + Butina 聚类 + 多样性挑选(v1.2)
├── pharmacophore.py # 2D 药效团指纹 Pharm2D(v1.2)
├── sar.py           # R-基团分解(构效关系 SAR,v1.2)
└── batch.py        # SDF↔CSV 流水线/批量变换/PandasTools 封装
references/v2026_03_recipes.md   # 实测配方速查 + 坑点 + 数据源状态 + 回归基准数值
examples/demo.py                 # 端到端示例(描述符→检索→绘图→3D→反应→骨架→SDF)
examples/demo_lookup.py          # 在线数据源示例(名称/CAS/中文名 -> 分子 -> 描述符 + 出图)
examples/validate_rdkit_automation.py  # 20 项回归测试(含网络部分,离线自动跳过)

典型工作流

虚拟筛选式检索:molio.iter_sdf() 读库 → descriptors.table() 过滤 → fingerprints.most_similar() 排序 → depict.grid_png() 出图。

批量结构处理:batch.batch_transform(in.sdf, out.sdf, fn)(自动统计 ok/fail,继承输入属性)或 batch.smiles_csv_to_sdf()(坏行跳过)。

3D 构象:conformers.embed_and_optimize(smiles)(ETKDGv3 + MMFF,缺参数自动退 UFF);多构象用 embed_multiple() + conf_energies() 取最低能构象;to_xyz_text() 可直接喂 Gaussian/ORCA。

反应枚举:reactions.enumerate_library(rxn_smarts, [位点1列表, 位点2列表]) 组合枚举并去重。

手性 / 立体化学(v1.2, chemfeatures)

from rdkit_automation import chemfeatures as cf
m = molio.from_smiles("C[C@H](O)C(=O)O")
cf.chiral_centers(m)                     # [(1, 'R'|'S'|'?')]
cf.is_chiral(m)                         # 是否含已指定(R/S)手性中心
cf.has_unassigned_stereo(molio.from_smiles("CC(O)C(=O)O"))  # 是否含未定义立体中心
cf.enumerate_stereoisomers(m)           # 立体异构体 SMILES 列表(唯一化+嵌入校验)
cf.num_stereoisomers(m)                 # 理论立体异构体数(-1=超上限)
cf.remove_stereo(m)                     # 移除全部立体标记
cf.invert_chirality(m, atom_idx=1)      # 翻转指定中心构型
cf.smiles_enumerate(m, n=16)            # 多个互不等价的规范 SMILES
cf.canonical_smiles(m)                  # 规范化唯一 SMILES

虚拟筛选辅助(v1.2, screening)

from rdkit_automation import screening as sc
# 过滤目录:PAINS / BRENK / CHEMBL / ZINC / NIH / ALL(可组合为列表)
sc.has_filter(mol, "PAINS")             # 是否命中(脏骨架/官能团)
sc.matched_filters(mol, "PAINS")        # 命中的规则名列表
passed, failed = sc.filter_with_reason(mols, "PAINS")   # 返回(通过, 被剔除[(idx,规则)])
sc.filter_mols(mols, "PAINS", keep="pass")             # 批量过滤
# 聚类与多样性
clusters = sc.butina_cluster(mols, cutoff=0.35)        # Butina 单连接聚类(簇=分子索引列表)
div = sc.pick_diverse(mols, k=10, cutoff=0.35)         # 领导法多样性挑选

2D 药效团指纹(v1.2, pharmacophore)

from rdkit_automation import pharmacophore as ph
fp = ph.pharm2d_fp(mol)                 # Pharm2D 位向量(阿司匹林实测 32 位)
ph.pharm2d_similarity(m1, m2)          # 药效团 Tanimoto
ph.pharm2d_most_similar(query, mols, k=5)

R-基团分解 / SAR(v1.2, sar)

from rdkit_automation import sar
# core_smiles 定义切割边界(连接到核心的取代基成为各 R 位点)
rows = sar.rgroup_table(sars, core_smiles="c1ccccc1")
# -> [{'Core':'c1ccc([*:1])cc1','R1':'O=C(O)[*:1]'}, ...]
res = sar.rgroup_decompose(sars, core_smiles="c1ccccc1")
# -> {'labels':['Core','R1'], 'columns':{'Core':[...], 'R1':[...]}}

指纹统一分发(fingerprints 扩展,v1.2)

相似度检索/去重现支持任意指纹类型,不必局限于 Morgan:

from rdkit_automation import fingerprints as fp
fp.fingerprint(mol, kind="morgan"|"atompair"|"torsion"|"maccs"|"avalon"|"rdkit")
fp.most_similar(query, mols, k=5, kind="atompair")     # 指定指纹类型检索
fp.deduplicate(mols, threshold=0.9, kind="morgan")     # 指定指纹去重

验证

改包后跑回归:C:/WINDOWS/system32/rdkit-env/Scripts/python.exe examples/validate_rdkit_automation.py,应输出 20 checks, 0 failed。

常见问题

5 问
答案由本站依据条目字段整理
RDkit 自动化怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_6eed38f8/rdkit-automation。安装方式为未标注。装完刷新技能列表或重开客户端。

RDkit 自动化支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

RDkit 自动化权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

RDkit 自动化收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

RDkit 自动化用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。