我关注此页 How to extract chains from a PDB file?但我无法找到我想要的完整解决方案。这里是我的问题:如何从PDB文件中提取所有链?
没有给出特定的链id,我想提取pdb中的所有链id并在独立的pdb文件中写入这些链id。你能告诉我如何提取pdb中存在的所有链吗?例如,如果pdb包含两个链,我想单独编写所有两个链。
6CHY - 它有两个链A和B.我要分别在6CHY_A.pdb和B链中写入6CHY_B中的A链。
我关注此页 How to extract chains from a PDB file?但我无法找到我想要的完整解决方案。这里是我的问题:如何从PDB文件中提取所有链?
没有给出特定的链id,我想提取pdb中的所有链id并在独立的pdb文件中写入这些链id。你能告诉我如何提取pdb中存在的所有链吗?例如,如果pdb包含两个链,我想单独编写所有两个链。
6CHY - 它有两个链A和B.我要分别在6CHY_A.pdb和B链中写入6CHY_B中的A链。
可以使用get_chains
检索pdb中的所有链。
pdb = PDBParser().get_structure("6CHY", "6CHY.pdb")
for chain in pdb.get_chains():
# Chain business goes here
假设您需要将每个链写入单独的文件。这样做:
from Bio.PDB import PDBParser, PDBIO
io = PDBIO()
pdb = PDBParser().get_structure("6CHY", "6CHY.pdb")
for chain in pdb.get_chains():
io.set_structure(chain)
io.save(pdb.get_id() + "_" + chain.get_id() + ".pdb")
我解决了这个问题。也许可能不是聪明的方式。总是欢迎简单的答案或解决方案。对于给定链写PDB,请按照此线程这是完全写入 - How to extract chains from a PDB file?
此外,获得使用这段代码
chain_ids = []
struct = self.parser.get_structure("6CHY", "./6CHY.pdb")
chains = struct[0] # I need only X-RAY structures
for chain in chains:
chain_ids.append(chain.get_id())
请附上这些代码行的所有连锁How to extract chains from a PDB file?