While we do not recommend doing serious work using optimizer states written in Python, it is often useful when prototyping or testing code. Copy this example and modify as needed.
6 from __future__
import print_function
14 """An optimizer state which prints out the last scores of some restraints"""
16 def __init__(self, rs):
17 IMP.OptimizerState.__init__(self, rs[0].get_model(),
18 "MyOptimizerState%1%")
23 print(r.get_name(), r.get_last_score())
29 r0 = IMP._ConstRestraint(m, [], 1)
30 r0.set_name(
"restraint 0")
32 r1 = IMP._ConstRestraint(m, [], 2)
33 r1.set_name(
"restraint 1")
36 sf = rs.create_scoring_function()
38 os = MyOptimizerState([r0, r1])
39 os.set_name(
"python optimizer state")
41 co = IMP._ConstOptimizer(m)
42 co.set_scoring_function(sf)
43 co.add_optimizer_state(os)
44 print(co.optimize(100))
47 co.remove_optimizer_state(os)