2014-09-05 8 views
0

Я следую этой странице How to extract chains from a PDB file?, но я не могу найти полное решение того, что я хочу. Вот мой вопрос:Как извлечь все цепочки из файла PDB?

, не указывая идентификатор цепочки, я хочу извлечь все идентификаторы цепи в pdb и написать эти идентификаторы цепей в отдельном файле pdb. Не могли бы вы рассказать мне, как извлечь всю цепочку, существовавшую в pdb? Например, если pdb содержит две цепи, я хочу отдельно написать все две цепи.

6CHY - Он имеет две цепи A и B. Я хочу написать цепочку в цепи 6CHY_A.pdb и B в 6CHY_B соответственно.

ответ

2

Все цепочки в pdb могут быть получены с помощью get_chains.

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") 
0

Я решил проблему. Возможно, это не должно быть разумным способом. Простой ответ или решение всегда приветствуются. Для написания 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?

 Смежные вопросы

  • Нет связанных вопросов^_^