[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [IMP-dev] Cleanup of monte carlo



Sounds good indeed. You talk of bugs, which are they?
And I think having a HybridMonteCarlo optimizer would be nice, cause now we can only have python wrappers around MD to make it work.
Y


On 06/03/2011 03:44 PM, Daniel Russel wrote:
The core::MonteCarlo code is rather a mess, has bugs and has subject to a lot of churn. This is primarily because it is trying to do too many different things, resulting is very complicated code. I'd like to break it up into several classes each with a single mode of operation. In particular, there would be

- core.MonteCarlo, which does simple Monte Carlo (apply some movers and accept or reject) as well as provide some finer grained functionality for implementing less trivial monte carlo protocols.

- core.MonteCarloWithLocalOptimization which applies some local optimization scheme after the moves and accepts or rejects the relaxed conformation

- core.MonteCarloWithBasinHopping which supports basin hopping (apply a monte carlo move and then accept or reject based on the score after

The main noticeably change would be that code that looks like
mc= IMP.core.MonteCarlo()
mc.set_model(m)
cg= IMP.core.ConjugateGradients()
mc.set_local_optimizer(cg)
mc.set_local_steps(10)

would need to be replaced by
cg= IMP.core.ConjugateGradients(m)
IMP.core.MonteCarloWithLocalOptimization(cg, 10)

Comments?
_______________________________________________
IMP-dev mailing list

https://salilab.org/mailman/listinfo/imp-dev