2
現在、すべての残基番号を取得するためにpymolの繰り返しを使用していますが、それらを使用して残基名を取得します。私はそれがそれを行う最善の方法だとは思わない。私はbiopythonで無駄な方法を探してみました。あなたのご意見とご提案をお待ちしております。Biopython PDBモジュールの残基番号と残基名の取得
時にはchain [i] .resnameでさえ、私にKeyError:( ''、 'number'、 '')を残して、tryとexceptブロックを使用させました。他の選択肢はありますか?
from Bio import *
from Bio.PDB.PDBParser import PDBParser
from Bio.PDB.Polypeptide import PPBuilder
structure = PDBParser().get_structure('5bmy', '5bmy.pdb')
model = structure[0]
chain = model['A']
import __main__
__main__.pymol_argv = ['pymol','-qc']
import pymol
from pymol import cmd, stored
pymol.finish_launching()
cmd.load('5bmy.pdb') # use the name of your pdb file
stored.residues = []
cmd.iterate('name ca', 'stored.residues.append(resi)')
numbers = [ int(x) for x in stored.residues ]
for i in numbers:
print (chain[i].resname)
ちょっとした提案ですが、これは生物史上でも投稿したいと思うかもしれません。彼らはこのようなことに対してより積極的なコミュニティを持っています。 – nbryans