How to do it...

Take a look at the following steps:

  1. Let's load our model, as follows:
from Bio import PDBrepository = PDB.PDBList()parser = PDB.PDBParser()repository.retrieve_pdb_file('1TUP', pdir='.', file_format='pdb')p53_1tup = parser.get_structure('P 53', 'pdb1tup.ent')
  1. We will now get our zincs, against which we will 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.

  1. Now, let's define a function to get the distance between one atom and a set of other atoms, as follows:
import mathdef get_closest_atoms(pdb_struct, ref_atom, distance):    atoms = {}    rx, ry, rz = ref_atom.coord for atom in pdb_struct.get_atoms(): ...

Get Bioinformatics with Python Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.