用给定的残基数列表替换 pdb 中的残基数
Replace residue numbers in pdb with given residue numbers list
我已将残基编号列表重新编号为 new_residues=[18,19,20,21,22,34,35,36,37.... 130,131,132] 我想更改我的 pdb此列表中的残基编号。你有什么想法重新编号吗?
...
w=PDBIO()
structure=p.get_structure(" ", pdbfile)
for model in structure:
for chain in model:
chain_ID=model[chainID]
for residue in chain_ID:
#for i in range(len(residue.id)):
#resID=new_resnums[i]
residue.id=(" ",new_resnums[residue.id[1]], " ")
w.set_structure(structure)
w.save(pdbfile + "-new.pdb")
在您的示例中,您将覆盖有关残基的所有信息,以及有关特定位置氨基酸的信息。
让我们将文件中的所有 id 递增 200,遍历 model
s 和 structures
,然后将 get_residues()
与 enumerate
结合使用以获得所有残基和索引。
residue.id存储在一个list
中,只改变了id。这个 list
然后被转换回 tuple
并写在原来的 id 的位置。
from Bio import PDB
pdb_io = PDB.PDBIO()
pdb_parser = PDB.PDBParser()
pdbfile = '1ubq.pdb'
structure = pdb_parser.get_structure(" ", pdbfile)
new_resnums = [i + 200 for i in range(135)]
for model in structure:
for chain in model:
for i, residue in enumerate(chain.get_residues()):
res_id = list(residue.id)
res_id[1] = new_resnums[i]
residue.id = tuple(res_id)
pdb_io.set_structure(structure)
pdb_io.save(pdbfile + "-new.pdb")
我已将残基编号列表重新编号为 new_residues=[18,19,20,21,22,34,35,36,37.... 130,131,132] 我想更改我的 pdb此列表中的残基编号。你有什么想法重新编号吗?
...
w=PDBIO()
structure=p.get_structure(" ", pdbfile)
for model in structure:
for chain in model:
chain_ID=model[chainID]
for residue in chain_ID:
#for i in range(len(residue.id)):
#resID=new_resnums[i]
residue.id=(" ",new_resnums[residue.id[1]], " ")
w.set_structure(structure)
w.save(pdbfile + "-new.pdb")
在您的示例中,您将覆盖有关残基的所有信息,以及有关特定位置氨基酸的信息。
让我们将文件中的所有 id 递增 200,遍历 model
s 和 structures
,然后将 get_residues()
与 enumerate
结合使用以获得所有残基和索引。
residue.id存储在一个list
中,只改变了id。这个 list
然后被转换回 tuple
并写在原来的 id 的位置。
from Bio import PDB
pdb_io = PDB.PDBIO()
pdb_parser = PDB.PDBParser()
pdbfile = '1ubq.pdb'
structure = pdb_parser.get_structure(" ", pdbfile)
new_resnums = [i + 200 for i in range(135)]
for model in structure:
for chain in model:
for i, residue in enumerate(chain.get_residues()):
res_id = list(residue.id)
res_id[1] = new_resnums[i]
residue.id = tuple(res_id)
pdb_io.set_structure(structure)
pdb_io.save(pdbfile + "-new.pdb")