openforcefield.typing.engines.smirnoff.parameters.ParameterHandler

class openforcefield.typing.engines.smirnoff.parameters.ParameterHandler(allow_cosmetic_attributes=False, skip_version_check=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_cosmetic_attribute(self, attr_name, …)

Add a cosmetic attribute to this ParameterHandler object.

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

delete_cosmetic_attribute(self, attr_name)

Delete a cosmetic attribute from this ParameterHandler object.

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[, discard_cosmetic_attributes])

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

__init__(self, allow_cosmetic_attributes=False, skip_version_check=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.

skip_version_check: bool, optional. Default = False

If False, the SMIRNOFF section version will not be checked, and the ParameterHandler will be initialized with version set to _MAX_SUPPORTED_SECTION_VERSION.

**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_cosmetic_attribute(self, attr_name, …)

Add a cosmetic attribute to this ParameterHandler object.

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

delete_cosmetic_attribute(self, attr_name)

Delete a cosmetic attribute from this ParameterHandler object.

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[, discard_cosmetic_attributes])

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

property parameters

The ParameterList that holds this ParameterHandler’s parameter objects

add_cosmetic_attribute(self, attr_name, attr_value)[source]

Add a cosmetic attribute to this ParameterHandler object. This attribute will not have a functional effect on the object in the Open Force Field toolkit, but can be written out during output.

Parameters
attr_namestr

Name of the attribute to define for this ParameterType object.

attr_valuestr

The value of the attribute to define for this ParameterType object.

delete_cosmetic_attribute(self, attr_name)[source]

Delete a cosmetic attribute from this ParameterHandler object.

Parameters
attr_namestr

Name of the attribute to delete.

property 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

Topology to search.

Returns
matchesValenceDict[Tuple[int], ParameterHandler._Match]

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, discard_cosmetic_attributes=False)[source]

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

Parameters
discard_cosmetic_attributesbool, optional. Default = False.

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.