InChI
 
Loading...
Searching...
No Matches
ichi.h File Reference
#include "incomdef.h"
#include "mode.h"
+ Include dependency graph for ichi.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tagINChI_IsotopicAtom
 
struct  tagINChI_IsotopicTGroup
 
struct  tagINChI_Stereo
 
struct  tagINChI
 
struct  tagOrigInfo
 
struct  tagINChI_Aux
 
struct  tagINChIforSort
 

Macros

#define REQ_MODE_BASIC   0x000001 /* B include Fixed-H layer */
 
#define REQ_MODE_TAUT   0x000002 /* T include Mobile-H layer */
 
#define REQ_MODE_ISO   0x000004 /* I */
 
#define REQ_MODE_NON_ISO   0x000008 /* NI */
 
#define REQ_MODE_STEREO   0x000010 /* S */
 
#define REQ_MODE_ISO_STEREO   0x000020 /* IS */
 
#define REQ_MODE_NOEQ_STEREO   0x000040 /* SS */
 
#define REQ_MODE_REDNDNT_STEREO   0x000080 /* RS */
 
#define REQ_MODE_NO_ALT_SBONDS   0x000100 /* NASB */
 
#define REQ_MODE_RELATIVE_STEREO   0x000200 /* REL All Relative Stereo */
 
#define REQ_MODE_RACEMIC_STEREO   0x000400 /* RAC All Racemic Stereo */
 
#define REQ_MODE_SC_IGN_ALL_UU   0x000800 /* IAUSC Ignore stereocenters if All Undef/Unknown */
 
#define REQ_MODE_SB_IGN_ALL_UU   0x001000 /* IAUSC Ignore stereobonds if All Undef/Unknown */
 
#define REQ_MODE_CHIR_FLG_STEREO   0x002000 /* SUCF If Chiral flag then Abs otherwise Rel stereo */
 
#define REQ_MODE_DIFF_UU_STEREO   0x004000 /* SLUUD Make labels for unknown and undefined stereo different */
 
#define REQ_MODE_MIN_SB_RING_MASK   0x0F0000 /* RSB */
 
#define REQ_MODE_MIN_SB_RING_SHFT   16
 
#define REQ_MODE_DEFAULT   (REQ_MODE_BASIC | REQ_MODE_TAUT | REQ_MODE_ISO | REQ_MODE_NON_ISO | REQ_MODE_STEREO)
 
#define WARN_FAILED_STEREO   0x0001
 
#define WARN_FAILED_ISOTOPIC   0x0002
 
#define WARN_FAILED_ISOTOPIC_STEREO   0x0004
 
#define ERR_NO_CANON_RESULTS   0x0008
 
#define CMP_COMPONENTS   0x0001 /* perform compare components */
 
#define CMP_COMPONENTS_NONISO   0x0002 /* ignore isotopic */
 
#define CMP_COMPONENTS_NONTAUT   0x0004 /* compare non-tautomeric */
 
#define INCHI_FLAG_ACID_TAUT   0x0001 /* tautomerism of dissociated acid invoked */
 
#define INCHI_FLAG_REL_STEREO   0x0002 /* requested relative stereo */
 
#define INCHI_FLAG_RAC_STEREO   0x0004 /* requested racemic stereo */
 
#define INCHI_FLAG_SC_IGN_ALL_UU   0x0008 /* ignored all undefined/unknown stereocenters, non-isotopic */
 
#define INCHI_FLAG_SB_IGN_ALL_UU   0x0010 /* ignored all undefined/unknown stereocenters, non-isotopic */
 
#define INCHI_FLAG_SC_IGN_ALL_ISO_UU   0x0020 /* ignored all undefined/unknown stereocenters, isotopic */
 
#define INCHI_FLAG_SB_IGN_ALL_ISO_UU   0x0040 /* ignored all undefined/unknown stereocenters, isotopic */
 
#define INCHI_FLAG_HARD_ADD_REM_PROTON   0x0080 /* in normalization a proton has been added or removed along alt path */
 
#define INCHI_OUT_NO_AUX_INFO   0x0001 /* do not output Aux Info */
 
#define INCHI_OUT_SHORT_AUX_INFO   0x0002 /* output short version of Aux Info */
 
#define INCHI_OUT_ONLY_AUX_INFO   0x0004 /* output only Aux Info */
 
#define INCHI_OUT_EMBED_REC   0x0008 /* embed reconnected INChI into disconnected INChI */
 
#define INCHI_OUT_SDFILE_ONLY   0x0010 /* save input data in a Molfile instead of creating INChI */
 
