atoms

Atom features for GNN models.

An atom featurization scheme is a tuple of instances of the classes in this module:

>>> atom_features = (
...     AtomicElement(),
...     AtomHybridization(),
...     AtomConnectivity(),
...     AtomAverageFormalCharge(),
...     AtomGasteigerCharge(),
...     AtomInRingOfSize(3),
...     AtomInRingOfSize(4),
...     AtomInRingOfSize(5),
...     AtomInRingOfSize(6),
...     ...
... )

The AtomFeature and AtomFeatureMeta classes may be used to implement your own features.

Classes

AtomFeature

Abstract base class for features of atoms.

AtomicElement

One-hot encodings for specified elements

AtomConnectivity

One-hot encodings for the number of other atoms this atom is connected to.

AtomHybridization

One-hot encodings for the specified atomic orbital hybridization modes.

AtomIsAromatic

One-hot encoding for whether the atom is aromatic or not.

AtomIsInRing

One-hot encoding for whether the atom is in a ring of any size.

AtomInRingOfSize

One-hot encoding for whether the atom is in a ring of the given size.

AtomFormalCharge

One-hot encoding of the formal charge on an atom.

AtomAverageFormalCharge

The formal charge of the atom, averaged over all resonance forms.

AtomGasteigerCharge

The Gasteiger partial charge of the atom.