我關注此頁 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?