GUFE Settings API#

Settings Object#

Pydantic models used for storing settings.

class gufe.settings.models.SettingsBaseModel(*args: Any, **kwargs: Any)#

Settings and modifications we want for all settings classes.

class Config#
extra = 'forbid'#
arbitrary_types_allowed = False#
smart_union = True#
class gufe.settings.models.ThermoSettings(*args: Any, **kwargs: Any)#

Settings for thermodynamic parameters.

Note

No checking is done to ensure a valid thermodynamic ensemble is possible.

temperature: openff.models.types.FloatQuantity.kelvin = FieldInfo(description='Simulation temperature, default units kelvin', extra={})#
pressure: openff.models.types.FloatQuantity.standard_atmosphere = FieldInfo(description='Simulation pressure, default units standard atmosphere (atm)', extra={})#
ph: PositiveFloat | None = FieldInfo(description='Simulation pH', extra={})#
redox_potential: float | None = FieldInfo(description='Simulation redox potential', extra={})#
class Config#
arbitrary_types_allowed = False#
extra = 'forbid'#
smart_union = True#
class gufe.settings.models.BaseForceFieldSettings(*args: Any, **kwargs: Any)#

Base class for ForceFieldSettings objects

class Config#
arbitrary_types_allowed = False#
extra = 'forbid'#
smart_union = True#
class gufe.settings.models.OpenMMSystemGeneratorFFSettings(*args: Any, **kwargs: Any)#

Parameters to set up the force field with OpenMM ForceFields

Note

Right now we just basically just grab what we need for the openmmforcefields.system_generators.SystemGenerator signature. See the OpenMMForceField SystemGenerator documentation for more details.

constraints: str | None = 'hbonds'#

Constraints to be applied to system. One of ‘hbonds’, ‘allbonds’, ‘hangles’ or None, default ‘hbonds’

rigid_water: bool = True#
remove_com: bool = False#
hydrogen_mass: float = 3.0#

Mass to be repartitioned to hydrogens from neighbouring heavy atoms (in amu), default 3.0

forcefields: list[str] = ['amber/ff14SB.xml', 'amber/tip3p_standard.xml', 'amber/tip3p_HFE_multivalent.xml', 'amber/phosaa10.xml']#

List of force field paths for all components except SmallMoleculeComponent

small_molecule_forcefield: str = 'openff-2.0.0'#

Name of the force field to be used for SmallMoleculeComponent

classmethod constraint_check(v)#
class Config#
arbitrary_types_allowed = False#
extra = 'forbid'#
smart_union = True#
class gufe.settings.models.Settings(*args: Any, **kwargs: Any)#

Container for all settings needed by a protocol

This represents the minimal surface that all settings objects will have.

Protocols can subclass this to extend this to cater for their additional settings.

class Config#
arbitrary_types_allowed = False#
extra = 'forbid'#
smart_union = True#
forcefield_settings: BaseForceFieldSettings#
thermo_settings: ThermoSettings#
classmethod get_defaults()#