moldesign.integrators package

Submodules

moldesign.integrators.base module

class moldesign.integrators.base.ConstantTemperatureBase(**params)[source]

Bases: moldesign.integrators.base.MDBase

PARAMETERS = [<Parameter "timestep", type: float, units: fs>, <Parameter "frame_interval", type: float, units: fs>, <Parameter "remove_translation", type: bool>, <Parameter "constrain_hbonds", type: bool>, <Parameter "constrain_water", type: bool>, <Parameter "remove_rotation", type: bool>, <Parameter "temperature", type: float, units: kelvin>]
class moldesign.integrators.base.IntegratorBase(**params)[source]

Bases: moldesign.method.Method

Base class for all integrators

PARAMETERS = [<Parameter "timestep", type: float, units: fs>, <Parameter "frame_interval", type: float, units: fs>]
prep()[source]

Prepare to run. Possibly do a test run. This might need to call the mol.model.build. Make sure you don’t have a circular call here :return:

run(run_for)[source]

To be called by parent molecule :param run_for: number of steps (if integer), or amount of time (if has units of time) :return: trajectory

static time_to_steps(time, timestep)[source]
class moldesign.integrators.base.LangevinBase(**params)[source]

Bases: moldesign.integrators.base.ConstantTemperatureBase

PARAMETERS = [<Parameter "timestep", type: float, units: fs>, <Parameter "frame_interval", type: float, units: fs>, <Parameter "remove_translation", type: bool>, <Parameter "constrain_hbonds", type: bool>, <Parameter "constrain_water", type: bool>, <Parameter "remove_rotation", type: bool>, <Parameter "temperature", type: float, units: kelvin>, <Parameter "collision_rate", type: float, units: 1 / ps>]
class moldesign.integrators.base.MDBase(**params)[source]

Bases: moldesign.integrators.base.IntegratorBase

PARAMETERS = [<Parameter "timestep", type: float, units: fs>, <Parameter "frame_interval", type: float, units: fs>, <Parameter "remove_translation", type: bool>, <Parameter "constrain_hbonds", type: bool>, <Parameter "constrain_water", type: bool>, <Parameter "remove_rotation", type: bool>]

moldesign.integrators.openmm module

class moldesign.integrators.openmm.OpenMMVerlet(**params)[source]

Bases: moldesign.integrators.openmm.OpenMMBaseIntegrator

get_openmm_integrator()[source]
class moldesign.integrators.openmm.OpenMMLangevin(**params)[source]

Bases: moldesign.integrators.base.LangevinBase, moldesign.integrators.openmm.OpenMMBaseIntegrator

get_openmm_integrator()[source]

moldesign.integrators.verlet module

class moldesign.integrators.verlet.VelocityVerlet(*args, **kwargs)[source]

Bases: moldesign.integrators.base.IntegratorBase

prep()[source]
run(run_for)[source]

Users won’t call this directly - instead, use mol.run Propagate position, momentum by a single timestep using velocity verlet :param run_for: number of timesteps OR amount of time to run for

step()[source]