openforcefield.topology.BondChargeVirtualSite

class openforcefield.topology.BondChargeVirtualSite(atoms, distance, charge_increments=None, epsilon=None, sigma=None, rmin_half=None, name=None, orientations=None)[source]

A particle representing a “Bond Charge”-type virtual site, in which the location of the charge is specified by the positions of two atoms. This supports placement of a virtual site S along a vector between two specified atoms, e.g. to allow for a sigma hole for halogens or similar contexts. With positive values of the distance, the virtual site lies outside the first indexed atom.

Warning

This API is experimental and subject to change.

Attributes
atoms

Atoms on whose position this VirtualSite depends.

charge_increments

Charges taken from this VirtualSite’s atoms and given to the VirtualSite

distance

The distance parameter of the virtual site

epsilon

The VdW epsilon term of this VirtualSite

molecule

The Molecule this particle is part of.

molecule_particle_index

Returns the index of this particle in its molecule

molecule_virtual_site_index

The index of this VirtualSite within the list of virtual sites within Molecule Note that this can be different from particle_index.

n_particles

The number of particles that the virtual site represents

name

The name of this VirtualSite

orientations
particles

Particles owned by this VirtualSite

rmin_half

The VdW rmin_half term of this VirtualSite

sigma

The VdW sigma term of this VirtualSite

type

The type of this VirtualSite (returns the class name as string)

Methods

from_bson(serialized)

Instantiate an object from a BSON serialized representation.

from_dict(vsite_dict)

Create a virtual site from a dict representation.

from_json(serialized)

Instantiate an object from a JSON serialized representation.

from_messagepack(serialized)

Instantiate an object from a MessagePack serialized representation.

from_pickle(serialized)

Instantiate an object from a pickle serialized representation.

from_toml(serialized)

Instantiate an object from a TOML serialized representation.

from_xml(serialized)

Instantiate an object from an XML serialized representation.

from_yaml(serialized)

Instantiate from a YAML serialized representation.

get_openmm_virtual_site(atoms)

Returns the OpenMMVirtualSite corresponding to this BondChargeVirtualSite.

to_bson()

Return a BSON serialized representation.

to_dict()

Return a dict representation of the virtual site.

to_json([indent])

Return a JSON serialized representation.

to_messagepack()

Return a MessagePack representation.

to_pickle()

Return a pickle serialized representation.

to_toml()

Return a TOML serialized representation.

to_xml([indent])

Return an XML representation.

to_yaml()

Return a YAML serialized representation.

index_of_orientation

__init__(atoms, distance, charge_increments=None, epsilon=None, sigma=None, rmin_half=None, name=None, orientations=None)[source]

Create a bond charge-type virtual site, in which the location of the charge is specified by the position of two atoms. This supports placement of a virtual site S along a vector between two specified atoms, e.g. to allow for a sigma hole for halogens or similar contexts. With positive values of the distance, the virtual site lies outside the first indexed atom.

TODO: One of the examples on https://open-forcefield-toolkit.readthedocs.io/en/topology/smirnoff.html#virtualsites-virtual-sites-for-off-atom-charges has a BondCharge defined with three atoms – How does that work?

Parameters
atomslist of openforcefield.topology.molecule.Atom objects of shape [N]

The atoms defining the virtual site’s position

distancefloat
weightslist of floats of shape [N] or None, optional, default=None

weights[index] is the weight of particles[index] contributing to the position of the virtual site. Default is None

charge_incrementslist of floats of shape [N], optional, default=None

The amount of charge to remove from the VirtualSite’s atoms and put in the VirtualSite. Indexing in this list should match the ordering in the atoms list. Default is None.

epsilonfloat

Epsilon term for VdW properties of virtual site. Default is None.

sigmafloat, default=None

Sigma term for VdW properties of virtual site. Default is None.

rmin_halffloat

Rmin_half term for VdW properties of virtual site. Default is None.

namestring or None, default=None

The name of this virtual site. Default is None.

orientationslist of tuples of 3 Atoms or ints

The permutations of the matched atoms that should be used to define the orientation of each virtual site particle

Methods

__init__(atoms, distance[, …])

Create a bond charge-type virtual site, in which the location of the charge is specified by the position of two atoms.

from_bson(serialized)

Instantiate an object from a BSON serialized representation.

from_dict(vsite_dict)

Create a virtual site from a dict representation.

from_json(serialized)

Instantiate an object from a JSON serialized representation.

from_messagepack(serialized)

Instantiate an object from a MessagePack serialized representation.

from_pickle(serialized)

Instantiate an object from a pickle serialized representation.

from_toml(serialized)

Instantiate an object from a TOML serialized representation.

from_xml(serialized)

Instantiate an object from an XML serialized representation.

from_yaml(serialized)

Instantiate from a YAML serialized representation.

get_openmm_virtual_site(atoms)

Returns the OpenMMVirtualSite corresponding to this BondChargeVirtualSite.

index_of_orientation(virtual_particle)

to_bson()

Return a BSON serialized representation.

to_dict()

Return a dict representation of the virtual site.

to_json([indent])

Return a JSON serialized representation.

to_messagepack()

Return a MessagePack representation.

to_pickle()

Return a pickle serialized representation.

