Go to the source code of this file.
Data Structures | |
struct | tagInChICompareResults |
struct | subgraf_edge |
struct | subgraf |
struct | subgraf_pathfinder |
Macros | |
#define | IDIFF_SB (IDIF_SB_PARITY | IDIF_SB_EXTRA_UNDF | IDIF_SB_EXTRA | IDIF_SB_MISS_UNDF | IDIF_SB_MISS) |
#define | IDIFF_SC (IDIF_SC_PARITY | IDIF_SC_EXTRA_UNDF | IDIF_SC_EXTRA | IDIF_SC_MISS_UNDF | IDIF_SC_MISS) |
#define | IDIFF_CONSTIT |
#define | IDIFF_STEREO |
#define | ICR_MAX_ENDP_IN1_ONLY 32 |
#define | ICR_MAX_ENDP_IN2_ONLY 32 |
#define | ICR_MAX_DIFF_FIXED_H 32 |
#define | ICR_MAX_SB_IN1_ONLY 32 |
#define | ICR_MAX_SB_IN2_ONLY 32 |
#define | ICR_MAX_SC_IN1_ONLY 32 |
#define | ICR_MAX_SC_IN2_ONLY 32 |
#define | ICR_MAX_SB_UNDF 32 |
#define | ICR_MAX_SC_UNDF 32 |
#define | EQL_EXISTS 1 |
#define | EQL_SP3 2 |
#define | EQL_SP3_INV 4 |
#define | EQL_SP2 8 |
#define | EQL_EQU 0 |
#define | EQL_EQU_TG 1 |
#define | EQL_EQU_ISO 2 |
#define | EQL_NUM 0 |
#define | EQL_NUM_INV 1 |
#define | EQL_NUM_ISO 2 |
#define | FLAG_SORT_PRINT_TRANSPOS_BAS 1 /* transposition in the main InChI layer */ |
#define | FLAG_SORT_PRINT_TRANSPOS_REC 2 /* transposition in the reconnected InChI layer */ |
#define | FLAG_SORT_PRINT_NO_NFIX_H_BAS 4 /* no fixed H non-isotopic in the main InChI layer */ |
#define | FLAG_SORT_PRINT_NO_NFIX_H_REC 8 /* no fixed H non-isotopic in the reconnected InChI layer */ |
#define | FLAG_SORT_PRINT_NO_IFIX_H_BAS 16 /* no fixed H isotopic in the main InChI layer */ |
#define | FLAG_SORT_PRINT_NO_IFIX_H_REC 32 /* no fixed H isotopic in the the reconnected InChI layer */ |
#define | FLAG_SORT_PRINT_ReChI_PREFIX 64 /* Output ReChI instead of InChI */ |
#define | SDF_LBL_VAL(L, V) ((L)&&(L)[0])?gsSpace:gsEmpty, ((L)&&(L)[0])?L:gsEmpty, ((L)&&(L)[0])? (((V)&&(V)[0])?gsEqual:gsSpace):gsEmpty, ((V)&&(V)[0])?V:((L)&&(L)[0])?gsMissing:gsEmpty |
Typedefs | |
typedef enum tagInchiDiffBits | IDIF |
typedef struct tagInChICompareResults | ICR |
typedef enum tagDiffINChISegments | DIF_SEGMENTS |
typedef enum tagDiffINChILayers | DIF_LAYERS |
typedef enum tagMarkDiff | DIF_VALUES |
typedef enum tagINChISegmAction | INCHI_SEGM_ACTION |
typedef struct subgraf_edge | subgraf_edge |
typedef struct subgraf | subgraf |
typedef struct subgraf_pathfinder | subgraf_pathfinder |
Functions | |
int | ExtractConnectedComponent (inp_ATOM *at, int num_at, int component_number, inp_ATOM *component_at) |
int | SetConnectedComponentNumber (inp_ATOM *at, int num_at, int component_number) |
INChI * | Alloc_INChI (inp_ATOM *at, int num_at, int *found_num_bonds, int *found_num_isotopic, int nAllocMode) |
int | Free_INChI (INChI **ppINChI) |
int | Free_INChI_Members (INChI *pINChI) |
int | Free_INChI_Stereo (INChI_Stereo *pINChI_Stereo) |
INChI_Aux * | Alloc_INChI_Aux (int num_at, int num_isotopic_atoms, int nAllocMode, int bOrigData) |
int | Free_INChI_Aux (INChI_Aux **ppINChI_Aux) |
int | Create_INChI (struct tagCANON_GLOBALS *pCG, struct tagINCHI_CLOCK *ic, INPUT_PARMS *ip, INChI **ppINChI, INChI_Aux **ppINChI_Aux, ORIG_ATOM_DATA *orig_inp_data, inp_ATOM *inp_at, INP_ATOM_DATA *inp_norm_data[2], int num_inp_at, INCHI_MODE nUserMode, INCHI_MODE *pbTautFlags, INCHI_MODE *pbTautFlagsDone, struct tagInchiTime *ulMaxTime, struct tagTautomerGroupsInfo *ti_out, char *pStrErrStruct) |
int | FillOutInfAtom (struct tagCANON_GLOBALS *pCG, inp_ATOM *norm_at, INF_ATOM_DATA *inf_norm_at_data, int init_num_at, int num_removed_H, int bAdd_DT_to_num_H, int nNumRemovedProtons, NUM_H *nNumRemovedProtonsIsotopic, int bIsotopic, INChI *pINChI, INChI_Aux *pINChI_Aux, int bAbcNumbers, INCHI_MODE nMode) |
int | FillOutCompositeCanonInfAtom (struct tagCANON_GLOBALS *pCG, COMP_ATOM_DATA *composite_norm_data, INF_ATOM_DATA *inf_norm_at_data, int bIsotopic, int bTautomeric, PINChI2 *pINChI2, PINChI_Aux2 *pINChI_Aux2, int bAbcNumbers, INCHI_MODE nMode) |
char * | AllocateAndFillHillFormula (INChI *pINChI) |
INCHI_MODE | CompareReversedINChI2 (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2, ICR *picr, int *err) |
int | CompareIcr (ICR *picr1, ICR *picr2, INCHI_MODE *pin1, INCHI_MODE *pin2, INCHI_MODE mask) |
int | CompareReversedINChI (INChI *i1, INChI *i2, INChI_Aux *a1, INChI_Aux *a2) |
const char * | CompareReversedInchiMsg (int code) |
int | Eql_INChI_Stereo (INChI_Stereo *s1, int eql1, INChI_Stereo *s2, int eql2, int bRelRac) |
int | Eql_INChI_Isotopic (INChI *i1, INChI *i2) |
int | Eql_INChI_Aux_Equ (INChI_Aux *a1, int eql1, INChI_Aux *a2, int eql2) |
int | Eql_INChI_Aux_Num (INChI_Aux *a1, int eql1, INChI_Aux *a2, int eql2) |
int | bHasEquString (AT_NUMB *LinearCT, int nLenCT) |
int | CompINChINonTaut2 (const void *p1, const void *p2) |
int | CompINChITaut2 (const void *p1, const void *p2) |
int | CompINChI2 (const INCHI_SORT *p1, const INCHI_SORT *p2, int bTaut, int bCompareIsotopic) |
int | CompINChITautVsNonTaut (const INCHI_SORT *p1, const INCHI_SORT *p2, int bCompareIsotopic) |
int | CompINChILayers (const INCHI_SORT *p1, const INCHI_SORT *p2, char sDifSegs[][DIFS_LENGTH], int bFixTranspChargeBug) |
int | MarkUnusedAndEmptyLayers (char sDifSegs[][DIFS_LENGTH]) |
int | INChI_SegmentAction (char cDifSegs) |
int | OutputINChI1 (struct tagCANON_GLOBALS *pCG, INCHI_IOS_STRING *strbuf, INCHI_SORT *pINChISortTautAndNonTaut2[][TAUT_NUM], int iINChI, ORIG_ATOM_DATA *orig_inp_data, ORIG_STRUCT *pOrigStruct, INPUT_PARMS *ip, int bDisconnectedCoord, int bOutputType, int bINChIOutputOptions, int num_components2[], int num_non_taut2[], int num_taut2[], INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, int num_input_struct, int *pSortPrintINChIFlags, unsigned char save_opt_bits) |
int | OutputINChI2 (struct tagCANON_GLOBALS *pCG, INCHI_IOS_STRING *strbuf, INCHI_SORT *pINChISortTautAndNonTaut2[][TAUT_NUM], int INCHI_basic_or_INCHI_reconnected, ORIG_ATOM_DATA *orig_inp_data, ORIG_STRUCT *pOrigStruct, INPUT_PARMS *ip, int bDisconnectedCoord, int bOutputType, int bINChIOutputOptions, int num_components2[], int num_non_taut2[], int num_taut2[], INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, int num_input_struct, int *pSortPrintINChIFlags, unsigned char save_opt_bits) |
int | SaveEquComponentsInfoAndSortOrder (int iINChI, INCHI_SORT *pINChISort[TAUT_NUM], int *num_components, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data, COMP_ATOM_DATA composite_norm_data[TAUT_NUM+1], int bCompareComponents) |
int | OutputINChIPlainError (INCHI_IOSTREAM *out_file, char *pErrorText, int bError) |
int | GetInpStructErrorType (INPUT_PARMS *ip, int err, char *pStrErrStruct, int num_inp_atoms) |
int | ProcessStructError (INCHI_IOSTREAM *out_file, INCHI_IOSTREAM *log_file, char *pStrErrStruct, int nErrorType, long num_inp, INPUT_PARMS *ip) |
int | bNumHeterAtomHasIsotopicH (inp_ATOM *atom, int num_atoms) |
int | WriteToSDfile (const INP_ATOM_DATA *inp_at_data, INCHI_IOSTREAM *fcb, const char *name, const char *comment, const char *szLabel, const char *szValue) |
int | bIsMetalSalt (inp_ATOM *at, int i) |
int | bIsSameBond (int a1, int a2, int b1, int b2) |
int | imat_new (int m, int n, int ***a) |
void | imat_free (int m, int **a) |
subgraf * | subgraf_new (ORIG_ATOM_DATA *orig_inp_data, int nnodes, int *nodes) |
void | subgraf_free (subgraf *sg) |
void | subgraf_debug_trace (subgraf *sg) |
subgraf_pathfinder * | subgraf_pathfinder_new (subgraf *sg, ORIG_ATOM_DATA *orig_inp_data, int start, int end) |
void | subgraf_pathfinder_free (subgraf_pathfinder *spf) |
void | subgraf_pathfinder_run (subgraf_pathfinder *spf, int nforbidden, int *forbidden_orig, int *nbonds, int **bonds, int *natoms, int *atoms) |
int | subgraf_pathfinder_collect_all (subgraf_pathfinder *spf, int nforbidden, int *forbidden, int *atnums) |
void | CompAtomData_GetNumMapping (COMP_ATOM_DATA *adata, int *orig_num, int *curr_num) |
Variables | |
const char | gsMissing [] |
const char | gsEmpty [] |
const char | gsSpace [] |
const char | gsEqual [] |
#define EQL_EQU 0 |
#define EQL_EQU_ISO 2 |
#define EQL_EQU_TG 1 |
#define EQL_EXISTS 1 |
#define EQL_NUM 0 |
#define EQL_NUM_INV 1 |
#define EQL_NUM_ISO 2 |
#define EQL_SP2 8 |
#define EQL_SP3 2 |
#define EQL_SP3_INV 4 |
#define FLAG_SORT_PRINT_NO_IFIX_H_BAS 16 /* no fixed H isotopic in the main InChI layer */ |
#define FLAG_SORT_PRINT_NO_IFIX_H_REC 32 /* no fixed H isotopic in the the reconnected InChI layer */ |
#define FLAG_SORT_PRINT_NO_NFIX_H_BAS 4 /* no fixed H non-isotopic in the main InChI layer */ |
#define FLAG_SORT_PRINT_NO_NFIX_H_REC 8 /* no fixed H non-isotopic in the reconnected InChI layer */ |
#define FLAG_SORT_PRINT_ReChI_PREFIX 64 /* Output ReChI instead of InChI */ |
#define FLAG_SORT_PRINT_TRANSPOS_BAS 1 /* transposition in the main InChI layer */ |
#define FLAG_SORT_PRINT_TRANSPOS_REC 2 /* transposition in the reconnected InChI layer */ |
#define ICR_MAX_DIFF_FIXED_H 32 |
#define ICR_MAX_ENDP_IN1_ONLY 32 |
#define ICR_MAX_ENDP_IN2_ONLY 32 |
#define ICR_MAX_SB_IN1_ONLY 32 |
#define ICR_MAX_SB_IN2_ONLY 32 |
#define ICR_MAX_SB_UNDF 32 |
#define ICR_MAX_SC_IN1_ONLY 32 |
#define ICR_MAX_SC_IN2_ONLY 32 |
#define ICR_MAX_SC_UNDF 32 |
#define IDIFF_CONSTIT |
#define IDIFF_SB (IDIF_SB_PARITY | IDIF_SB_EXTRA_UNDF | IDIF_SB_EXTRA | IDIF_SB_MISS_UNDF | IDIF_SB_MISS) |
#define IDIFF_SC (IDIF_SC_PARITY | IDIF_SC_EXTRA_UNDF | IDIF_SC_EXTRA | IDIF_SC_MISS_UNDF | IDIF_SC_MISS) |
#define IDIFF_STEREO |
#define SDF_LBL_VAL | ( | L, | |
V | |||
) | ((L)&&(L)[0])?gsSpace:gsEmpty, ((L)&&(L)[0])?L:gsEmpty, ((L)&&(L)[0])? (((V)&&(V)[0])?gsEqual:gsSpace):gsEmpty, ((V)&&(V)[0])?V:((L)&&(L)[0])?gsMissing:gsEmpty |
typedef enum tagDiffINChILayers DIF_LAYERS |
typedef enum tagDiffINChISegments DIF_SEGMENTS |
typedef enum tagMarkDiff DIF_VALUES |
typedef struct tagInChICompareResults ICR |
typedef enum tagInchiDiffBits IDIF |
typedef enum tagINChISegmAction INCHI_SEGM_ACTION |
typedef struct subgraf_edge subgraf_edge |
typedef struct subgraf_pathfinder subgraf_pathfinder |
enum tagDiffINChILayers |
enum tagDiffINChISegments |
enum tagInchiDiffBits |
enum tagINChISegmAction |
enum tagMarkDiff |
INChI * Alloc_INChI | ( | inp_ATOM * | at, |
int | num_at, | ||
int * | found_num_bonds, | ||
int * | found_num_isotopic, | ||
int | nAllocMode | ||
) |
INChI_Aux * Alloc_INChI_Aux | ( | int | num_at, |
int | num_isotopic_atoms, | ||
int | nAllocMode, | ||
int | bOrigData | ||
) |
char * AllocateAndFillHillFormula | ( | INChI * | pINChI | ) |
int bHasEquString | ( | AT_NUMB * | LinearCT, |
int | nLenCT | ||
) |
int bIsMetalSalt | ( | inp_ATOM * | at, |
int | i | ||
) |
int bIsSameBond | ( | int | a1, |
int | a2, | ||
int | b1, | ||
int | b2 | ||
) |
int bNumHeterAtomHasIsotopicH | ( | inp_ATOM * | atom, |
int | num_atoms | ||
) |
int CompareIcr | ( | ICR * | picr1, |
ICR * | picr2, | ||
INCHI_MODE * | pin1, | ||
INCHI_MODE * | pin2, | ||
INCHI_MODE | mask | ||
) |
INCHI_MODE CompareReversedINChI2 | ( | INChI * | i1, |
INChI * | i2, | ||
INChI_Aux * | a1, | ||
INChI_Aux * | a2, | ||
ICR * | picr, | ||
int * | err | ||
) |
const char * CompareReversedInchiMsg | ( | int | code | ) |
void CompAtomData_GetNumMapping | ( | COMP_ATOM_DATA * | adata, |
int * | orig_num, | ||
int * | curr_num | ||
) |
int CompINChI2 | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
int | bTaut, | ||
int | bCompareIsotopic | ||
) |
int CompINChILayers | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
char | sDifSegs[][DIFS_LENGTH], | ||
int | bFixTranspChargeBug | ||
) |
int CompINChINonTaut2 | ( | const void * | p1, |
const void * | p2 | ||
) |
int CompINChITaut2 | ( | const void * | p1, |
const void * | p2 | ||
) |
int CompINChITautVsNonTaut | ( | const INCHI_SORT * | p1, |
const INCHI_SORT * | p2, | ||
int | bCompareIsotopic | ||
) |
int Create_INChI | ( | struct tagCANON_GLOBALS * | pCG, |
struct tagINCHI_CLOCK * | ic, | ||
INPUT_PARMS * | ip, | ||
INChI ** | ppINChI, | ||
INChI_Aux ** | ppINChI_Aux, | ||
ORIG_ATOM_DATA * | orig_inp_data, | ||
inp_ATOM * | inp_at, | ||
INP_ATOM_DATA * | inp_norm_data[2], | ||
int | num_inp_at, | ||
INCHI_MODE | nUserMode, | ||
INCHI_MODE * | pbTautFlags, | ||
INCHI_MODE * | pbTautFlagsDone, | ||
struct tagInchiTime * | ulMaxTime, | ||
struct tagTautomerGroupsInfo * | ti_out, | ||
char * | pStrErrStruct | ||
) |
int Eql_INChI_Stereo | ( | INChI_Stereo * | s1, |
int | eql1, | ||
INChI_Stereo * | s2, | ||
int | eql2, | ||
int | bRelRac | ||
) |
int ExtractConnectedComponent | ( | inp_ATOM * | at, |
int | num_at, | ||
int | component_number, | ||
inp_ATOM * | component_at | ||
) |
int FillOutCompositeCanonInfAtom | ( | struct tagCANON_GLOBALS * | pCG, |
COMP_ATOM_DATA * | composite_norm_data, | ||
INF_ATOM_DATA * | inf_norm_at_data, | ||
int | bIsotopic, | ||
int | bTautomeric, | ||
PINChI2 * | pINChI2, | ||
PINChI_Aux2 * | pINChI_Aux2, | ||
int | bAbcNumbers, | ||
INCHI_MODE | nMode | ||
) |
int FillOutInfAtom | ( | struct tagCANON_GLOBALS * | pCG, |
inp_ATOM * | norm_at, | ||
INF_ATOM_DATA * | inf_norm_at_data, | ||
int | init_num_at, | ||
int | num_removed_H, | ||
int | bAdd_DT_to_num_H, | ||
int | nNumRemovedProtons, | ||
NUM_H * | nNumRemovedProtonsIsotopic, | ||
int | bIsotopic, | ||
INChI * | pINChI, | ||
INChI_Aux * | pINChI_Aux, | ||
int | bAbcNumbers, | ||
INCHI_MODE | nMode | ||
) |
int Free_INChI | ( | INChI ** | ppINChI | ) |
int Free_INChI_Aux | ( | INChI_Aux ** | ppINChI_Aux | ) |
int Free_INChI_Members | ( | INChI * | pINChI | ) |
int Free_INChI_Stereo | ( | INChI_Stereo * | pINChI_Stereo | ) |
int GetInpStructErrorType | ( | INPUT_PARMS * | ip, |
int | err, | ||
char * | pStrErrStruct, | ||
int | num_inp_atoms | ||
) |
void imat_free | ( | int | m, |
int ** | a | ||
) |
int imat_new | ( | int | m, |
int | n, | ||
int *** | a | ||
) |
int INChI_SegmentAction | ( | char | cDifSegs | ) |
int MarkUnusedAndEmptyLayers | ( | char | sDifSegs[][DIFS_LENGTH] | ) |
int OutputINChI1 | ( | struct tagCANON_GLOBALS * | pCG, |
INCHI_IOS_STRING * | strbuf, | ||
INCHI_SORT * | pINChISortTautAndNonTaut2[][TAUT_NUM], | ||
int | iINChI, | ||
ORIG_ATOM_DATA * | orig_inp_data, | ||
ORIG_STRUCT * | pOrigStruct, | ||
INPUT_PARMS * | ip, | ||
int | bDisconnectedCoord, | ||
int | bOutputType, | ||
int | bINChIOutputOptions, | ||
int | num_components2[], | ||
int | num_non_taut2[], | ||
int | num_taut2[], | ||
INCHI_IOSTREAM * | out_file, | ||
INCHI_IOSTREAM * | log_file, | ||
int | num_input_struct, | ||
int * | pSortPrintINChIFlags, | ||
unsigned char | save_opt_bits | ||
) |
int OutputINChI2 | ( | struct tagCANON_GLOBALS * | pCG, |
INCHI_IOS_STRING * | strbuf, | ||
INCHI_SORT * | pINChISortTautAndNonTaut2[][TAUT_NUM], | ||
int | INCHI_basic_or_INCHI_reconnected, | ||
ORIG_ATOM_DATA * | orig_inp_data, | ||
ORIG_STRUCT * | pOrigStruct, | ||
INPUT_PARMS * | ip, | ||
int | bDisconnectedCoord, | ||
int | bOutputType, | ||
int | bINChIOutputOptions, | ||
int | num_components2[], | ||
int | num_non_taut2[], | ||
int | num_taut2[], | ||
INCHI_IOSTREAM * | out_file, | ||
INCHI_IOSTREAM * | log_file, | ||
int | num_input_struct, | ||
int * | pSortPrintINChIFlags, | ||
unsigned char | save_opt_bits | ||
) |
int OutputINChIPlainError | ( | INCHI_IOSTREAM * | out_file, |
char * | pErrorText, | ||
int | bError | ||
) |
int ProcessStructError | ( | INCHI_IOSTREAM * | out_file, |
INCHI_IOSTREAM * | log_file, | ||
char * | pStrErrStruct, | ||
int | nErrorType, | ||
long | num_inp, | ||
INPUT_PARMS * | ip | ||
) |
int SaveEquComponentsInfoAndSortOrder | ( | int | iINChI, |
INCHI_SORT * | pINChISort[TAUT_NUM], | ||
int * | num_components, | ||
ORIG_ATOM_DATA * | orig_inp_data, | ||
ORIG_ATOM_DATA * | prep_inp_data, | ||
COMP_ATOM_DATA | composite_norm_data[TAUT_NUM+1], | ||
int | bCompareComponents | ||
) |
int SetConnectedComponentNumber | ( | inp_ATOM * | at, |
int | num_at, | ||
int | component_number | ||
) |
void subgraf_debug_trace | ( | subgraf * | sg | ) |
void subgraf_free | ( | subgraf * | sg | ) |
subgraf * subgraf_new | ( | ORIG_ATOM_DATA * | orig_inp_data, |
int | nnodes, | ||
int * | nodes | ||
) |
int subgraf_pathfinder_collect_all | ( | subgraf_pathfinder * | spf, |
int | nforbidden, | ||
int * | forbidden, | ||
int * | atnums | ||
) |
void subgraf_pathfinder_free | ( | subgraf_pathfinder * | spf | ) |
subgraf_pathfinder * subgraf_pathfinder_new | ( | subgraf * | sg, |
ORIG_ATOM_DATA * | orig_inp_data, | ||
int | start, | ||
int | end | ||
) |
void subgraf_pathfinder_run | ( | subgraf_pathfinder * | spf, |
int | nforbidden, | ||
int * | forbidden_orig, | ||
int * | nbonds, | ||
int ** | bonds, | ||
int * | natoms, | ||
int * | atoms | ||
) |
int WriteToSDfile | ( | const INP_ATOM_DATA * | inp_at_data, |
INCHI_IOSTREAM * | fcb, | ||
const char * | name, | ||
const char * | comment, | ||
const char * | szLabel, | ||
const char * | szValue | ||
) |
|
extern |
|
extern |
|
extern |
|
extern |