openff.toolkit.topology.Atom
- class openff.toolkit.topology.Atom(atomic_number, formal_charge, is_aromatic, name=None, molecule=None, stereochemistry=None)[source]
A particle representing a chemical atom.
Note that non-chemical virtual sites are represented by the
VirtualSite
object.Warning
This API is experimental and subject to change.
- __init__(atomic_number, formal_charge, is_aromatic, name=None, molecule=None, stereochemistry=None)[source]
Create an immutable Atom object.
Object is serializable and immutable.
- Parameters
atomic_number (int) – Atomic number of the atom
formal_charge (int or openmm.unit.Quantity-wrapped int with dimension "charge") – Formal charge of the atom
is_aromatic (bool) – If True, atom is aromatic; if False, not aromatic
stereochemistry (str, optional, default=None) – Either ‘R’ or ‘S’ for specified stereochemistry, or None for ambiguous stereochemistry
name (str, optional, default=None) – An optional name to be associated with the atom
Examples
Create a non-aromatic carbon atom
>>> atom = Atom(6, 0, False)
Create a chiral carbon atom
>>> atom = Atom(6, 0, False, stereochemistry='R', name='CT')
Methods
__init__
(atomic_number, formal_charge, ...)Create an immutable Atom object.
add_bond
(bond)Adds a bond that this atom is involved in .
add_virtual_site
(vsite)Adds a bond that this atom is involved in .
from_bson
(serialized)Instantiate an object from a BSON serialized representation.
from_dict
(atom_dict)Create an Atom 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.
is_bonded_to
(atom2)Determine whether this atom is bound to another atom
is_in_ring
([toolkit_registry])Return whether or not this atom is in a ring(s) (of any size)
to_bson
()Return a BSON serialized representation.
to_dict
()Return a dict representation of the atom.
to_json
([indent])Return a JSON serialized representation.
Return a MessagePack representation.
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
The integer atomic number of the atom.
The list of
Atom
objects this atom is involved in bonds withThe list of
Bond
objects this atom is involved in.The element of this atom.
The atom's formal charge
The atom's is_aromatic flag
The standard atomic weight (abundance-weighted isotopic mass) of the atomic site.
The
Molecule
this particle is part of.The index of this Atom within the the list of atoms in
Molecules
.The index of this Atom within the the list of particles in the parent
Molecule
.The name of this atom, if any
The partial charge of the atom, if any.
The atom's stereochemistry (if defined, otherwise None)
The list of
VirtualSite
objects this atom is involved in.- add_bond(bond)[source]
Adds a bond that this atom is involved in .. todo :: Is this how we want to keep records?
- Parameters
bond (an openff.toolkit.topology.molecule.Bond) – A bond involving this atom
- add_virtual_site(vsite)[source]
Adds a bond that this atom is involved in .. todo :: Is this how we want to keep records?
- Parameters
bond (an openff.toolkit.topology.molecule.Bond) – A bond involving this atom
- to_dict()[source]
Return a dict representation of the atom.
- classmethod from_dict(atom_dict)[source]
Create an Atom from a dict representation.
- property partial_charge
The partial charge of the atom, if any.
- Returns
openmm.unit.Quantity with dimension of atomic charge, or None if no charge has been specified
- property mass
The standard atomic weight (abundance-weighted isotopic mass) of the atomic site.
TODO (from jeff): Are there atoms that have different chemical properties based on their isotopes?
- is_bonded_to(atom2)[source]
Determine whether this atom is bound to another atom
- Parameters
atom2 (openff.toolkit.topology.molecule.Atom) – a different atom in the same molecule
- Returns
bool – Whether this atom is bound to atom2
- is_in_ring(toolkit_registry=GLOBAL_TOOLKIT_REGISTRY) bool [source]
Return whether or not this atom is in a ring(s) (of any size)
This Atom is expected to be attached to a molecule (Atom.molecule).
- Parameters
toolkit_registry (openff.toolkit.utils.toolkits.ToolkitRegistry, default=GLOBAL_TOOLKIT_REGISTRY) –
ToolkitRegistry
to use to enumerate the tautomers.
- property molecule_atom_index
The index of this Atom within the the list of atoms in
Molecules
. Note that this can be different frommolecule_particle_index
.
- property molecule_particle_index
The index of this Atom within the the list of particles in the parent
Molecule
. Note that this can be different frommolecule_atom_index
.
- 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()
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