We will now perform computations with geometry information, including computing the center of mass of chains and of whole models.
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...