void OECreateInChI(std::string &str, const OEMolBase &mol,
                   const OEInChIOptions& = OEInChIOptions())

Creates an standard InChI or a non-standard InChI string representing a given molecule.


Setting any options will by default return a non-standard InChI.


The OECreateInChI is rigorously tested to ensure that it generates the identical InChI string as the stand alone InChI program.

Performance of OECreateInChI to generate standard InChI
Database Size Number of failures Success Rate
MDDR 111K 10 99.99 %

The failures are due to the problem that OEChem and InChI handle some incorrect bond stereo configurations differently. See example in Difference due atom stereo perception

Difference due atom stereo perception
InChI stand alone InChI=1S/C3H7NO2/c1-2(4)3(5)6/h2H,4H2,1H3,(H,5,6)
OECreateInChI InChI=1S/C3H7NO2/c1-2(4)3(5)6/h2H,4H2,1H3,(H,5,6)/t2-/m1/s1

See also