Bug-fix release

The bug-fix releases happen between features releases, if necessary. These releases provide crucial bug fixes but no new features or platform updates.

canonical SMILES

In OpenEye documenation, the term canonical SMILES is used for a unique SMILES string that encodes the connection table of a molecule, but no chiral or isotopic information. Consequently, two stereoisomers always share the same canonical SMILES, since their stereo information are ignored during the canonicalization process. For generating a canonical SMILES, use the OECreateCanSmiString function.


OpenEye’s canonical SMILES terminology corresponds to Daylight’s ‘unique’ SMILES definition.

canonical isomeric SMILES

In OpenEye documentation, the name canonical isomeric SMILES is used for a unique SMILES string that also encodes isotopic and stereo information. Due to the unambiguity of canonical isomeric SMILES, they can be used as a universal identifier for a specific chemical structure. For generating a canonical isomeric SMILES, use the OECreateIsoSmiString or the preferred high-level OEMolToSmiles function.


OpenEye’s canonical isomeric SMILES terminology corresponds to Daylight’s ‘absolute’ SMILES definition.

chiral atom

In OpenEye terminology, an atom is considered chiral, if it is connected to four different substituent groups, that is, its mirror image is not superimposable.


In OEChem TK, an easily invertible nitrogen, that is, a nonplanar nitrogen with one attached hydrogen, is not considered to be chiral. This is due to the fact that trivalent nitrogen compound undergo rapid inversion that interconvert enantiomers.

See also

chiral bond

In OEChem TK, a double bond is considered chiral, if the cis and trans forms of this bond represent two distinct isomers. A chiral bond can be either a chain bond or a ring bond that does not belong to any ring smaller than 8-membered.

See also


The CIP (Cahn-Ingold-Prelog) system is rule-based method used in organic chemistry to name the stereoisomers of a molecule. The CIP system assigns an R or S descriptor to each stereocenter and an E or Z descriptor to each double bond so that the configuration of the entire molecule can be specified uniquely.


CPK (Corey,Pauling,Koltun) is a popular color convention for distinguishing atoms of different chemical elements in molecular models.


Comma-separated-values file format.

See also


The Chemaxon Extended SMILES format which adds an additional (and optional) appendix to the SMILES string to encode a wide variety of additional features that are not part of the SMILES representation proper.

Feature release

The feature releases take place in Spring and Fall. These releases will provide support for new platforms and major and minor code fixes as well as new features.


Fingerprints do not use a predefined pattern dictionary, the encoded fragments are enumerated exhaustively. Since the number of possible patterns present in molecular structures is extremely large, it is impractical to assign a particular bit to each unique pattern, as in the case of structural key method. Instead, each pattern is subjected to a hashing function that logically OR into the fingerprint. The usage of hashing inherently results in overlap of some structural patterns.


GRASP is a molecular visualization and analysis program. It is particularly useful for the display and manipulation of the surfaces of molecules and their electrostatic properties. (online:fx.php/Software:GRASP)



Originally developed by the International Union of Pure and Applied Chemistry (IUPAC), the IUPAC International Chemical Identifier (InChI) is a character string generated by computer algorithm. It is a tool to be used in software applications designed and developed by those who choose to use it.

The InChI algorithm turns chemical structures into machine-readable strings of information. InChIs are unique to the compound they describe and can encode absolute stereochemistry making chemicals and chemistry machine-readable and discoverable.

The InChI format and algorithm are non-proprietary and the software is open source, with ongoing development done by the community. A number of IUPAC working groups is currently creating standard for those areas of chemistry that are not yet handled by the InChI algorithm.



The InChIKey has been designed so that Internet search engines can search and find the links to a given InChI.

To make the InChIKey the InChI string is subjected to a compression algorithm to create a fixed-length string of upper-case characters. While the InChI to InChIKey hash compression is irreversible, there are a number of InChI resolvers available to look up an InChI given an InChIKey.


LINGO is a very fast text-based molecular similarity search method. It is based on fragmentation of canonical isomeric SMILES strings into overlapping substrings.


MACCS is a 166 bit-long structural key descriptor in which each bit is associated with a specific structural pattern.

marching cubes


nonterminal atom

An atom is considered nonterminal if it is connected to two or more nonhydrogen atoms, that is, the method GetHvyDegree() of OEAtomBase returns a value greater than or equal to 2.


