openff.toolkit.topology.TopologyMolecule¶
-
class
openff.toolkit.topology.
TopologyMolecule
(reference_molecule, topology, local_topology_to_reference_index=None)[source]¶ TopologyMolecules are built to be an efficient way to store large numbers of copies of the same molecule for parameterization and system preparation.
Warning
This API is experimental and subject to change.
- Attributes
amber_impropers
Iterate over improper torsions in the molecule, but only those with trivalent centers, reporting the central atom first in each improper.
angles
Iterable of Tuple[TopologyAtom]: iterator over the angles in this TopologyMolecule.
atom_start_topology_index
Get the topology index of the first atom in this TopologyMolecule
atoms
Return an iterator of all the TopologyAtoms in this TopologyMolecule
bond_start_topology_index
Get the topology index of the first bond in this TopologyMolecule
bonds
Return an iterator of all the TopologyBonds in this TopologyMolecule
impropers
Iterable of Tuple[TopologyAtom]: iterator over the possible improper torsions in this TopologyMolecule.
n_angles
int: number of angles in this TopologyMolecule.
n_atoms
The number of atoms in this topology.
n_bonds
Get the number of bonds in this TopologyMolecule
n_impropers
int: number of possible improper torsions in this TopologyMolecule.
n_particles
Get the number of particles in this TopologyMolecule
n_propers
int: number of proper torsions in this TopologyMolecule.
n_virtual_sites
Get the number of virtual sites in this TopologyMolecule
particles
Return an iterator of all the TopologyParticles in this TopologyMolecules
propers
Iterable of Tuple[TopologyAtom]: iterator over the proper torsions in this TopologyMolecule.
reference_molecule
Get the reference molecule for this TopologyMolecule
smirnoff_impropers
Note that it’s possible that a trivalent center will not have an improper assigned.
topology
Get the topology that this TopologyMolecule belongs to
virtual_particle_start_topology_index
Get the topology index of the first virtual particle in this TopologyMolecule
virtual_site_start_topology_index
Get the topology index of the first virtual site in this TopologyMolecule
virtual_sites
Return an iterator of all the TopologyVirtualSites in this TopologyMolecules
Methods
atom
(index)Get the TopologyAtom with a given topology atom index in this TopologyMolecule.
bond
(index)Get the TopologyBond with a given reference molecule index in this TopologyMolecule
from_dict
(d)Static constructor from dictionary representation.
particle
(index)Get the TopologyParticle with a given reference molecule index in this TopologyMolecule
to_dict
()Convert to dictionary representation.
virtual_site
(index)Get the TopologyVirtualSite with a given reference molecule index in this TopologyMolecule
-
__init__
(reference_molecule, topology, local_topology_to_reference_index=None)[source]¶ Create a new TopologyMolecule.
- Parameters
- reference_moleculean openff.toolkit.topology.molecule.Molecule
The reference molecule, with details like formal charges, partial charges, bond orders, partial bond orders, and atomic symbols.
- topologyan openff.toolkit.topology.Topology
The topology that this TopologyMolecule belongs to
- local_topology_to_reference_indexdict, optional, default=None
Dictionary of {TopologyMolecule_atom_index : Molecule_atom_index} for the TopologyMolecule that will be built
Methods
__init__
(reference_molecule, topology[, …])Create a new TopologyMolecule.
atom
(index)Get the TopologyAtom with a given topology atom index in this TopologyMolecule.
bond
(index)Get the TopologyBond with a given reference molecule index in this TopologyMolecule
from_dict
(d)Static constructor from dictionary representation.
particle
(index)Get the TopologyParticle with a given reference molecule index in this TopologyMolecule
to_dict
()Convert to dictionary representation.
virtual_site
(index)Get the TopologyVirtualSite with a given reference molecule index in this TopologyMolecule
Attributes
Iterate over improper torsions in the molecule, but only those with trivalent centers, reporting the central atom first in each improper.
Iterable of Tuple[TopologyAtom]: iterator over the angles in this TopologyMolecule.
Get the topology index of the first atom in this TopologyMolecule
Return an iterator of all the TopologyAtoms in this TopologyMolecule
Get the topology index of the first bond in this TopologyMolecule
Return an iterator of all the TopologyBonds in this TopologyMolecule
Iterable of Tuple[TopologyAtom]: iterator over the possible improper torsions in this TopologyMolecule.
int: number of angles in this TopologyMolecule.
The number of atoms in this topology.
Get the number of bonds in this TopologyMolecule
int: number of possible improper torsions in this TopologyMolecule.
Get the number of particles in this TopologyMolecule
int: number of proper torsions in this TopologyMolecule.
Get the number of virtual sites in this TopologyMolecule
Return an iterator of all the TopologyParticles in this TopologyMolecules
Iterable of Tuple[TopologyAtom]: iterator over the proper torsions in this TopologyMolecule.
Get the reference molecule for this TopologyMolecule
Note that it’s possible that a trivalent center will not have an improper assigned.
Get the topology that this TopologyMolecule belongs to
Get the topology index of the first virtual particle in this TopologyMolecule
Get the topology index of the first virtual site in this TopologyMolecule
Return an iterator of all the TopologyVirtualSites in this TopologyMolecules
-
property
topology
¶ Get the topology that this TopologyMolecule belongs to
- Returns
- an openff.toolkit.topology.Topology
-
property
reference_molecule
¶ Get the reference molecule for this TopologyMolecule
- Returns
- an openff.toolkit.topology.molecule.Molecule
-
property
n_atoms
¶ The number of atoms in this topology.
- Returns
- int
-
atom
(index)[source]¶ Get the TopologyAtom with a given topology atom index in this TopologyMolecule.
- Parameters
- indexint
Index of the TopologyAtom within this TopologyMolecule to retrieve
- Returns
- an openff.toolkit.topology.TopologyAtom
-
property
atoms
¶ Return an iterator of all the TopologyAtoms in this TopologyMolecule
- Returns
- an iterator of openff.toolkit.topology.TopologyAtoms
-
property
atom_start_topology_index
¶ Get the topology index of the first atom in this TopologyMolecule
-
property
virtual_particle_start_topology_index
¶ Get the topology index of the first virtual particle in this TopologyMolecule
-
bond
(index)[source]¶ Get the TopologyBond with a given reference molecule index in this TopologyMolecule
- Parameters
- indexint
Index of the TopologyBond within this TopologyMolecule to retrieve
- Returns
- an openff.toolkit.topology.TopologyBond
-
property
bonds
¶ Return an iterator of all the TopologyBonds in this TopologyMolecule
- Returns
- an iterator of openff.toolkit.topology.TopologyBonds
-
property
n_bonds
¶ Get the number of bonds in this TopologyMolecule
- Returns
- intnumber of bonds
-
property
bond_start_topology_index
¶ Get the topology index of the first bond in this TopologyMolecule
-
particle
(index)[source]¶ Get the TopologyParticle with a given reference molecule index in this TopologyMolecule
- Parameters
- indexint
Index of the TopologyParticle within this TopologyMolecule to retrieve
- Returns
- an openff.toolkit.topology.TopologyParticle
-
property
particles
¶ Return an iterator of all the TopologyParticles in this TopologyMolecules
- Returns
- an iterator of openff.toolkit.topology.TopologyParticle
-
property
n_particles
¶ Get the number of particles in this TopologyMolecule
- Returns
- intThe number of particles
-
virtual_site
(index)[source]¶ Get the TopologyVirtualSite with a given reference molecule index in this TopologyMolecule
- Parameters
- indexint
Index of the TopologyVirtualSite within this TopologyMolecule to retrieve
- Returns
- an openff.toolkit.topology.TopologyVirtualSite
-
property
virtual_sites
¶ Return an iterator of all the TopologyVirtualSites in this TopologyMolecules
- Returns
- an iterator of openff.toolkit.topology.TopologyVirtualSite
-
property
n_virtual_sites
¶ Get the number of virtual sites in this TopologyMolecule
- Returns
- int
-
property
angles
¶ Iterable of Tuple[TopologyAtom]: iterator over the angles in this TopologyMolecule.
-
property
n_angles
¶ int: number of angles in this TopologyMolecule.
-
property
propers
¶ Iterable of Tuple[TopologyAtom]: iterator over the proper torsions in this TopologyMolecule.
-
property
n_propers
¶ int: number of proper torsions in this TopologyMolecule.
-
property
impropers
¶ Iterable of Tuple[TopologyAtom]: iterator over the possible improper torsions in this TopologyMolecule.
-
property
n_impropers
¶ int: number of possible improper torsions in this TopologyMolecule.
-
property
smirnoff_impropers
¶ Note that it’s possible that a trivalent center will not have an improper assigned. This will depend on the force field that is used.
Also note that this will return 6 possible atom orderings around each improper center. In current SMIRNOFF parameterization, three of these six orderings will be used for the actual assignment of the improper term and measurement of the angles. These three orderings capture the three unique angles that could be calculated around the improper center, therefore the sum of these three terms will always return a consistent energy.
For more details on the use of three-fold (‘trefoil’) impropers, see https://open-forcefield-toolkit.readthedocs.io/en/latest/smirnoff.html#impropertorsions
- Returns
- impropersset of tuple
An iterator of tuples, each containing the indices of atoms making up a possible improper torsion. The central atom is listed second in each tuple.
-
property
amber_impropers
¶ Iterate over improper torsions in the molecule, but only those with trivalent centers, reporting the central atom first in each improper.
Note that it’s possible that a trivalent center will not have an improper assigned. This will depend on the force field that is used.
Also note that this will return 6 possible atom orderings around each improper center. In current AMBER parameterization, one of these six orderings will be used for the actual assignment of the improper term and measurement of the angle. This method does not encode the logic to determine which of the six orderings AMBER would use.
- Returns
- impropersset of tuple
An iterator of tuples, each containing the indices of atoms making up a possible improper torsion. The central atom is listed first in each tuple.
-
property
virtual_site_start_topology_index
¶ Get the topology index of the first virtual site in this TopologyMolecule