Analyze the convergence of the IMP.em.FitRestraint. The script build a simple model and then displays the derivatives, em score and how well conjugate gradients converges under various displacements of the model.
9 use_rigid_bodies =
True
22 prb.set_name(
"rigid body")
27 print "initial frame", drb.get_reference_frame()
29 drb.set_coordinates_are_optimized(
True)
31 refiner.add_particle(prb, [p])
33 print [p.get_name()
for p
in refiner.get_refined(prb)]
38 d.set_coordinates_are_optimized(
True)
47 dheader.set_resolution(1)
49 dmap.set_particles([p])
68 m.set_log_level(IMP.base.SILENT)
73 def try_point(i, j, k):
74 print "trying", i, j, k
76 to_move.set_coordinates(vc)
83 print "score and derivatives", v, to_move.get_derivatives()
87 print "after", d.get_coordinates()
88 mag = to_move.get_coordinates().get_magnitude()
93 sg.set_color(converge_color)
94 sg.set_name(
"converge")
97 try_point(-bd, -bd, -bd)