htmd.protocols.equilibration_v2 module

class htmd.protocols.equilibration_v2.Equilibration(_version=3)

Bases: protocolinterface.protocolinterface.ProtocolInterface

Equilibration protocol v2

Equilibration protocol for globular and membrane proteins It includes a flatbottom potential box to retrain a ligand for example within this box.

  • runtime (float, default=0) – Running time of the simulation.

  • timeunits (str, default='steps') – Units for time arguments. Can be ‘steps’, ‘ns’ etc.

  • temperature (float, default=300) – Temperature of the thermostat in Kelvin

  • fb_k (float, default=0) – Force constant of the flatbottom potential in kcal/mol/A^2. E.g. 5

  • fb_reference (str, default='none') – Reference selection to use as dynamic center of the flatbottom box.

  • fb_selection (str, default='none') – Selection of atoms to apply the flatbottom potential

  • fb_box (list, default=[0, 0, 0, 0, 0, 0]) – Position of the flatbottom box in term of the reference center given as [xmin, xmax, ymin, ymax, zmin, zmax]

  • useconstantratio (bool, default=False) – For membrane protein simulations set it to true so that the barostat does not modify the xy aspect ratio.

  • constraints (dict, default={'protein and name CA': 1, 'protein and noh and not name CA': 0.1}) – A dictionary of atomselections and values of the constraint to be applied (in kcal/mol/A^2). Atomselects must be mutually exclusive.

  • nvtsteps (int, default=500) – Number of initial steps to apply NVT in units of 4fs.

  • constraintsteps (int, default=None) – Number of initial steps to apply constraints in units of 4fs. Defaults to half the simulation time.


>>> from htmd.protocols.equilibration_v2 import Equilibration
>>> md = Equilibration()
>>> md.runtime = 4
>>> md.timeunits = 'ns'
>>> md.temperature = 300
>>> md.useconstantratio = True  # only for membrane sims
>>> # this is only needed for setting the flatbottom potential, otherwise remove it
>>> md.fb_reference = 'protein and resid 293'
>>> md.fb_selection = 'segname L and noh'
>>> md.fb_box = [-25, 25, -25, 25, 43, 45]
>>> md.fb_k = 5
>>> md.write('./build','./equil')
addConstraint(atomselect, factor=1)

Convenience function for adding a new constraint to existing constraints.

  • atomselect (str) – Atom selection of atoms we want to constrain

  • factor (float) – The scaling factor of the constraints applied to the atoms


>>> eq.addConstraint('chain X', 0.3)
write(inputdir, outputdir)

Write the equilibration protocol

Writes the equilibration protocol and files into a folder for execution using files inside the inputdir directory

  • inputdir (str) – Path to a directory containing the files produced by a build process.

  • outputdir (str) – Directory where to write the equilibration setup files.


>>> md = Equilibration()
>>> md.write('./build','./equil')