OESMARTSAtomFlag¶
This namespace contains constants representing various supported SMARTS pattern constraints for atoms.
AAmap
This constant requests the explicit inclusion of non-zero mapping number information.
AtomType
AnyAtomType
IgnoreArom
These constants control the output of atom type information.
The returned atom SMARTS string will only be []
delimited if one of AnyAtomType
or AtomType
are specified
which allows using non-atype flags to build up SMARTS qualifiers for alternate custom SMARTS generation activities.
AtomType
will encode the atom symbol of the atom type which is downcased for aromatic atoms.
AnyAtomType
will encode a,A
for any atom type, depending on aromatic atom state.
IgnoreArom
will encode just the atomic number value of the atom.
Charge
Charge0
These constants control the output of atom formal charge information.
For Charge
, only non-zero charge information is output, and for
Charge0
, information is output explicitly regardless of value.
Chirality
This constant requests the encoding of atom parity information via
the @
, @@
designation on the atom. Note that this information requires the
presence of the neighbor atoms in the SMARTS query to be a meaningful
mapping constraint. Additionally, the encoded parity state is explicitly
dependent on the ordering of neighbor atoms, requiring suppression of any
reordering of atoms when generating the full molecule SMARTS.
See also
Connectivity
This constant controls the output of the connectivity for the atom, see GetDegree.
DegreeCount
This constant controls the output of the explicit degree for the atom, see GetExplicitDegree.
HCount
HCount0
These constants control the output of atom total hydrogen count information.
For HCount
, only non-zero information is output, and for
HCount0
, information is output explicitly regardless of value.
See GetTotalHCount.
Hybridization
This constant controls the output of nonzero hybridization for the atom, see GetHyb. The hybridization of atoms should be set up via OEAssignHybridization for this flag to be active.
ImplicitHCount
ImplicitHCount0
These constants control the output of implicit hydrogen counts for the atom which can be assigned via OEAssignImplicitHydrogens
,
but may already be assigned depending on how the molecule was instantiated and from what source.
For ImplicitHCount
, only non-zero information is output, and for ImplicitHCount0
, information is output explicitly regardless of value.
See GetImplicitHCount.
Isotope
This constant controls whether isoptopic information on the atom should be encoded.
LeavingGroup
This constant is experimental.
RingBondCount
This constant controls the output of the ring bond count for the atom.
Valence
This constant controls the output of the valence value for the atom, see GetValence.
AtomAll
This constant is a collection of all available flags. Equivalent to
(AtomType | IgnoreArom | AnyAtomType |
DegreeCount |
HCount | HCount0 |
Charge | Charge0 |
RingBondCount |
Valence |
Connectivity |
AAmap |
LeavingGroup |
Isotope |
Chirality |
Hybridization |
ImplicitHCount | ImplicitHCount0)
DEFAULT
AtomDefault
These two constant values equivalently request that no atom pattern constraints are generated.
AtomExact
This constant provides a collection of atom pattern constraints suitable for exact-match searching.
Equivalent to (AtomType | Isotope | RingBondCount | Valence | HCount0 | Connectivity | Charge0)
These flags are not included, as they require consideration of neighbor atoms, or need setup perception activity to be meaningful,
but should be carefully considered for augmenting an exact-match context: Chirality
, Hybridization
, ImplicitHCount
, ImplicitHCount0
.