我正在尝试使用
加载PDB_ID 5itp的蛋白质原子坐标mmcif_dict = MMCIF2Dict.MMCIF2Dict("5itp.cif")
for i in range(0,len(mmcif_dict["_atom_site.auth_atom_id"])):
print(mmcif_dict["_atom_site.Cartn_x"][i])
它返回一个错误:IndexError:字符串索引超出范围。 蛋白质4y7l会弹出相同的错误。
我查看这两种蛋白质的cif文件,发现Cartn_x有两个条目。第一个出现在ATOM坐标
之前...
_atom_site.pdbx_PDB_ins_code
_atom_site.Cartn_x
_atom_site.Cartn_y
_atom_site.Cartn_z
_atom_site.occupancy
...
第二个出现在
2 2 'Structure model' '_atom_site.Cartn_x'
3 2 'Structure model' '_atom_site.Cartn_y'
4 2 'Structure model' '_atom_site.Cartn_z'
如果我删除第二个,MMCIF2Dict.MMCIF2Dict正常工作。但问题是修改每个这样的cif文件以读取原子坐标是不切实际的。有没有人有这个问题的解决方案?