We will now perform computations with geometry information, including computing the center of the mass of chains and of whole models.
Let's take a look at the following steps:
- First, let's retrieve the data:
from Bio import PDB repository = PDB.PDBList() parser = PDB.PDBParser() repository.retrieve_pdb_file('1TUP', pdir='.', file_format='pdb') p53_1tup = parser.get_structure('P 53', 'pdb1tup.ent')
- Then, let's recall 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) and W
(water), which are HETATMs; the vast majority 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 sum([atom.mass for atom...