用途:在药物化学与先导化合物优化中,用反应 SMARTS 对砌块做正向枚举生成虚拟库,或从已有类似物系列中挖掘 SAR 规则。参考示例测试版本为 RDKit 2024.09+、RDChiral 1.1+、mmpdb 3.1+、scikit-learn 1.4+、numpy 1.26+,使用前需核对已安装版本。
主要能力:正向枚举用 AllChem.ReactionFromSmarts 加 RunReactants,配合 rxn.Validate() 检查;RECAP 与 BRICS 做逆合成片段化,BRICSDecompose 产出带 [1*] 等标记的片段,BRICSBuild 重组;rdRGroupDecomposition 以 [:1]、[:2] 脚手架提取 R 基团表;mmpdb 做匹配分子对分析(mmpdb fragment data.smi -o data.fragments、mmpdb index data.fragments -o data.mmpdb、mmpdb transform --smiles 'COc1ccccc1' data.mmpdb);Free-Wilson 用 Ridge 回归估计 R 基团加性贡献;模板提取用 rxnmapper 做原子映射后交给 RDChiral 工作流。
使用方式:反应 SMARTS 形如 'C:1O.[N:3]>>C:1[N:3]',同一映射号在两侧跟踪原子,映射须唯一;组合枚举用 itertools.product 做笛卡尔积,再 sanitize 并按规范 SMILES 去重、按分子量过滤。
限制:原子映射不一致会删原子或产生错误价态;RECAP/BRICS 易过度片段化;MMPA 在配对稀少时估计不稳;Free-Wilson 假设加性,无法捕捉 R1 与 R2 相互作用;R 基团分解遇多脚手架时结果可能不一致;大规模枚举(如 1k×1k×1k)会组合爆炸,需预过滤与流式写出。示例模板仅为示意,生产枚举应使用单独整理并验证的模板集。