to_toml()

Return a TOML serialized representation.

to_xml([indent])

Return an XML representation.

to_yaml()

Return a YAML serialized representation.

Attributes

atoms

Atoms on whose position this VirtualSite depends.

charge_increments

Charges taken from this VirtualSite’s atoms and given to the VirtualSite

distance

The distance parameter of the virtual site

epsilon

The VdW epsilon term of this VirtualSite

molecule

The Molecule this particle is part of.

molecule_particle_index

Returns the index of this particle in its molecule

molecule_virtual_site_index

The index of this VirtualSite within the list of virtual sites within Molecule Note that this can be different from particle_index.

n_particles

The number of particles that the virtual site represents

name

The name of this VirtualSite

orientations

particles

Particles owned by this VirtualSite

rmin_half

The VdW rmin_half term of this VirtualSite

sigma

The VdW sigma term of this VirtualSite

type

The type of this VirtualSite (returns the class name as string)

to_dict()[source]

Return a dict representation of the virtual site.

classmethod from_dict(vsite_dict)[source]

Create a virtual site from a dict representation.

property distance

The distance parameter of the virtual site

get_openmm_virtual_site(atoms)[source]

Returns the OpenMMVirtualSite corresponding to this BondChargeVirtualSite.

Parameters
atomsiterable of int

The indices of the atoms involved in this virtual site (not assumed to be the same as the molecule indices as this method may be accessed with regard to particles in a Topology).

Returns
virtual_sitea simtk.openmm LocalCoordinatesSite
property atoms

Atoms on whose position this VirtualSite depends.

property charge_increments

Charges taken from this VirtualSite’s atoms and given to the VirtualSite

property epsilon

The VdW epsilon term of this VirtualSite

classmethod from_bson(serialized)

Instantiate an object from a BSON serialized representation.

Specification: http://bsonspec.org/

Parameters
serializedbytes

A BSON serialized representation of the object

Returns
instancecls

An instantiated object

classmethod from_json(serialized)

Instantiate an object from a JSON serialized representation.

Specification: https://www.json.org/

Parameters
serializedstr

A JSON serialized representation of the object

Returns
instancecls

An instantiated object

classmethod from_messagepack(serialized)

Instantiate an object from a MessagePack serialized representation.

Specification: https://msgpack.org/index.html

Parameters
serializedbytes

A MessagePack-encoded bytes serialized representation

Returns
instancecls

Instantiated object.

classmethod from_pickle(serialized)

Instantiate an object from a pickle serialized representation.

Warning

This is not recommended for safe, stable storage since the pickle specification may change between Python versions.

Parameters
serializedstr

A pickled representation of the object

Returns
instancecls

An instantiated object

classmethod from_toml(serialized)

Instantiate an object from a TOML serialized representation.

Specification: https://github.com/toml-lang/toml

Parameters
serlializedstr

A TOML serialized representation of the object

Returns
instancecls

An instantiated object

classmethod from_xml(serialized)

Instantiate an object from an XML serialized representation.

Specification: https://www.w3.org/XML/

Parameters
serializedbytes

An XML serialized representation

Returns
instancecls

Instantiated object.

classmethod from_yaml(serialized)

Instantiate from a YAML serialized representation.

Specification: http://yaml.org/

Parameters
serializedstr

A YAML serialized representation of the object

Returns
instancecls

Instantiated object

property molecule

The Molecule this particle is part of.

property molecule_particle_index

Returns the index of this particle in its molecule

property molecule_virtual_site_index

The index of this VirtualSite within the list of virtual sites within Molecule Note that this can be different from particle_index.

property n_particles

The number of particles that the virtual site represents

property name

The name of this VirtualSite

property particles

Particles owned by this VirtualSite

property rmin_half

The VdW rmin_half term of this VirtualSite

property sigma

The VdW sigma term of this VirtualSite

to_bson()

Return a BSON serialized representation.

Specification: http://bsonspec.org/

Returns
serializedbytes

A BSON serialized representation of the objecft

to_json(indent=None)

Return a JSON serialized representation.

Specification: https://www.json.org/

Parameters
indentint, optional, default=None

If not None, will pretty-print with specified number of spaces for indentation

Returns
serializedstr

A JSON serialized representation of the object

to_messagepack()

Return a MessagePack representation.

Specification: https://msgpack.org/index.html

Returns
serializedbytes

A MessagePack-encoded bytes serialized representation of the object

to_pickle()

Return a pickle serialized representation.

Warning

This is not recommended for safe, stable storage since the pickle specification may change between Python versions.

Returns
serializedstr

A pickled representation of the object

to_toml()

Return a TOML serialized representation.

Specification: https://github.com/toml-lang/toml

Returns
serializedstr

A TOML serialized representation of the object

to_xml(indent=2)

Return an XML representation.

Specification: https://www.w3.org/XML/

Parameters
indentint, optional, default=2

If not None, will pretty-print with specified number of spaces for indentation

Returns
serializedbytes

A MessagePack-encoded bytes serialized representation.

to_yaml()

Return a YAML serialized representation.

Specification: http://yaml.org/

Returns
serializedstr

A YAML serialized representation of the object

property type

The type of this VirtualSite (returns the class name as string)