#define INCHI_OUT_XML   0x0020 /* *obsolete* output xml INChI */
 
#define INCHI_OUT_PLAIN_TEXT   0x0040 /* output plain text INChI */
 
#define INCHI_OUT_PLAIN_TEXT_COMMENTS   0x0080 /* output plain text annotation */
 
#define INCHI_OUT_XML_TEXT_COMMENTS   0x0100 /* *obsolete* output xml text annotation */
 
#define INCHI_OUT_WINCHI_WINDOW   0x0200 /* output into wINChI text window */
 
#define INCHI_OUT_TABBED_OUTPUT   0x0400 /* tab-delimited (only for plain text) */
 
#define INCHI_OUT_SDFILE_ATOMS_DT   0x0800 /* SDfile output H isotopes as D and T */
 
#define INCHI_OUT_SDFILE_SPLIT   0x1000 /* Split SDfile into components */
 
#define INCHI_OUT_FIX_TRANSPOSITION_CHARGE_BUG   0x2000
 
#define INCHI_OUT_STDINCHI   0x4000
 
#define INCHI_OUT_SAVEOPT   0x8000
 
#define INCHI_OUT_INCHI_GEN_ERROR   0x0001 /* v. 1.05 */
 
#define INCHI_OUT_MISMATCH_AS_ERROR   0x0002 /* v. 1.05 */
 
#define INCHI_OUT_REQ_LARGE_MOL   0x0004 /* v. 1.06 */
 
#define INCHI_OUT_REQ_POLYMERS   0x0008 /* v. 1.06 */
 
#define SAVE_OPT_SLUUD   0x0001
 
#define SAVE_OPT_SUU   0x0002
 
#define SAVE_OPT_FIXEDH   0x0004
 
#define SAVE_OPT_RECMET   0x0008
 
#define SAVE_OPT_KET   0x0010
 
#define SAVE_OPT_15T   0x0020
 
#define SAVE_OPT_PT_22_00   0x0040
 
#define SAVE_OPT_PT_16_00   0x0080
 
#define SAVE_OPT_PT_06_00   0x0100
 
#define SAVE_OPT_PT_39_00   0x0200
 
#define SAVE_OPT_PT_13_00   0x0400
 
#define SAVE_OPT_PT_18_00   0x0800
 
#define INCHI_OUT_PRINT_OPTIONS
 

Typedefs

typedef struct tagINChI_IsotopicAtom INChI_IsotopicAtom
 
typedef struct tagINChI_IsotopicTGroup INChI_IsotopicTGroup
 
typedef struct tagINChI_Stereo INChI_Stereo
 
typedef struct tagINChI INChI
 
typedef INChIPINChI2[TAUT_NUM]
 
typedef struct tagOrigInfo ORIG_INFO
 
typedef struct tagINChI_Aux INChI_Aux
 
typedef INChI_AuxPINChI_Aux2[TAUT_NUM]
 
typedef struct tagINChIforSort INCHI_SORT
 

Macro Definition Documentation

◆ CMP_COMPONENTS

#define CMP_COMPONENTS   0x0001 /* perform compare components */

◆ CMP_COMPONENTS_NONISO

#define CMP_COMPONENTS_NONISO   0x0002 /* ignore isotopic */

◆ CMP_COMPONENTS_NONTAUT

#define CMP_COMPONENTS_NONTAUT   0x0004 /* compare non-tautomeric */

◆ ERR_NO_CANON_RESULTS

#define ERR_NO_CANON_RESULTS   0x0008

◆ INCHI_FLAG_ACID_TAUT

#define INCHI_FLAG_ACID_TAUT   0x0001 /* tautomerism of dissociated acid invoked */

◆ INCHI_FLAG_HARD_ADD_REM_PROTON

#define INCHI_FLAG_HARD_ADD_REM_PROTON   0x0080 /* in normalization a proton has been added or removed along alt path */

◆ INCHI_FLAG_RAC_STEREO

#define INCHI_FLAG_RAC_STEREO   0x0004 /* requested racemic stereo */

◆ INCHI_FLAG_REL_STEREO

#define INCHI_FLAG_REL_STEREO   0x0002 /* requested relative stereo */

◆ INCHI_FLAG_SB_IGN_ALL_ISO_UU

#define INCHI_FLAG_SB_IGN_ALL_ISO_UU   0x0040 /* ignored all undefined/unknown stereocenters, isotopic */

◆ INCHI_FLAG_SB_IGN_ALL_UU

