Get engine forcefield#

Translating force field specifications into engine-specific parameter definitions.

The function molsysmt.molecular_mechanics.get_engine_forcefield() maps high-level force field, solvent, and water model keywords to the corresponding XML parameter files for simulation engines (such as OpenMM).

Added in version 1.0.0.

Basic usage#

Let’s query the OpenMM XML definition files for the AMBER14 force field in vacuum:

import molsysmt as msm
ff_xmls = msm.molecular_mechanics.get_engine_forcefield('AMBER14', engine='OpenMM')
print('OpenMM XML definitions for AMBER14 in vacuum:', ff_xmls)
OpenMM XML definitions for AMBER14 in vacuum: ['amber14-all.xml']

Force field definitions with explicit water and implicit solvent models#

Specifying explicit water models (e.g. water_model='TIP3P') or implicit solvent models (e.g. implicit_solvent='OBC1') automatically includes the complementary parameter files:

ff_tip3p = msm.molecular_mechanics.get_engine_forcefield('AMBER14', water_model='TIP3P', engine='OpenMM')
ff_obc1 = msm.molecular_mechanics.get_engine_forcefield('AMBER14', implicit_solvent='OBC1', engine='OpenMM')

print('AMBER14 + TIP3P XMLs:', ff_tip3p)
print('AMBER14 + OBC1 XMLs:', ff_obc1)
AMBER14 + TIP3P XMLs: ['amber14-all.xml', 'amber14/tip3p.xml']
AMBER14 + OBC1 XMLs: ['amber14-all.xml']