OESMILESFlag¶
This namespace contains constants that controls the generation of
SMILES when calling the low-level OECreateSmiString
function.
OEChem function |
calling |
---|---|
|
|
|
[1] OEMolToSmiles
is a high-level function that perceives necessary properties before generating canonical isomeric SMILES
AllBonds
Controls whether all bonds are written explicitly to the generated SMILES string. By default, aromatic bonds and most single bonds will be omitted since the semantics are unambiguous.
This option is convenient for using SMILES as a generic graph representation language and for simple SMILES processors which do not perceive aromaticity.
For example, will generate c:1:c:c:c:c:c1
for benzene rather than
c1ccccc1
.
AtomMaps
Controls whether atom map indices are written to the generated SMILES string.
OEChem allows the use of atom map indices on molecules other than reactions,
e.g. [CH4:1]
SMILES.
AtomStereo
Controls whether the specified chirality at tetrahedral atomic stereocenters should be written to the generated SMILES string.
BondStereo
Controls whether the specified cis/trans chirality at bond stereocenters should be written to the generated SMILES string.
Canonical
Controls whether to generate canonical SMILES strings. The canonical SMILES strings generated by OEChem are not canonicalized by the same algorithm used by Daylight Chemical Information Systems, and hence some molecules will be assigned a different unique representation by each toolkit. Indeed, the algorithms used both by OpenEye and Daylight evolve and improve over time, so SMILES should always be recanonicalized by the same version of a toolkit, before comparing them for equivalence.
EnhStereo
Controls whether explicit enhanced stereogroup information is exported as a CXSMILES
formatted appendix following the generated SMILES string. The CXSMILES appendix is
whitespace delimited and begins and ends with |
.
ExtBonds
Controls whether atoms with atomic number zero (as determined by the
OEAtomBase::GetAtomicNum
method),
and a non-zero map index (as determined by the OEAtomBase::GetMapIdx
method) should be generated the external bond &1
notation.
In this notation, the integer value following the &
corresponds to
the atom’s map index.
When this flag isn’t set, such atoms are written in the Daylight convention [*:1]
.
Hydrogens
Controls whether explicit hydrogens are included in the SMILES string. If not set, explicit hydrogens are included in each atom’s implicit hydrogen count.
ImpHCount
Controls whether implicit hydrogen count is written to the generated
SMILES strings. For example, to generate [cH]1[cH][cH][cH][cH][cH]1
for benzene rather than c1ccccc1
.
Isotopes
Controls whether isotopic mass is written to the generated SMILES strings.
Kekule
Controls whether to generate Kekulé or aromatic SMILES strings.
The OECreateSmiString
function uses the currently assigned
aromaticity model.
There are known portability problems with different SMILES parsers having
varying degrees of ability in parsing aromatic systems, hence writing Kekulé
SMILES or using a simple model of aromaticity
(see the function OEAssignAromaticFlags
)
can be used to improve interoperability with non-OpenEye software.
RGroups
Controls whether atoms with atomic number zero (as determined by the
OEAtomBase::GetAtomicNum
method),
and a non-zero map index (as determined by the OEAtomBase::GetMapIdx
method) should be displayed using the [R1]
notation.
In this notation, the integer value following the R
corresponds to the atom’s map
index.
When this flag isn’t set, such atoms are written in the Daylight convention [*:1]
.
SuperAtoms
Controls whether atoms with atomic number zero (as determined by the
OEAtomBase::GetAtomicNum
method),
and a non-empty name string property (as determined by the
OEAtomBase::GetName
) should be displayed in SMILES superatom
notation, rather than just [*]
.
For example, this can be used to generate the SMILES [Asp][Gly][Lys]
.
DEFAULT
The combination of
OESMILESFlag::RGroups
,
OESMILESFlag::AtomMaps
and
OESMILESFlag::Canonical
flavors,
that is used to generate canonical SMILES
ISOMERIC
The combination of
OESMILESFlag::RGroups
,
OESMILESFlag::AtomMaps
,
OESMILESFlag::Canonical
,
OESMILESFlag::Isotopes
,
OESMILESFlag::AtomStereo
and
OESMILESFlag::BondStereo
flavors,
that is used to generate canonical isomeric SMILES.