#define INCHI_FLAG_SB_IGN_ALL_UU   0x0010 /* ignored all undefined/unknown stereocenters, non-isotopic */

◆ INCHI_FLAG_SC_IGN_ALL_ISO_UU

#define INCHI_FLAG_SC_IGN_ALL_ISO_UU   0x0020 /* ignored all undefined/unknown stereocenters, isotopic */

◆ INCHI_FLAG_SC_IGN_ALL_UU

#define INCHI_FLAG_SC_IGN_ALL_UU   0x0008 /* ignored all undefined/unknown stereocenters, non-isotopic */

◆ INCHI_OUT_EMBED_REC

#define INCHI_OUT_EMBED_REC   0x0008 /* embed reconnected INChI into disconnected INChI */

◆ INCHI_OUT_FIX_TRANSPOSITION_CHARGE_BUG

#define INCHI_OUT_FIX_TRANSPOSITION_CHARGE_BUG   0x2000

◆ INCHI_OUT_INCHI_GEN_ERROR

#define INCHI_OUT_INCHI_GEN_ERROR   0x0001 /* v. 1.05 */

◆ INCHI_OUT_MISMATCH_AS_ERROR

#define INCHI_OUT_MISMATCH_AS_ERROR   0x0002 /* v. 1.05 */

◆ INCHI_OUT_NO_AUX_INFO

#define INCHI_OUT_NO_AUX_INFO   0x0001 /* do not output Aux Info */

◆ INCHI_OUT_ONLY_AUX_INFO

#define INCHI_OUT_ONLY_AUX_INFO   0x0004 /* output only Aux Info */

◆ INCHI_OUT_PLAIN_TEXT

#define INCHI_OUT_PLAIN_TEXT   0x0040 /* output plain text INChI */

◆ INCHI_OUT_PLAIN_TEXT_COMMENTS

#define INCHI_OUT_PLAIN_TEXT_COMMENTS   0x0080 /* output plain text annotation */

◆ INCHI_OUT_PRINT_OPTIONS

#define INCHI_OUT_PRINT_OPTIONS
Value:
#define INCHI_OUT_PLAIN_TEXT_COMMENTS
Definition ichi.h:171
#define INCHI_OUT_EMBED_REC
Definition ichi.h:167
#define INCHI_OUT_PLAIN_TEXT
Definition ichi.h:170

◆ INCHI_OUT_REQ_LARGE_MOL

#define INCHI_OUT_REQ_LARGE_MOL   0x0004 /* v. 1.06 */

◆ INCHI_OUT_REQ_POLYMERS

#define INCHI_OUT_REQ_POLYMERS   0x0008 /* v. 1.06 */

◆ INCHI_OUT_SAVEOPT

#define INCHI_OUT_SAVEOPT   0x8000

◆ INCHI_OUT_SDFILE_ATOMS_DT

#define INCHI_OUT_SDFILE_ATOMS_DT   0x0800 /* SDfile output H isotopes as D and T */

◆ INCHI_OUT_SDFILE_ONLY

#define INCHI_OUT_SDFILE_ONLY   0x0010 /* save input data in a Molfile instead of creating INChI */

◆ INCHI_OUT_SDFILE_SPLIT

#define INCHI_OUT_SDFILE_SPLIT   0x1000 /* Split SDfile into components */

◆ INCHI_OUT_SHORT_AUX_INFO

#define INCHI_OUT_SHORT_AUX_INFO   0x0002 /* output short version of Aux Info */

◆ INCHI_OUT_STDINCHI

#define INCHI_OUT_STDINCHI   0x4000

◆ INCHI_OUT_TABBED_OUTPUT

#define INCHI_OUT_TABBED_OUTPUT   0x0400 /* tab-delimited (only for plain text) */

◆ INCHI_OUT_WINCHI_WINDOW

#define INCHI_OUT_WINCHI_WINDOW   0x0200 /* output into wINChI text window */

◆ INCHI_OUT_XML

#define INCHI_OUT_XML   0x0020 /* *obsolete* output xml INChI */

◆ INCHI_OUT_XML_TEXT_COMMENTS

#define INCHI_OUT_XML_TEXT_COMMENTS   0x0100 /* *obsolete* output xml text annotation */

◆ REQ_MODE_BASIC

#define REQ_MODE_BASIC   0x000001 /* B include Fixed-H layer */

◆ REQ_MODE_CHIR_FLG_STEREO

#define REQ_MODE_CHIR_FLG_STEREO   0x002000 /* SUCF If Chiral flag then Abs otherwise Rel stereo */

