OESMILESFlag

This namespace contains constants that controls the generation of SMILES when calling the low-level OECreateSmiString function.

The following function calls generate identical SMILES

OEChem function

calling OECreateSmiString with flags from the OESMILESFlag namespace

OECreateAbsSmiString

AtomMaps | RGroups

OECreateCanSmiString

DEFAULT identical to Canonical | AtomMaps | RGroups

OECreateIsoSmiString

ISOMERIC identical to Isotopes | AtomStereo | BondStereo | Canonical | AtomMaps | RGroups

OEMolToSmiles

ISOMERIC identical to Isotopes | AtomStereo | BondStereo | Canonical | AtomMaps | RGroups

[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.