Computing molecular distances on a PDB file
Here, we will find atoms closer to three zincs on the 1TUP
model. We will consider several distances to these zincs. We will take this opportunity to discuss the performance of algorithms.
Getting ready
You can find this content in the 06_Prot/Distance.ipynb
notebook. Take a look at the Bio.PDB recipe.
How to do it...
Take a look at the following steps:
Let's load our model as follows:
from __future__ import print_function from Bio import PDB repository = PDB.PDBList() parser = PDB.PDBParser() repository.retrieve_pdb_file('1TUP', pdir='.') p53_1tup = parser.get_structure('P 53', 'pdb1tup.ent')
We will now get our zincs against which we perform later comparisons:
zns = [] for atom in p53_1tup.get_atoms(): if atom.element == 'ZN': zns.append(atom) for zn in zns: print(zn, zn.coord)
You should see three zinc atoms.
Then, let's define a function to get the distance between one atom and a set of other atoms as follows:
import math def get_closest_atoms...