Atom
- class openff.toolkit.topology.Atom(atomic_number: int, formal_charge: int | Quantity, is_aromatic: bool, name: str | None = None, molecule=None, stereochemistry: str | None = None, metadata: dict[str, Union[int, str]] | None = None)[source]
A chemical atom.
Warning
This API is experimental and subject to change.
- __init__(atomic_number: int, formal_charge: int | Quantity, is_aromatic: bool, name: str | None = None, molecule=None, stereochemistry: str | None = None, metadata: dict[str, Union[int, str]] | None = None)[source]
Create an immutable Atom object.
Object is serializable and immutable.
- Parameters:
atomic_number – Atomic number of the atom. Must be non-negative and non-zero.
formal_charge – Formal charge of the atom
is_aromatic – If True, atom is aromatic; if False, not aromatic
stereochemistry – Either ‘R’ or ‘S’ for specified stereochemistry, or None for ambiguous stereochemistry
name – An optional name to be associated with the atom
metadata – An optional dictionary where keys are strings and values are strings or ints. This is intended to record atom-level information used to inform hierarchy definition and iteration, such as grouping atom by residue and chain.
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
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 atom's formal charge
The atom's is_aromatic flag
The standard atomic weight (abundance-weighted isotopic mass) of the atomic site.
The atom's metadata dictionary
The
Molecule
this particle is part of.The index of this Atom within the the list of atoms in the parent
Molecule
.Returns the index of this particle in its molecule
The name of this atom, if any
The partial charge of the atom, if any.
The atom's stereochemistry (if defined, otherwise None)
Return the symbol implied by the atomic number of this atom
- add_bond(bond: Bond)[source]
Adds a bond that this atom is involved in
- Parameters:
bond – A bond involving this atom
- to_dict() dict[str, Union[NoneType, str, int, bool, dict[Any, Any]]] [source]
Return a dict representation of the atom.
- property partial_charge
The partial charge of the atom, if any.
- Returns:
unit-wrapped float with dimension of atomic charge, or None if no charge has been specified
- property atomic_number: int
The integer atomic number of the atom.
- property symbol: str
Return the symbol implied by the atomic number of this atom
- property mass: Quantity
The standard atomic weight (abundance-weighted isotopic mass) of the atomic site.
The mass is reported in units of Dalton.
- property bonded_atoms: Generator[Atom, None, None]
The list of
Atom
objects this atom is involved in bonds with
- is_bonded_to(atom2)[source]
Determine whether this atom is bound to another atom
- Parameters:
atom2 – a different atom in the same molecule
- Returns:
bool – Whether this atom is bound to atom2
- is_in_ring(toolkit_registry: ToolkitRegistry = 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 –
ToolkitRegistry
to use to enumerate the tautomers.
- property molecule_atom_index: int
The index of this Atom within the the list of atoms in the parent
Molecule
.
- classmethod from_bson(serialized)
Instantiate an object from a BSON serialized representation.
Specification: http://bsonspec.org/
- Parameters:
serialized – A BSON serialized representation of the object
- Returns:
instance – An instantiated object
- classmethod from_json(serialized: str)
Instantiate an object from a JSON serialized representation.
Specification: https://www.json.org/
- Parameters:
serialized – A JSON serialized representation of the object
- Returns:
instance – An instantiated object
- classmethod from_messagepack(serialized)
Instantiate an object from a MessagePack serialized representation.
Specification: https://msgpack.org/index.html
- Parameters:
serialized – A MessagePack-encoded bytes serialized representation
- Returns:
instance – 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 – A pickled representation of the object
- Returns:
instance – An instantiated object
- classmethod from_toml(serialized)
Instantiate an object from a TOML serialized representation.
Specification: https://github.com/toml-lang/toml
- Parameters:
serlialized – A TOML serialized representation of the object
- Returns:
instance – An instantiated object
- classmethod from_xml(serialized)
Instantiate an object from an XML serialized representation.
Specification: https://www.w3.org/XML/
- Parameters:
serialized – An XML serialized representation
- Returns:
instance – Instantiated object.
- classmethod from_yaml(serialized)
Instantiate from a YAML serialized representation.
Specification: http://yaml.org/
- Parameters:
serialized – A YAML serialized representation of the object
- Returns:
instance – Instantiated object
- property molecule: FrozenMolecule
The
Molecule
this particle is part of.
- property molecule_particle_index: int
Returns the index of this particle in its molecule
- to_bson()
Return a BSON serialized representation.
Specification: http://bsonspec.org/
- Returns:
serialized – A BSON serialized representation of the objecft
- to_json(indent=None) str
Return a JSON serialized representation.
Specification: https://www.json.org/
- Parameters:
indent – If not None, will pretty-print with specified number of spaces for indentation
- Returns:
serialized – A JSON serialized representation of the object
- to_messagepack()
Return a MessagePack representation.
Specification: https://msgpack.org/index.html
- Returns:
serialized – 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 – A pickled representation of the object
- to_toml()
Return a TOML serialized representation.
Specification: https://github.com/toml-lang/toml
- Returns:
serialized – A TOML serialized representation of the object
- to_xml(indent=2)
Return an XML representation.
Specification: https://www.w3.org/XML/
- Parameters:
indent – If not None, will pretty-print with specified number of spaces for indentation
- Returns:
serialized – A MessagePack-encoded bytes serialized representation.
- to_yaml()
Return a YAML serialized representation.
Specification: http://yaml.org/
- Returns:
serialized – A YAML serialized representation of the object