openforcefield.topology.VirtualSite

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

A particle representing a virtual site whose position is defined in terms of Atom positions.

Note that chemical atoms are represented by the Atom.

Warning

This API is experimental and subject to change.

Todo

  • Should a virtual site be able to belong to more than one Topology?
  • Should virtual sites be immutable or mutable?
Attributes:
atoms

Atoms on whose position this VirtualSite depends.

charge_increments

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

epsilon

The VdW epsilon term of this VirtualSite

molecule

The Molecule this atom is part of.

molecule_particle_index

The index of this VirtualSite within the the list of particles in the parent 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.

name

The name of 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.
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.
__init__(atoms, charge_increments=None, epsilon=None, sigma=None, rmin_half=None, name=None)[source]

Base class for VirtualSites

Todo

  • This will need to be generalized for virtual sites to allow out-of-plane sites, which are not simply a linear combination of atomic positions
  • Add checking for allowed virtual site types
  • How do we want users to specify virtual site types?
Parameters:
atoms : list of Atom of shape [N]

atoms[index] is the corresponding Atom for weights[index]

charge_increments : list 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.

sigma : float, default=None

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

epsilon : float

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

rmin_half : float

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

name : string or None, default=None

The name of this virtual site. Default is None.

virtual_site_type : str

Virtual site type.

name : str or None, default=None

The name of this virtual site. Default is None

Methods

__init__(atoms[, charge_increments, …]) Base class for VirtualSites
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.
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
epsilon The VdW epsilon term of this VirtualSite
molecule The Molecule this atom is part of.
molecule_particle_index The index of this VirtualSite within the the list of particles in the parent 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.
name The name of 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.

static from_dict(vsite_dict)[source]

Create a virtual site from a dict representation.

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.

molecule_particle_index

The index of this VirtualSite within the the list of particles in the parent Molecule. Note that this can be different from molecule_virtual_site_index.

atoms

Atoms on whose position this VirtualSite depends.

charge_increments

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

epsilon

The VdW epsilon term of this VirtualSite

sigma

The VdW sigma term of this VirtualSite

rmin_half

The VdW rmin_half term of this VirtualSite

name

The name of this VirtualSite

type

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

classmethod from_bson(serialized)

Instantiate an object from a BSON serialized representation.

Specification: http://bsonspec.org/

Parameters:
serialized : bytes

A BSON serialized representation of the object

Returns:
instance : cls

An instantiated object

classmethod from_json(serialized)

Instantiate an object from a JSON serialized representation.

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

Parameters:
serialized : str

A JSON serialized representation of the object

Returns:
instance : cls

An instantiated object

classmethod from_messagepack(serialized)

Instantiate an object from a MessagePack serialized representation.

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

Parameters:
serialized : bytes

A MessagePack-encoded bytes serialized representation

Returns:
instance : cls

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:
serialized : str

A pickled representation of the object

Returns:
instance : cls

An instantiated object

classmethod from_toml(serialized)

Instantiate an object from a TOML serialized representation.

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

Parameters:
serlialized : str

A TOML serialized representation of the object

Returns:
instance : cls

An instantiated object

classmethod from_xml(serialized)

Instantiate an object from an XML serialized representation.

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

Parameters:
serialized : bytes

An XML serialized representation

Returns:
instance : cls

Instantiated object.

classmethod from_yaml(serialized)

Instantiate from a YAML serialized representation.

Specification: http://yaml.org/

Parameters:
serialized : str

A YAML serialized representation of the object

Returns:
instance : cls

Instantiated object

molecule

The Molecule this atom is part of.

Todo

  • Should we have a single unique Molecule for each molecule type in the system,

or if we have multiple copies of the same molecule, should we have multiple ``Molecule``s?

to_bson()

Return a BSON serialized representation.

Specification: http://bsonspec.org/

Returns:
serialized : bytes

A BSON serialized representation of the objecft

to_json(indent=None)

Return a JSON serialized representation.

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

Parameters:
indent : int, optional, default=None

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

Returns:
serialized : str

A JSON serialized representation of the object

to_messagepack()

Return a MessagePack representation.

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

Returns:
serialized : bytes

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:
serialized : str

A pickled representation of the object

to_toml()

Return a TOML serialized representation.

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

Returns:
serialized : str

A TOML serialized representation of the object

to_xml(indent=2)

Return an XML representation.

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

Parameters:
indent : int, optional, default=2

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

Returns:
serialized : bytes

A MessagePack-encoded bytes serialized representation.

to_yaml()

Return a YAML serialized representation.

Specification: http://yaml.org/

Returns:
serialized : str

A YAML serialized representation of the object