SuperAPI AI 工具集

alterlab-rdkit

通用与其它

查看项目

更新于 10-16 05:00

技能介绍

用途:该技能面向需要细粒度分子控制的化学信息学任务,包括自定义净化、专用指纹与描述符、反应枚举、构象生成和程序化绘图。若只需 pandas 友好的高层流水线,宜用 alterlab-datamol;生成 ML 特征矩阵或预训练嵌入用 alterlab-molfeat;成药性规则集与 PAINS 结构警示用 alterlab-medchem;按名称或 ID 查询化合物用 alterlab-pubchem 或 alterlab-chembl;蛋白-配体对接用 alterlab-diffdock。

安装与版本:uv pip install rdkit,资料称当前版本 2026.03.6(截至 2026-09),示例假设 ≥ 2024.09。2026.03 中旧指纹辅助函数与 Atom.GetImplicitValence()/GetExplicitValence() 仍可用但会记录弃用警告,新代码应使用 rdFingerprintGenerator API 与 atom.GetValence(Chem.ValenceType.IMPLICIT | EXPLICIT)。

主要能力:涵盖十二个方面——分子读写与创建(SMILES、MOL/SDF、MOL2、PDB、InChI,支持供应商/写入器对象与多线程 SD 供应商);净化与校验(13 步净化,可用 sanitize=False、SanitizeMol、DetectChemistryProblems 排错);分子分析与性质(原子/键遍历、环信息、立体化学、片段与 Murcko 骨架);描述符(MolWt、MolLogP、TPSA、氢键供受体、可旋转键,及 CalcMolDescriptors 一次计算全部);指纹与相似性(RDKit 拓扑、Morgan、MACCS、原子对、拓扑扭转、Avalon,经 rdFingerprintGenerator 生成,Tanimoto/Dice/Cosine 比较,Butina 聚类);SMARTS 子结构搜索;化学反应(反应 SMARTS、RunReactants、原子映射);2D/3D 坐标生成(Compute2DCoords、ETKDG 嵌入、UFF/MMFF 优化、RMSD 对齐);可视化(MolToImage、MolToFile、MolsToGridImage、MolDraw2DCairo);分子修饰(加/删氢、Kekulize、ReplaceSubstructs、rdMolStandardize.Uncharger 中和电荷);分子哈希与标准化(rdMolHash、随机 SMILES 数据增强);药效团与 3D 特征(BaseFeatures.fdef 特征工厂)。

必要用法:MolFrom* 失败返回 None,使用前必须检查;导入时自动净化。文件流式处理用 ForwardSDMolSupplier,大文件可 MultithreadedSDMolSupplier。批量指纹用 mfpgen.GetFingerprints(mols, numThreads=4),相似性用 DataStructs.BulkTanimotoSimilarity。大分子集可用 pickle 保存分子以加速重载。

限制:MolSuppliers 并发访问非线程安全,勿跨线程共享供应商对象。常见问题包括未检查 None、净化失败(用 DetectChemistryProblems 调试)、计算氢相关性质前忘加氢、2D/3D 坐标未生成、SMARTS 未指定属性匹配任意、以及供应商线程安全。参考资料位于 references/(code_recipes.md、api_reference.md、descriptors_reference.md、smarts_patterns.md),脚本在 scripts/。