openforcefield.typing.engines.smirnoff.parameters.ParameterHandler

class openforcefield.typing.engines.smirnoff.parameters.ParameterHandler(allow_cosmetic_attributes=False, **kwargs)[source]

Base class for parameter handlers.

Parameter handlers are configured with some global parameters for a given section. They may also contain a ParameterList populated with ParameterType objects if they are responsile for assigning SMIRKS-based parameters.

Warning

This API is experimental and subject to change.

Attributes
known_kwargs

List of kwargs that can be parsed by the function.

parameters

The ParameterList that holds this ParameterHandler’s parameter objects

Methods

add_parameter(self, parameter_kwargs)

Add a parameter to the forcefield, ensuring all parameters are valid.

assign_parameters(self, topology, system)

Assign parameters for the given Topology to the specified System object.

check_handler_compatibility(self, handler_kwargs)

Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler.

check_parameter_compatibility(self, …)

Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler

find_matches(self, entity)

Find the elements of the topology/molecule matched by a parameter type.

get_parameter(self, parameter_attrs)

Return the parameters in this ParameterHandler that match the parameter_attrs argument

postprocess_system(self, topology, system, …)

Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.

to_dict(self[, output_units, …])

Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

__init__(self, allow_cosmetic_attributes=False, **kwargs)[source]

Initialize a ParameterHandler, optionally with a list of parameters and other kwargs.

Parameters
allow_cosmetic_attributesbool, optional. Default = False

Whether to permit non-spec kwargs. If True, non-spec kwargs will be stored as attributes of this object and can be accessed and modified. Otherwise an exception will be raised if a non-spec kwarg is encountered.

**kwargsdict

The dict representation of the SMIRNOFF data source

Methods

__init__(self[, allow_cosmetic_attributes])

Initialize a ParameterHandler, optionally with a list of parameters and other kwargs.

add_parameter(self, parameter_kwargs)

Add a parameter to the forcefield, ensuring all parameters are valid.

assign_parameters(self, topology, system)

Assign parameters for the given Topology to the specified System object.

check_handler_compatibility(self, handler_kwargs)

Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler.

check_parameter_compatibility(self, …)

Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler

find_matches(self, entity)

Find the elements of the topology/molecule matched by a parameter type.

get_parameter(self, parameter_attrs)

Return the parameters in this ParameterHandler that match the parameter_attrs argument

postprocess_system(self, topology, system, …)

Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.

to_dict(self[, output_units, …])

Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

Attributes

known_kwargs

List of kwargs that can be parsed by the function.

parameters

The ParameterList that holds this ParameterHandler’s parameter objects

parameters

The ParameterList that holds this ParameterHandler’s parameter objects

known_kwargs

List of kwargs that can be parsed by the function.

check_parameter_compatibility(self, parameter_kwargs)[source]

Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler

Parameters
parameter_kwargs: dict

The dict that will be used to construct the ParameterType

Raises
Raises a ValueError if the parameters are incompatible.
check_handler_compatibility(self, handler_kwargs)[source]

Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler. This is called if a second handler is attempted to be initialized for the same tag.

Parameters
handler_kwargsdict

The kwargs that would be used to construct

Raises
IncompatibleParameterError if handler_kwargs are incompatible with existing parameters.
add_parameter(self, parameter_kwargs)[source]

Add a parameter to the forcefield, ensuring all parameters are valid.

Parameters
parameter_kwargsdict

The kwargs to pass to the ParameterHandler.INFOTYPE (a ParameterType) constructor

get_parameter(self, parameter_attrs)[source]

Return the parameters in this ParameterHandler that match the parameter_attrs argument

Parameters
parameter_attrsdict of {attr: value}

The attrs mapped to desired values (for example {“smirks”: “[:1]~[#16:2]=,:[#6:3]~[:4]”, “id”: “t105”} )

Returns
list of ParameterType objects

A list of matching ParameterType objects

find_matches(self, entity)[source]

Find the elements of the topology/molecule matched by a parameter type.

Parameters
entityopenforcefield.topology.Topology or openforcefield.topology.Molecule

Topology or molecule to search.

Returns
matchesValenceDict[Tuple[int], ParameterType]

matches[particle_indices] is the ParameterType object matching the tuple of particle indices in entity.

assign_parameters(self, topology, system)[source]

Assign parameters for the given Topology to the specified System object.

Parameters
topologyopenforcefield.topology.Topology

The Topology for which parameters are to be assigned. Either a new Force will be created or parameters will be appended to an existing Force.

systemsimtk.openmm.System

The OpenMM System object to add the Force (or append new parameters) to.

postprocess_system(self, topology, system, **kwargs)[source]

Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.

Parameters
topologyopenforcefield.topology.Topology

The Topology for which parameters are to be assigned. Either a new Force will be created or parameters will be appended to an existing Force.

systemsimtk.openmm.System

The OpenMM System object to add the Force (or append new parameters) to.

to_dict(self, output_units=None, discard_cosmetic_attributes=True)[source]

Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

Parameters
output_unitsdict[str

A mapping from the ParameterType attribute name to the output unit its value should be converted to.

discard_cosmetic_attributesbool, optional. Default = True.

Whether to discard non-spec parameter and header attributes in this ParameterHandler.

Returns
smirnoff_dataOrderedDict

SMIRNOFF-spec compliant representation of this ParameterHandler and its internal ParameterList.