这是一套基于 RDKit 的化学信息学管道技能(薄脚手架),聚焦小分子化合物的性质计算、库过滤和相似性分析。它不重复教 RDKit 语法,而是提供指纹选择逻辑、过滤级联顺序以及版本相关易错点,帮助 agent 避免参数不匹配和已弃用 API。
适用场景:过滤化合物库(Lipinski/Veber/PAINS);指纹相似性搜索或聚类;用 mmpdb 进行匹配分子对(MMP)分析。
核心概念:过滤级联顺序为 Lipinski → Veber → PAINS → 相似性,先做最便宜的、最后做最贵的。指纹自 RDKit 2024.03 起应统一使用 rdFingerprintGenerator 模块,AllChem.GetMorganFingerprintAsBitVect() 路径已弃用并将移除。SMILES 校验应先用 sanitize=False 解析,再在 try/except 中显式 SanitizeMol(),因为默认 MolFromSmiles 在部分失败时会静默返回 None。
指纹选择:通用相似性用 Morgan(ECFP4),radius=2、fpSize=2048,Tanimoto 阈值 ≥0.7;高特异性匹配用 Morgan(ECFP6),radius=3、fpSize=4096,阈值 ≥0.6;子结构筛选用 MACCS 166 keys,阈值 ≥0.8;药效团相似性用 FCFP,radius=2 配合 GetMorganFeatureAtomInvGen(),阈值 ≥0.6;大规模聚类用 Morgan、radius=2、fpSize=1024,以速度优先。
过滤阈值:Lipinski MW ≤500 Da、LogP ≤5、HBD ≤5、HBA ≤10,允许总共不超过 1 项违规,非二值通过/失败;Veber TPSA ≤140 Ų、RotBonds ≤10 为硬性截断;PAINS 使用 A+B+C 目录,仅用于 HTS 初筛,不用于先进化合物。
MMP 分析:从化合物对做 SAR 用 mmpdb fragment → index → transform,--min-pairs 3;性质预测用 mmpdb predict,需要带性质数据索引的数据库。核心识别用 rdFMCS.FindMCS(),参数 ringMatchesRingOnly=True、completeRingsOnly=True;大规模库(>10K)用 mmpdb CLI,--max-variable-size 10 限制碎片化。
关键参数:Morgan radius 默认 2,需要更高特异性改为 3;fpSize 默认 2048,速度改 1024、精度改 4096;includeChirality 默认 False,立体敏感应用设 True;mmpdb --min-pairs 默认 3,稀疏数据集可降低;--max-variable-size 默认 10,大环变换可增大;PAINS 目录须用 A+B+C 全部三套,绝不使用部分集合。
常见错误:使用已弃用的 AllChem 指纹函数;默认 MolFromSmiles 不处理错误;把 Lipinski 当作硬二值过滤;对临床候选物套用 PAINS;Morgan radius 用 1;比较参数不同的指纹;手性化合物忽略立体化学;对所有指纹类型固定 0.7 阈值;将原始 SMILES 直接送入 mmpdb;混淆 LogP 与 LogD。
限制:资料未提供安装命令、具体依赖版本、收费或平台信息,暂未提供。