Для следующего кода при выполнении кода я получаю сообщение об ошибке, которое я перечислял ниже. Мне было интересно, может ли кто-нибудь дать мне представление о том, как добавить атомы CA в теги tag_atoms/tagged_atoms, которые я буду использовать для выравнивания, и подчеркнуть любые потенциальные недостатки в том, как написан код, который я буду игнорировать. м нового в Python, так что любое понимание было бы здорово и очень полезноПри попытке создания списков атомов CA я получаю следующую ошибку «ключевая ошибка« ЦС »при выполнении следующего кода
def loadPDB(pdb_name):
folder = pdb_name[1:3]
pdbl = PDB.PDBList()
pdbl.retrieve_pdb_file(pdb_name)
parser = PDB.PDBParser(PERMISSIVE=1)
structure = parser.get_structure(
pdb_name, folder + "/pdb" + pdb_name + ".ent")
return structure
def alignCoordinates(taggedProtein, potentialTag):
for model in taggedProtein:
firstModel = model
break
for chain in firstModel:
firstChain = chain
break
for firstChain in firstModel:
tagged_atoms = []
tag_atoms = []
for residue in firstChain:
tagged_res = residue
for tagged_res in firstChain:
tagged_atoms.append(firstChain['CA'])
for model in potentialTag:
firstTagModel = model
break
for chain in firstTagModel:
firstTagChain = chain
break
for residue in firstTagChain:
tag_res = residue
for tag_res in firstTagChain:
tag_atoms.append(firstTagChain['CA'])
super_imposer = Bio.PDB.Superimposer()
print repr(tagged_atoms)
print repr(tag_atoms)
super_imposer.set_atoms(tagged_atoms, tag_atoms)
super_imposer.apply(tag_model.get_atoms())
print super_imposer.rms
io = Bio.PDB.PDBIO()
io.set_structure(tag_model)
io.save("Aligned.PDB")
def main():
pdb1 = "2lyz"
pdb2 = "4abn"
potentialTag = loadPDB(pdb1)
taggedProtein = loadPDB(pdb2)
alignCoordinates(taggedProtein, potentialTag)
main()
Это сообщение об ошибке ниже:.
Structure exists: '/Users/Azi_Ts/Desktop/ly/pdb2lyz.ent'
Structure exists: '/Users/Azi_Ts/Desktop/ab/pdb4abn.ent'
/Library/Python/2.7/site-packages/Bio/PDB/StructureBuilder.py:87: PDBConstructionWarning: WARNING: Chain A is discontinuous at line 13957.
PDBConstructionWarning)
/Library/Python/2.7/site-packages/Bio/PDB/StructureBuilder.py:87: PDBConstructionWarning: WARNING: Chain B is discontinuous at line 14185.
PDBConstructionWarning)
Traceback (most recent call last):
File "alignPDB.py", line 76, in <module>
main()
File "alignPDB.py", line 74, in main
alignCoordinates(taggedProtein, potentialTag)
File "alignPDB.py", line 39, in alignCoordinates
tagged_atoms.append(firstChain['CA'])
File "/Library/Python/2.7/site-packages/Bio/PDB/Chain.py", line 70, in __getitem__
return Entity.__getitem__(self, id)
File "/Library/Python/2.7/site-packages/Bio/PDB/Entity.py", line 38, in __getitem__
return self.child_dict[id]
KeyError: 'CA'