Subsections

 
5.1 Theory

The Omega distribution includes flipper, a utility program for enumerating stereocenters in a molecule. We have taken the philosophy that conformer generation and stereochemistry enumeration are related but distinct problems. Thus we provide flipper as part of the omega product, but not as part of the same executable.

The current version of flipper can handle enumeration of R/S stereochemistry (including N and S stereochemistry) as well as cis/trans stereochemistry. Flipper uses graph algorithms to determine which atoms are stereocenters. If a stereocenter has a designated stereochemistry, by default flipper does not change the stereochemistry. However, if a stereocenter does not have a specified stereochemistry, flipper will enumerate both stereochemistry states of the stereocenter.

Many common file formats are limited in their ability to fully express stereochemistry without resorting to Cartesian coordinates. This can lead to ambiguity in whether a particular conformer is supposed to represent a racemic mixture or an isolated stereoisomer. SD file format is better than most formats. It allows designation of R, S, or racemic on each tetrahedral stereocenter independent of the particular conformation. However, SD format is not as robust for cis-trans stereo. Isomeric SMILES is the only common file format which allows complete specification of R/S and cis/trans stereochemistry. In fact, though flipper does not currently support higher orders of stereochemistry, the Isomeric SMILES format is capable of handling them. For this reason, flipper output is limited to SD format (.sdf or .mol) and isomeric SMILES format (.ism). OpenEye OEBinary format, like isomeric SMILES, is capable of fully specifying stereochemistry, however, isomeric SMILES is more efficient for compounds without any data beyond the title and connection table.

5.1.1 Input dimensionality

Flipper is designed for use prior to 3D coordinate generation. So 2D or 0D (SMILES) input is normally expected. Input files containing 3D coordinates are handled, but the 3D coordinates are ignored and not transferred to the output.