Popcount refers to the procedure of counting the number of ones set in a bit string. It is available as a hardware instruction on many modern processors and can be used as an alternative to software-based counting methods to speed up fingerprint operations.

Preliminary API

APIs that are still under development might be delivered and marked as preliminary. Providing early access means that the APIs can be improved based on user feedback before committing to a final API design. Preliminary APIs will sometimes be made available for a limited set of platforms and languages. They are marked as follows:


This is a Preliminary API and may be improved based on user feedback. It is currently available in C++ and Python.

The label will usually include the timeline for full release of the API and any platform or language limitations.

raster image

Raster graphics represents of images as an array of pixels or points of color.

rotatable bond

In OpenEye documentation, a bond is considered rotatable only if it is a single nonring bond between two nonterminal, non-triple-bonded atoms. For example the following structures have no rotatable bonds:

  • CCC


  • C1CCCCC1


Since the “rotatable” property depends on the ‘in ring’ property. the OEFindRingAtomsAndBonds function must be called before accessing the rotatable bond property via the IsRotor method of OEQBondBase.


SMARTS is a language that allows specifying substructures by providing a number of primitive symbols describing atomic and bond properties. Atom and bond primitive specifications may be combined to form expressions by using logical operators. An introduction to SMARTS syntax is provided in SMARTS Pattern Matching. For more information go to


A SMILES string represents a molecule by describing only its molecular graph (i.e. atoms and bonds in the connection table, but no chiral or isotopic information). There are usually a large number of valid SMILES which represent a given structure. For example, CCO, OCC and C(O)C all specify the structure of ethanol. For generating an arbitrary SMILES string, use the OECreateAbsSmiString function. An introduction to SMILES syntax is provided in chapter SMILES Line Notation. For more information go to


SMIRKS is a reaction transform language. A reaction considered valid according to the strict SMIRKS semantics if:

  • all mapped product atoms have corresponding mapped reactant atoms

  • all atom maps must be pairwise (i.e. every map class has exactly one reactant and one product atom)

The strict semantics also requires that unmapped reactant atoms are destroyed in the reaction.

The strict semantics means that in full compliance with the SMIRKS defined by its originator, Daylight Inc. For more information about the semantics of SMIRKS language visit

Stable API

Toolkits that have been fully developed, documented, and tested are considered stable. The API definitions for these toolkits will be consistent across languages and platforms and will not change between toolkit releases.

Code written with earlier versions of the toolkit will compile and run with newer versions. This allows users to easily upgrade to newer versions without worrying about breaking legacy code.

stereo atom

In OEChem TK the atom stereo information is stored as a relative positions of neighboring atoms around a tetrahedral center. If an atom has specified stereochemistry, then the HasStereoSpecified method of OEAtomBase returns True.


In OEChem TK atom stereochemistry is internally represented by two properties stereo atom and chiral atom. These properties are completely independent and allows OEChem TK to retain configuration information around atoms that are not chiral atom, or to identify chiral atoms whose configuration is not specified.


In the current version of OEChem TK, the only class of stereochemistry supported for atoms is Tetrahedral, which corresponds to \(sp3\) tetrahedral chirality. Valid return values for the OEAtomStereo Tetrahedral stereochemistry class are Left and Right.

See also

stereo bond

In OEChem TK the bond stereo information is stored as a relative positions of neighboring atoms around a bond. If a bond has specified stereochemistry, then the HasStereoSpecified method of OEAtomBase returns True.


In OEChem TK bond stereochemistry is internally represented by two properties stereo bond and chiral bond. These properties are completely independent and allows OEChem TK to retain configuration information around bonds that are not chiral bonds, or to identify chiral bonds whose configuration is not specified.


In the current version of OEChem TK, the only class of stereochemistry supported for bonds is OEBondStereo CisTrans, which corresponds to conjugated E/Z chirality. Valid return values for the OEBondStereo CisTrans stereochemistry class Cis and Trans.

See also

structural key

A structural key is a fixed-length bitstring in which each bit is associated with a specific molecular pattern. When a structural key is generated for a molecule, the bitstring encodes whether or not these specific molecular patterns are present or absent in the molecule. The performance of such keys depends on the choice of the fragments used for constructing the keys and the probability of their presence in the searched molecule databases.


Scalable Vector Graphics (SVG) is a family of specifications of an XML-based file format for describing two-dimensional vector graphics.

vector image

Vector graphics represent images using geometrical primitives such as points, lines, curves, and shapes or polygon(s), which are all based on mathematical equations.