Molecule schema
A full description of the overall Molecule model.
Required Keys
There are no required fields for the Molecule specification.
Optional Keys
- The following keys are optional for the Molecule specification.
Key Name
Description
Field Type
atom_labels
Additional per-atom labels as an array of strings. Typical use is in model conversions, such as Elemental <-> Molpro and not typically something which should be user assigned. See the
comments
field for general human-consumable text to affix to the molecule.array[string]
atomic_numbers
An optional ordered 1-D array-like object of atomic numbers of shape (nat,). Index matches the 0-indexed indices of all other per-atom settings like
symbols
andreal
. Values are inferred from thesymbols
list if not explicitly set. Ghostedness should be indicated throughreal
field, not zeros here.array[number]
comment
Additional comments for this molecule. Intended for pure human/user consumption and clarity.
string
connectivity
A list of bonds within the molecule. Each entry is a tuple of
(atom_index_A, atom_index_B, bond_order)
where theatom_index
matches the 0-indexed indices of all other per-atom settings likesymbols
andreal
. Bonds may be freely reordered and inverted.array[array]
extras
Additional information to bundle with the molecule. Use for schema development and scratch space.
object
geometry
An ordered (natom*ndim,) array for XYZ atomic coordinates. Default unit is Angstrom.
array[number]
geometry_units
Units for atomic geometry. Defaults to Angstroms.
string
identifiers
An optional dictionary of additional identifiers by which this molecule can be referenced, such as INCHI, canonical SMILES, etc. See the :class:
Identifiers
model for more details.object
mass_numbers
An optional ordered 1-D array-like object of atomic mass numbers of shape (nat). Index matches the 0-indexed indices of all other per-atom settings like
symbols
andreal
. Values are inferred from the most common isotopes of thesymbols
list if not explicitly set. If single isotope not (yet) known for an atom, -1 is placeholder.array[number]
masses
The ordered array of particle masses. Index order matches the 0-indexed indices of all other per-atom fields like
symbols
andreal
. If this is not provided, the mass of each atom is inferred from its most common isotope. If this is provided, it must be the same length assymbols
but can acceptNone
entries for standard masses to infer from the same index in thesymbols
field.array[number]
masses_units
Units for atomic masses. Defaults to unified atomic mass unit.
string
molecular_charge
The net electrostatic charge of the molecule. Default unit is elementary charge.
number
molecular_charge_units
Units for molecular charge. Defaults to elementary charge.
string
name
Common or human-readable name to assign to this molecule. This field can be arbitrary; see
identifiers
for well- defined labels.string
ndim
Number of spatial dimensions.
integer
provenance
The provenance information about how this object (and its attributes) were generated, provided, and manipulated.
object
schema_name
The MMSchema specification to which this model conforms. Explicitly fixed as mmschema_molecule.
string
schema_version
The version number of
schema_name
to which this model conforms.integer
substructs
A list of (name, num) of connected atoms constituting the building block (e.g. monomer) of the structure (e.g. a polymer). Order follows atomic indices from 0 till Natoms-1. E.g. [(‘ALA’, 4), …] means atom1 belongs to aminoacid alanine with residue number 4. Substruct name is max 4 characters.
array[array]
symbols
An ordered (natom,) array-like object of particle symbols. The index of this attribute sets the order for all other per- particle setting like
geometry
and the first dimension ofgeometry
.array[string]
velocities
An ordered (natoms*ndim,) array for XYZ atomic velocities. Default unit is Angstroms/femtoseconds.
array[number]
velocities_units
Units for atomic velocities. Defaults to Angstroms/femtoseconds.
string