Performing geometric operations
We will now perform computations with geometry information, including computing the center of mass of chains and of whole models.
Getting ready
You can find this content in the 06_Prot/Mass.ipynb
notebook.
How to do it...
Take a look at the following steps:
First, let's retrieve the data:
from __future__ import print_function import numpy as np 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')
Then, remember the type of residues that we have with the following code:
my_residues = set() for residue in p53_1tup.get_residues(): my_residues.add(residue.id[0]) print(my_residues)
So, we have
H_ ZN
(zinc) andW
(water) that are HETATMs and the vast majority that are standard PDB ATOMs.
Let's compute the masses for all chains, zincs and waters using the following code:
def get_mass(atoms, accept_fun=lambda atom: atom.parent.id[0] != 'W'): return...