You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RDKit中UFFOptimizeMolecule参数不匹配错误求助

背景

我需要将SMILES转换为3D SDF格式。仅使用Chem.MolFromSmiles时可成功输出2D SDF,但处理3D转换时遇到问题。

我的代码如下:

df.loc[ind, 'ROMol'] = Chem.MolFromSmiles(row[args.smi_column])
df.loc[ind, 'Mol_H'] = Chem.AddHs(df.loc[ind, 'ROMol'])
df.loc[ind, 'Mol_H'] = AllChem.EmbedMolecule(df.loc[ind, 'Mol_H'])
df.loc[ind, 'Mol_H'] = AllChem.UFFOptimizeMolecule(df.loc[ind, 'Mol_H'])

我的RDKit版本:

rdkit                     2024.03.5        py39hc1ff0a3_1    conda-forge
问题

处理SMILES为CCCS的分子时出现错误:

df.loc[ind, 'Mol_H'] = AllChem.UFFOptimizeMolecule(df.loc[ind, 'Mol_H'])
Boost.Python.ArgumentError: Python argument types in
    rdkit.Chem.rdForceFieldHelpers.UFFOptimizeMolecule(int)
did not match C++ signature:
    UFFOptimizeMolecule(RDKit::ROMol {lvalue} self, int maxIters=200, double vdwThresh=10.0, int confId=-1, bool ignoreInterfragInteractions=True)

针对CCCS,AllChem.EmbedMolecule(df.loc[ind, 'Mol_H'])的输出为0,说明3D构象嵌入成功。

补充信息

我已尝试改用OptimizeMoleculeConfs()方法来解决该问题。


内容的提问来源于stack exchange,提问作者M.Vu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 09:09:52