Hello,
Is there a way to retrieve the number of iterations performed by a min mover, either from the mover itself or from the log trace ?
For example with the following code, how could I find out if it stopped at 500 iterations or reached the tolerance threshold earlier?
import pyrosetta
import logging
pyrosetta.init(
"-out:levels all:500 -ignore_unrecognized_res 1 -ex1 -ex2aro "
"-constant_seed -jran 1111111 -ignore_zero_occupancy false")
pyrosetta.logging_support.set_logging_sink()
rosetta_logger = logging.getLogger("rosetta")
rosetta_logger.setLevel(logging.DEBUG)
scorefxn = pyrosetta.create_score_function("ref2015_cart.wts")
pose = pyrosetta.toolbox.pose_from_rcsb("5LXR")
min_mover = pyrosetta.rosetta.protocols.minimization_packing.MinMover()
move_map = pyrosetta.MoveMap()
move_map.set_bb(True)
move_map.set_chi(True)
move_map.set_jump(False)
min_mover.movemap(move_map)
min_mover.max_iter(500)
min_mover.min_type("lbfgs_armijo_nonmonotone")
min_mover.tolerance(1.)
min_mover.score_function(scorefxn)
min_mover.cartesian(True)
min_mover.apply(pose)
I am using PyRosetta 4 Release 2020.02
Many thanks !