IMP logo
IMP Reference Guide  2.20.2
The Integrative Modeling Platform
fit_restraint.py
1 ## \example em/fit_restraint.py
2 # A simple example showing how to set up a fit restraint. The number of
3 # spheres and resolution are randomly chosen and so should not be
4 # considered significant.
5 
6 from __future__ import print_function
7 import IMP.em
8 import IMP.core
9 import IMP.atom
10 import sys
11 
12 IMP.setup_from_argv(sys.argv, "fit restraint")
13 
14 IMP.set_log_level(IMP.SILENT)
15 m = IMP.Model()
16 # 1. setup the input protein
17 # 1.1 select a selector.
19 # 1.2 read the protein
20 mh = IMP.atom.read_pdb(IMP.em.get_example_path("input.pdb"), m, sel)
21 ps = IMP.core.get_leaves(mh)
23 # 2. read the density map
24 resolution = 8.
25 voxel_size = 1.5
26 dmap = IMP.em.read_map(
28 dmap.get_header_writable().set_resolution(resolution)
29 # 3. calculate the cross correlation between the density and the map
30 print("The cross-correlation score is:",
31  1. - IMP.em.compute_fitting_score(ps, dmap))
32 # 4. add a fitting restraint
33 r = IMP.em.FitRestraint(ps, dmap)
34 print("The fit of the particles in the density is:", r.evaluate(False))
Strings setup_from_argv(const Strings &argv, std::string description, std::string positional_description, int num_positional)
void add_radii(Hierarchy d, const ForceFieldParameters *ffp=get_all_atom_CHARMM_parameters(), FloatKey radius_key=FloatKey("radius"))
Add vdW radius from given force field.
GenericHierarchies get_leaves(Hierarchy mhd)
Get all the leaves of the bit of hierarchy.
void read_pdb(TextInput input, int model, Hierarchy h)
Class for storing model, its restraints, constraints, and particles.
Definition: Model.h:86
Float compute_fitting_score(const ParticlesTemp &ps, DensityMap *em_map, FloatKey wei_key=atom::Mass::get_mass_key())
Compute fitting scores for a given set of rigid transformations.
Basic utilities for handling cryo-electron microscopy 3D density maps.
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files.
void set_log_level(LogLevel l)
Set the current global log level.
Basic functionality that is expected to be used by a wide variety of IMP users.
Calculate score based on fit to EM map.
Definition: FitRestraint.h:39
Select all non-water non-alternative ATOM and HETATM records.
Definition: pdb.h:373
Functionality for loading, creating, manipulating and scoring atomic structures.