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

Re: [IMP-dev] equilibration in MDOptimizer



Friedrich Foerster wrote:
i discovered the MD optimizer in imp and i am interested in using it.
when studying the input, i am missing something: how is the temperature equilibrated? there is no parameter for that in the input (equil in dodgy old modeller). also in the source code i did not figure out where the temperature is actually used...
is the function safe to be used now? or should i rather not?

As of last night's build, IMP.MolecularDynamics should be usable - it can at least do everything that Modeller's MD does (with the exception of rigid bodies and self-guided or Langevin dynamics[*]). A simple checklist for the Modeller people:

1. Velocities by default are NOT initialized - they are kept from any
   previous run (or they are zero for the first run). To initialize
   them to a given temperature, call the assign_velocities method.
2. Atom shifts are NOT capped by default (Modeller's cap_atom_shift
   parameter). But you can cap the velocity component with the
   set_velocity_cap method (with the default Modeller shift of 0.2A and
   timestep of 4.0fs, the equivalent velocity cap would be 0.05A/fs).
3. No equilibration is done (Modeller's equilibrate parameter). But you
   can get something similar by creating a VelocityScalingOptimizerState
   and adding it to the optimizer. That has a rescale_velocities method,
   which you can whenever you like (otherwise it will rescale the
   velocities every skip_steps).
4. Unlike Modeller, IMP uses 'real' masses in MD. Each particle to be
   optimized must be given a 'mass' parameter, which is the mass in AMU
   (g/mol). I suppose if you wanted to be perverse you could emulate the
   Modeller behavior by giving every particle a mass of 12.011.

[*] Guided Langevin dynamics should be simple, however (just override
    the virtual step method in a derived class). I need this for my
    refinement anyway, so it will appear in the near future.

See also
https://salilab.org/imp/doc/doxygen/classIMP_1_1MolecularDynamics.html
and
https://salilab.org/imp/doc/doxygen/classIMP_1_1VelocityScalingOptimizerState.html

	Ben
--
                      http://salilab.org/~ben/
"It is a capital mistake to theorize before one has data."
	- Sir Arthur Conan Doyle