我想将 PDB 文件的链重命名为“6gch”-https://www.rcsb.org/struct/6GCH.
我检查了Biopython手册,似乎找不到任何东西。
任何输入都会有很大帮助!
你确实可以改变id
链元素的属性。之后您可以使用PDBIO保存修改后的结构。
但请注意,此过程会相当多地修改 PDB。 PDBIO 不存储诸如REMARK、SHEET 和SSBOND 之类的条目。如果您知道自己需要这些,则必须小心。
此外,此过程将 HETATM 移动到相应链的末尾,而原始 PDB 将它们定位在文件的末尾。
由于 6GCH 有 3 个链,所以我使用字典renames
配置旧链名称到新链名称的映射。如果该字典中不包含链名称,则不会进行重命名。
from Bio.PDB import PDBList, PDBIO, PDBParser
pdbl = PDBList()
io = PDBIO()
parser = PDBParser()
pdbl.retrieve_pdb_file('6gch', pdir='.', file_format="pdb")
# pdb6gch.ent is the filename when retrieved by PDBList
structure = parser.get_structure('6gch', 'pdb6gch.ent')
renames = {
"E": "A",
"F": "B",
"G": "C"
}
for model in structure:
for chain in model:
old_name = chain.get_id()
new_name = renames.get(old_name)
if new_name:
print(f"renaming chain {old_name} to {new_name}")
chain.id = new_name
else:
print(f"keeping chain name {old_name}")
io.set_structure(structure)
io.save('6gch_renamed.pdb')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)