RDKit 化学信息学工具包
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/rdkit。
技能介绍
你在解决什么问题
药物发现、虚拟筛选和计算化学流水线里,大量工作落在「把结构读进来 → 算性质 → 按子结构或相似性筛一遍 → 必要时做反应或出图」。RDKit 本身是成熟的化学信息学库,但 API 面很广:SMILES/SDF 解析失败时静默返回 None、SMARTS 的默认匹配规则、描述符与规范 SMILES 随版本漂移,都容易在脚本里变成难查的 bug。
技能如何组织工作
本技能按 RDKit 常见任务链写操作指引,而不是替你做封装:
- 结构与 I/O:
MolFrom*/MolTo*、Supplier/Writer 批量读写,并强调导入时的自动清理(化合价、芳香性、手性)。 - 分析与筛选:分子描述符与 Lipinski 相关检查、多种指纹与 Tanimoto 相似性、SMARTS 子结构匹配及常见官能团模式。
- 几何与展示:2D/3D 坐标与构象嵌入、子结构高亮与 Notebook 绘图;化学反应用反应 SMARTS 与原子映射说明。
- 标准化与修饰:电荷中和、子结构替换、分子哈希与随机化 SMILES 等,便于去重与数据集对齐。
技能内 references/ 提供按模块整理的 API、描述符列表与 SMARTS 模式;scripts/ 给出属性批量计算、指纹相似性筛选、子结构过滤等可改模板。需要具体函数签名或模式示例时再查参考文件。
适用边界
- 解析与清理失败要用
DetectChemistryProblems()等方式排查;依赖氢原子的性质记得AddHs()。 - 规范 SMILES、描述符/哈希、绘图与
MolStandardize在近年版本有行为变更;若结果要进持久化特征或合规报告,应固定 RDKit 版本。 - 数据交换优先 SMILES/SDF;不要对不可信来源用 pickle。
MolSuppliers不宜跨线程共享。
使用场景
- 从化合物库 SDF 批量读入结构,用指纹算 Tanimoto 相似度,筛出与先导分子接近的候选集
- 按 SMARTS 官能团或骨架模式过滤导入分子,去掉不符合药化筛选规则的条目
- 对 SMILES 列表批量算描述符与 Lipinski 相关指标,整理成可进建模或汇报表格的属性面板
- 在 Notebook 里生成带子结构高亮的 2D 结构图,用于 medchem 讨论或虚拟库展示
适合人员
- 负责虚拟筛选流水线、需要用子结构与指纹规则筛库的计算化学/药化信息学工程师
- 每周从内部化合物注册表导出 SMILES,要做标准化、去重哈希并补全描述符的数据库维护同学
- 做先导优化汇报、要把一批结构算性质并出 2D 高亮图的药化研究员
- 在课程或课题里用 RDKit 做相似性聚类、反应 SMARTS 枚举的小型分子数据集研究生