Bio.PDB mmcif2dict 模块不可调用

Bio.PDB mmcif2dict module not callable

我使用 Bio.PDB 中的函数 retrieve_pdb_file 获取了蛋白质的晶体结构。默认格式已从 PDB 更改为 PDBx/mmCif。我想从 cif 文件中的 header 中提取蛋白质序列。 Bio.PDB 中应该有一个名为 MMCIF2Dict 的简单函数来执行此操作,但该模块不可调用。我也手动下载了cif文件,放到脚本文件夹里,还是一样的错误。我的 biopython 是最新的。是我做错了什么还是模块没有很好地实现?谢谢你的回答。

from Bio.PDB import *

cifFile = '1bu7.cif'
mmcif = MMCIF2Dict(cifFile)

TypeError: 'module' object 不可调用

尝试:

from Bio.PDB.MMCIF2Dict import MMCIF2Dict

而不是:

from Bio.PDB import *

该模块实现良好。您的代码的问题是您调用的是 模块 而不是 函数 。在您的特定情况下,模块和函数具有相同的名称,因此会造成混淆。

要解决这个问题,您需要按如下方式修复代码:

from Bio.PDB import *

cifFile = '1bu7.cif'
mmcif = MMCIF2Dict.MMCIF2Dict(cifFile)