RDKit中Mol对象调用Compute2DCoords方法触发AttributeError求助
解决RDKit中
Compute2DCoords的AttributeError问题 修正后的代码
import rdkit.Chem as Chem mol = Chem.MolFromSmiles('CCC') Chem.Compute2DCoords(mol) # 正确调用方式
问题原因
RDKit文档虽将Compute2DCoords列在Mol类条目下,但它实际是模块级别的工具函数,而非Mol实例的方法。RDKit中大量分子操作采用函数式设计,需要将Mol对象作为参数传入,而非通过实例直接调用。
替代实现方式
也可以通过rdDepictor模块调用对应函数,效果一致:
import rdkit.Chem as Chem from rdkit.Chem import rdDepictor mol = Chem.MolFromSmiles('CCC') rdDepictor.Compute2DCoords(mol)
验证坐标生成
若需确认2D坐标是否成功生成,可通过以下代码查看:
positions = mol.GetConformer().GetPositions() print(positions)
内容的提问来源于stack exchange,提问作者Lukas Kaspras
相关产品推荐
相关产品推荐

