This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Best Protein Structure Minimization Algorithm

While looking at literature, I found several techniques for protein structure minimization starting from steepest descent, L-BGFS, conjugate gradient, monte carlo replica exchange, simulated annealing, genetic algorithms etc. But I did not understand properly which technique is good for which purpose i.e. what is the advantage of simulated annealing vs. steepest descent followed by L-BGFS etc?

protein modeling

3 answers

Usually you'll find that molecular dynamics programs use some combination of these. Steepest descent and conjugate gradient basically traverse "down" the sides of energy well, but they aren't very good as traversing rugged landscapes and can easily get caught in local minima. Simulated annealing and monte carlo gibbs sampling allow, with some probability generally associated with a "temperature" for bigger jumps across an energy landscape, allowing for more even sampling. Both of these give you opportunities to sample less energetically favourable conformations than you currently are in, especially if subsequent moves produce lower energetic minima.

A common approach would be to do simulated annealing coupled with steepest decent or conjugate gradient in tandem.

I have found that L-BFGS followed by steepest descent consistently works very well. As mentioned earlier, steepest descent on its own will often get stuck in local minima. However, I have found that L-BFGS on its own will converge too quickly. So the combination of the two has been very successful for me.

I have also tried simulated annealing followed by steepest descent and this seems to work very well too.

In such context, stochastic tunneling or evolutionary algorithms work much better

@flow could you suggest a few good open source implementations of these algorithms?

there are not, I am afraid; I implemented by myself

@flow Would you be willing to walk me through pseudocode for an evolutionary algorithm approach?

Log in to answer this question.