Analyze the convergence of the IMP.em.FitRestraint. The script builds a simple model and then displays the derivatives, em score and how well conjugate gradients converges under various displacements of the model.
6 from __future__
import print_function
13 use_rigid_bodies =
True
26 prb.set_name(
"rigid body")
31 print(
"initial frame", drb.get_reference_frame())
33 drb.set_coordinates_are_optimized(
True)
39 d.set_coordinates_are_optimized(
True)
47 dheader.set_resolution(1)
49 dmap.set_particles([p])
67 m.set_log_level(IMP.SILENT)
70 opt.set_scoring_function(sf)
72 def try_point(i, j, k):
73 print(
"trying", i, j, k)
75 to_move.set_coordinates(vc)
82 print(
"score and derivatives", v, to_move.get_derivatives())
86 print(
"after", d.get_coordinates())
87 mag = to_move.get_coordinates().get_magnitude()
92 sg.set_color(converge_color)
93 sg.set_name(
"converge")
96 try_point(-bd, -bd, -bd)