# openforcefield.topology.TopologyVirtualSite

class `openforcefield.topology.``TopologyVirtualSite`(virtual_site, topology_molecule)

  A TopologyVirtualSite is a lightweight data structure that represents a single openforcefield.topology.molecule.VirtualSite in a Topology. A TopologyVirtualSite consists of two references – One to its fully detailed “VirtualSite”, an openforcefield.topology.molecule.VirtualSite, and another to its parent “topology_molecule”, which occupies a spot in the parent Topology’s TopologyMolecule list.

  As some systems can be very large, there is no always-existing representation of a TopologyVirtualSite. They are created on demand as the user requests them.

  Warning

  This API is experimental and subject to change.

  Attributes
    `atoms`

      Get the TopologyAtoms involved in this TopologyVirtualSite.

    `molecule`

      Get the reference Molecule that this TopologyVirtualSite belongs to.

    `topology_molecule`

      Get the TopologyMolecule that this TopologyVirtualSite belongs to.

    `topology_particle_index`

      Get the index of this particle in its parent Topology.

    `topology_virtual_site_index`

      Get the index of this virtual site in its parent Topology.

    `type`

      Get the type of this virtual site

    `virtual_site`

      Get the reference VirtualSite for this TopologyVirtualSite.

  Methods

  `atom`(self, index) | Get the atom at a specific index in this TopologyVirtualSite
  `from_bson`(serialized) | Instantiate an object from a BSON serialized representation.
  `from_dict`(d) | Static constructor from dictionary 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`(self) | Return a BSON serialized representation.
  `to_dict`(self) | Convert to dictionary representation.
  `to_json`(self[, indent]) | Return a JSON serialized representation.
  `to_messagepack`(self) | Return a MessagePack representation.
  `to_pickle`(self) | Return a pickle serialized representation.
  `to_toml`(self) | Return a TOML serialized representation.
  `to_xml`(self[, indent]) | Return an XML representation.
  `to_yaml`(self) | Return a YAML serialized representation.

  `__init__`(self, virtual_site, topology_molecule)
    Parameters
      virtual_site An openforcefield.topology.molecule.VirtualSite

        The reference virtual site

      topology_molecule An openforcefield.topology.TopologyMolecule

        The TopologyMolecule that this TopologyVirtualSite belongs to

  Methods

  `__init__`(self, virtual_site, topology_molecule)

  Parameters

  `atom`(self, index) | Get the atom at a specific index in this TopologyVirtualSite
  `from_bson`(serialized) | Instantiate an object from a BSON serialized representation.
  `from_dict`(d) | Static constructor from dictionary 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`(self) | Return a BSON serialized representation.
  `to_dict`(self) | Convert to dictionary representation.
  `to_json`(self[, indent]) | Return a JSON serialized representation.
  `to_messagepack`(self) | Return a MessagePack representation.
  `to_pickle`(self) | Return a pickle serialized representation.
  `to_toml`(self) | Return a TOML serialized representation.
  `to_xml`(self[, indent]) | Return an XML representation.
  `to_yaml`(self) | Return a YAML serialized representation.

  Attributes

  `atoms` | Get the TopologyAtoms involved in this TopologyVirtualSite.
  `molecule` | Get the reference Molecule that this TopologyVirtualSite belongs to.
  `topology_molecule` | Get the TopologyMolecule that this TopologyVirtualSite belongs to.
  `topology_particle_index` | Get the index of this particle in its parent Topology.
  `topology_virtual_site_index` | Get the index of this virtual site in its parent Topology.
  `type` | Get the type of this virtual site
  `virtual_site` | Get the reference VirtualSite for this TopologyVirtualSite.

  `atom`(self, index)

    Get the atom at a specific index in this TopologyVirtualSite

    Parameters
      index int

        The index of the atom in the reference VirtualSite to retrieve

    Returns
      TopologyAtom
  property `atoms`

    Get the TopologyAtoms involved in this TopologyVirtualSite.

    Returns
      iterator of openforcefield.topology.TopologyAtom
  property `virtual_site`

    Get the reference VirtualSite for this TopologyVirtualSite.

    Returns
      an openforcefield.topology.molecule.VirtualSite
  property `topology_molecule`

    Get the TopologyMolecule that this TopologyVirtualSite belongs to.

    Returns
      openforcefield.topology.TopologyMolecule
  property `topology_virtual_site_index`

    Get the index of this virtual site in its parent Topology.

    Returns
      int

        The index of this virtual site in its parent topology.

  property `topology_particle_index`

    Get the index of this particle in its parent Topology.

    Returns
      int

        The index of this particle in its parent topology.

  property `molecule`

    Get the reference Molecule that this TopologyVirtualSite belongs to.

    Returns
      openforcefield.topology.molecule.Molecule
  property `type`

    Get the type of this virtual site

    Returns
      str The class name of this virtual site
  `to_dict`(self)

    Convert to dictionary representation.

  classmethod `from_dict`(d)

    Static constructor from dictionary representation.

  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

  `to_bson`(self)

    Return a BSON serialized representation.

    Specification: http://bsonspec.org/

    Returns
      serialized bytes

        A BSON serialized representation of the objecft

  `to_json`(self, 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`(self)

    Return a MessagePack representation.

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

    Returns
      serialized bytes

        A MessagePack-encoded bytes serialized representation of the object

  `to_pickle`(self)

    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`(self)

    Return a TOML serialized representation.

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

    Returns
      serialized str

        A TOML serialized representation of the object

  `to_xml`(self, 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`(self)

    Return a YAML serialized representation.

    Specification: http://yaml.org/

    Returns
      serialized str

        A YAML serialized representation of the object