The progress of energy minimization can be followed either by the minimizeCallback or the messageCallback. They report in different ways.
minimizationCallback returns in its arguments[1] text like these:
Initial MMFF E = 2539.829 kJ criterion = 0.004187 max steps = 400
MMFF Step 10 E = 224.851798 dE = -10.210860
MMFF Step 20 E = 166.318318 dE = -4.009619
...
MMFF STEEPEST DESCENT HAS CONVERGED: E = 447.84845 kJ after 275 steps
messageCallback returns a set of arguments:
arguments[1] = running / done
arguments[2] = number of steps
arguments[3] = energy
arguments[4] = delta energy
I think that "HAS CONVERGED" is very useful and it should be incorporated too in messageCallback.
Proposal: to have arguments[1] from messageCallback take 3 possible values rather than the current two:
a) "running"
b) "done" (i.e. finished iterations without reaching convergence)
c) "converged"