RDKit中调用FindAllPathsOfLengthN()报属性错误,求正确使用方法
解决RDKit FindAllPathsOfLengthN "has no attribute" 错误
错误原因
你遇到的"has no attribute"错误核心原因有两个:
FindAllPathsOfLengthN方法不属于rdkit根模块,而是位于rdkit.Chem.rdmolops子模块中- 代码未正确导入目标子模块,直接通过
rdkit根模块调用导致方法找不到
修正后的可运行代码
以下代码能正确获取咖啡因分子中所有长度为2的路径:
from rdkit import Chem from rdkit.Chem import rdmolops # 创建咖啡因分子对象 mol = Chem.MolFromSmiles("CN1C=NC2=C1C(=O)N(C)C(=O)N2C") # 获取所有长度为2的原子路径(返回原子索引组成的列表) all_atom_paths = rdmolops.FindAllPathsOfLengthN(mol, 2) print("原子路径列表:") print(all_atom_paths) # 可选:获取键路径(返回键索引组成的列表) all_bond_paths = rdmolops.FindAllPathsOfLengthN(mol, 2, useBonds=True) print("\n键路径列表:") print(all_bond_paths)
关键参数说明
startAtom(可选):指定起始原子的索引,不传入则返回所有起点的路径useBonds(可选):设为True时返回键索引路径,默认返回原子索引路径useHs(可选):设为True时路径包含氢原子,默认不包含
内容的提问来源于stack exchange,提问作者FireFly2000
相关产品推荐
相关产品推荐

