【问题标题】:How to extract all chains from a PDB file?如何从 PDB 文件中提取所有链?
【发布时间】:2014-09-05 00:57:49
【问题描述】:

我关注这个页面 How to extract chains from a PDB file? 但我无法找到我想要的完整解决方案。这是我的问题:

在不给出特定链 id 的情况下,我想提取 pdb 中的所有链 id 并将这些链 id 写入单独的 pdb 文件中。你能告诉我如何提取pdb中存在的所有链吗?例如,如果 pdb 包含两个链,我想将所有两个链分开写。

6CHY - 它有两条链 A 和 B。我想分别在 6CHY_A.pdb 中写 A 链,在 6CHY_B 中写 B 链。

【问题讨论】:

    标签: biopython chain protein-database


    【解决方案1】:

    可以使用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")
    

    【讨论】:

      【解决方案2】:

      我解决了这个问题。也许可能不是聪明的方式。简单的答案或解决方案总是受欢迎的。要为给定链编写 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?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-08-28
        • 2018-05-23
        • 1970-01-01
        • 2015-06-15
        • 2022-10-06
        • 2020-11-26
        • 1970-01-01
        相关资源
        最近更新 更多