◆ REQ_MODE_DEFAULT

◆ REQ_MODE_DIFF_UU_STEREO

#define REQ_MODE_DIFF_UU_STEREO   0x004000 /* SLUUD Make labels for unknown and undefined stereo different */

◆ REQ_MODE_ISO

#define REQ_MODE_ISO   0x000004 /* I */

◆ REQ_MODE_ISO_STEREO

#define REQ_MODE_ISO_STEREO   0x000020 /* IS */

◆ REQ_MODE_MIN_SB_RING_MASK

#define REQ_MODE_MIN_SB_RING_MASK   0x0F0000 /* RSB */

◆ REQ_MODE_MIN_SB_RING_SHFT

#define REQ_MODE_MIN_SB_RING_SHFT   16

◆ REQ_MODE_NO_ALT_SBONDS

#define REQ_MODE_NO_ALT_SBONDS   0x000100 /* NASB */

◆ REQ_MODE_NOEQ_STEREO

#define REQ_MODE_NOEQ_STEREO   0x000040 /* SS */

◆ REQ_MODE_NON_ISO

#define REQ_MODE_NON_ISO   0x000008 /* NI */

◆ REQ_MODE_RACEMIC_STEREO

#define REQ_MODE_RACEMIC_STEREO   0x000400 /* RAC All Racemic Stereo */

◆ REQ_MODE_REDNDNT_STEREO

#define REQ_MODE_REDNDNT_STEREO   0x000080 /* RS */

◆ REQ_MODE_RELATIVE_STEREO

#define REQ_MODE_RELATIVE_STEREO   0x000200 /* REL All Relative Stereo */

◆ REQ_MODE_SB_IGN_ALL_UU

#define REQ_MODE_SB_IGN_ALL_UU   0x001000 /* IAUSC Ignore stereobonds if All Undef/Unknown */

◆ REQ_MODE_SC_IGN_ALL_UU

#define REQ_MODE_SC_IGN_ALL_UU   0x000800 /* IAUSC Ignore stereocenters if All Undef/Unknown */

◆ REQ_MODE_STEREO

#define REQ_MODE_STEREO   0x000010 /* S */

◆ REQ_MODE_TAUT

#define REQ_MODE_TAUT   0x000002 /* T include Mobile-H layer */

◆ SAVE_OPT_15T

#define SAVE_OPT_15T   0x0020

◆ SAVE_OPT_FIXEDH

#define SAVE_OPT_FIXEDH   0x0004

◆ SAVE_OPT_KET

#define SAVE_OPT_KET   0x0010

◆ SAVE_OPT_PT_06_00

#define SAVE_OPT_PT_06_00   0x0100

◆ SAVE_OPT_PT_13_00

#define SAVE_OPT_PT_13_00   0x0400

◆ SAVE_OPT_PT_16_00

#define SAVE_OPT_PT_16_00   0x0080

◆ SAVE_OPT_PT_18_00

#define SAVE_OPT_PT_18_00   0x0800

◆ SAVE_OPT_PT_22_00

#define SAVE_OPT_PT_22_00   0x0040

◆ SAVE_OPT_PT_39_00

#define SAVE_OPT_PT_39_00   0x0200

◆ SAVE_OPT_RECMET

#define SAVE_OPT_RECMET   0x0008

◆ SAVE_OPT_SLUUD

#define SAVE_OPT_SLUUD   0x0001

◆ SAVE_OPT_SUU

#define SAVE_OPT_SUU   0x0002

◆ WARN_FAILED_ISOTOPIC

#define WARN_FAILED_ISOTOPIC   0x0002

◆ WARN_FAILED_ISOTOPIC_STEREO

#define WARN_FAILED_ISOTOPIC_STEREO   0x0004

◆ WARN_FAILED_STEREO

#define WARN_FAILED_STEREO   0x0001

Typedef Documentation

◆ INChI

typedef struct tagINChI INChI

◆ INChI_Aux

typedef struct tagINChI_Aux INChI_Aux

◆ INChI_IsotopicAtom

◆ INChI_IsotopicTGroup

◆ INCHI_SORT

typedef struct tagINChIforSort INCHI_SORT

◆ INChI_Stereo

typedef struct tagINChI_Stereo INChI_Stereo

◆ ORIG_INFO

typedef struct tagOrigInfo ORIG_INFO

◆ PINChI2

typedef INChI* PINChI2[TAUT_NUM]

◆ PINChI_Aux2

typedef INChI_Aux* PINChI_Aux2[TAUT_NUM]