In this example, a PDB file is read in and scored using the CHARMM forcefield. It is similar to the 'charmm_forcefield.py' example, but fully works through each step of the procedure using lower-level IMP classes. This is useful if you want to customize the way in which the forcefield is applied.
5 from __future__
import print_function
22 topology = ff.create_topology(prot)
27 topology.apply_default_patches()
32 topology.add_atom_types(prot)
37 topology.add_missing_atoms(prot)
40 topology.add_coordinates(prot)
49 bonds = topology.add_bonds(prot)
50 angles = ff.create_angles(bonds)
51 dihedrals = ff.create_dihedrals(bonds)
52 impropers = topology.add_impropers(prot)
94 ff.add_well_depths(prot)
97 atoms = IMP.atom.get_by_type(prot, IMP.atom.ATOM_TYPE)
110 pair_filter.set_bonds(bonds)
111 pair_filter.set_angles(angles)
112 pair_filter.set_dihedrals(dihedrals)
113 nbl.add_pair_filter(pair_filter)
125 print(score_func.evaluate(
False))