salilab / pmi

Python Modeling Interface
https://integrativemodeling.org/nightly/doc/ref/namespaceIMP_1_1pmi.html
12 stars 11 forks source link

Add more optimizers to PMI and enable more choices wherever optimizers are used #225

Closed sethaxen closed 8 months ago

sethaxen commented 7 years ago

Several optimizers are not currently used in PMI and would be useful. For example, IMP.core.SteepestDescent should be usable in PMI, and both it and IMP.core.ConjugateGradients should be usable in IMP.pmi.dof.DegreesOfFreedom.optimize_flexible_beads.

IMP.core.MonteCarloWithLocalOptimization would be useful with IMP.pmi.macros.ReplicaExchange0, in particular if one wants to do a minimization after each Monte Carlo step. IMP.core.BrownianDynamics would also be useful when doing replica exchange.

This all seems like it could create a lot of redundant code. Perhaps it's worthwhile thinking of a general PMI wrapper for an optimizer, which could be called when doing replica exchange or minimization.