可以尝试使用PDBParser和StructureBuilder类来替代PDB模块。以下是示例代码:
from Bio.PDB.PDBParser import PDBParser
from Bio.PDB.StructureBuilder import StructureBuilder
# 解析PDB文件
parser = PDBParser(QUIET=True)
structure = parser.get_structure('pdb_id', 'pdb_file')
# 创建StructureBuilder对象
builder = StructureBuilder()
# 遍历模型、链、残基和原子来构建StructureBuilder对象
for model in structure:
builder.init_model(model.id)
for chain in model:
builder.init_chain(chain.id)
for residue in chain:
builder.init_residue(residue.get_resname(), residue.id[1], chain.id)
for atom in residue:
builder.init_atom(atom.name, atom.get_coord(), atom.get_bfactor(), atom.get_occupancy(), atom.get_fullname(), atom.id, "")
builder.process_another_atom()
# 获取StructureBuilder对象
new_structure = builder.get_structure()
# 获取想要的氨基酸
residue = new_structure[0]['A'][10]
print(residue.get_full_id())
print(residue['CA'].get_coord())
在这个示例中,我们将PDB文件解析并使用StructureBuilder构建新的结构。然后,我们使用get_coord方法获取指定氨基酸的坐标。