Can I get the minimized energy by increasing steps?
- Emilson Gomes
- Posts: 5
- Joined: Tue Sep 24, 2024 12:56 pm
Can I get the minimized energy by increasing steps?
I'd like to get minimized energy from pdb file. I want to get this as soon as possible, and the result should be the minimized one.
My questions are
1. Can i get this by just increasing steps?
2. Which machine works best for pdb file simulation?
3. Is multi-gpu helpful?
4. Is multi-node linked gpus helpful?
Thanks
My questions are
1. Can i get this by just increasing steps?
2. Which machine works best for pdb file simulation?
3. Is multi-gpu helpful?
4. Is multi-node linked gpus helpful?
Thanks
- Peter Eastman
- Posts: 2602
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Can I get the minimized energy by increasing steps?
If you want the minimized energy, call
Code: Select all
simulation.minimizeEnergy()
energy = simulation.context.getState(getEnergy=True).getPotentialEnergy()
It depends on the number of atoms in your system. Unless it's very small, a good GPU is strongly recommended.Which machine works best for pdb file simulation?
For a very large system, multiple GPUs might help.Is multi-gpu helpful?
OpenMM doesn't support splitting this operation across multiple nodes.Is multi-node linked gpus helpful?
- Emilson Gomes
- Posts: 5
- Joined: Tue Sep 24, 2024 12:56 pm
Re: Can I get the minimized energy by increasing steps?
1. May I ask which program language performs best please? c++?
2. And what is the maxIteration argument in minimizeEnergy function?
3. what is the difference between maxIteration(in minimizeEnergy function) and nsteps (in simulation.step())
4. And which function actuall starts simulation? minimizeEnergy function or simulation.step function?
5. I am testing villin.pdb
The potential energy in step 100 was -159639.356052708, but after 100000 steps it is -140284.60014755663. The starting potential energy was minimized one? Why further steps get bigger potential energy?
2. And what is the maxIteration argument in minimizeEnergy function?
3. what is the difference between maxIteration(in minimizeEnergy function) and nsteps (in simulation.step())
4. And which function actuall starts simulation? minimizeEnergy function or simulation.step function?
5. I am testing villin.pdb
The potential energy in step 100 was -159639.356052708, but after 100000 steps it is -140284.60014755663. The starting potential energy was minimized one? Why further steps get bigger potential energy?
- Peter Eastman
- Posts: 2602
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Can I get the minimized energy by increasing steps?
C++ is faster than Python, but it might or might not matter depending on what you're doing. If most time is spent inside OpenMM routines, there won't be much benefit.May I ask which program language performs best please? c++?
It's the maximum number of iterations of L-BFGS minimization to perform. See the API documentation.And what is the maxIteration argument in minimizeEnergy function?
They're unrelated. minimizeEnergy() performs energy minimization with the L-BFGS algorithm. step() integrates the equations of motion to run a simulation.what is the difference between maxIteration(in minimizeEnergy function) and nsteps (in simulation.step())
You're sampling the potential energy surface. If the starting point had unusually low energy (which is what you expect if it was energy minimized), then the simulation will spend most of its time in states with higher energy.The starting potential energy was minimized one? Why further steps get bigger potential energy?
- Emilson Gomes
- Posts: 5
- Joined: Tue Sep 24, 2024 12:56 pm
Re: Can I get the minimized energy by increasing steps?
Thanks, I am going to write script to find global minima of potential energy for any protein.
I find that minimize function just found local minima. Is there any module or function that i can use for the global minima with openmm?
I find that minimize function just found local minima. Is there any module or function that i can use for the global minima with openmm?
- Peter Eastman
- Posts: 2602
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Can I get the minimized energy by increasing steps?
Global minimization is a very, very hard problem. For a system as large and complicated as a protein, there's no known way to find the global minimum. Instead you have to settle for conformational search methods that search for as long as you're willing to let them search, and find the lowest energy state they find.
Usually you care about the free energy minimum rather than the potential energy minimum. That's a related but different problem.
OpenMM includes a few methods that can be used to explore the free energy landscape: simulated tempering, metadynamics, and aMD. Other methods can be found in other libraries, such as openmmtools which includes replica exchange.
Usually you care about the free energy minimum rather than the potential energy minimum. That's a related but different problem.
OpenMM includes a few methods that can be used to explore the free energy landscape: simulated tempering, metadynamics, and aMD. Other methods can be found in other libraries, such as openmmtools which includes replica exchange.
- Emilson Gomes
- Posts: 5
- Joined: Tue Sep 24, 2024 12:56 pm
Re: Can I get the minimized energy by increasing steps?
If I find the minimized the solution, and run the simulation.step(), that potential energy increases rapidly over the steps. I 'd like to find the potential energy minima, where the potential energy doesn't increase over the step.
- Peter Eastman
- Posts: 2602
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Can I get the minimized energy by increasing steps?
If you start from any energy minimum and then move in any direction, the energy will increase. That's what a minimum means! If the energy doesn't immediately increase, that means you didn't start from a minimum.
- Emilson Gomes
- Posts: 5
- Joined: Tue Sep 24, 2024 12:56 pm
Re: Can I get the minimized energy by increasing steps?
yeah, whta a silly question. What I should ask is to find the minima where the increasing gradient is not that big and sharp. But got very small gradient.
- Peter Eastman
- Posts: 2602
- Joined: Thu Aug 09, 2007 1:25 pm
Re: Can I get the minimized energy by increasing steps?
That's a global minimization problem, which as noted above is really hard. LocalEnergyMinimizer does a local minimization, which is easy. Just follow the gradient downhill until it stops changing. You're guaranteed to end up at a minimum if you do it long enough, but it could be any minimum. You want to know what other minima may exist elsewhere in the energy landscape, and you want it to find the "best" one by some criteria. That requires thorough searching of the landscape.