#include <stdlib.h>#include <string.h>#include "mode.h"#include "ichinorm.h"#include "ichierr.h"#include "bcf_s.h"
 Include dependency graph for ichinorm.c:Data Structures | |
| struct | tagAtPair | 
| struct | tagDerivAttachment | 
| struct | tagRing2Chain | 
Macros | |
| #define | DERIV_BRIDGE_O 0x0001 /* R1-O-R2 => R1-OH + HO-R2 */ | 
| #define | DERIV_BRIDGE_NH 0x0002 /* R1-NH-R2 amine */ | 
| #define | DERIV_AMINE_tN 0x0004 /* R1-N(-R2)-R3 tertiary amine */ | 
| #define | DERIV_RING_O_OUTSIDE_PRECURSOR 0x0008 /* -O- in a ring */ | 
| #define | DERIV_RING_NH_OUTSIDE_PRECURSOR 0x0010 /* -NH- in a ring */ | 
| #define | DERIV_X_OXIME 0x0020 /* comment out to disable */ | 
| #define | DERIV_UNMARK 0x0040 /* unmark the cut */ | 
| #define | DERIV_DUPLIC 0x0080 /* duplicated disconnection */ | 
| #define | DERIV_RO_COX 0x0100 /* alcohol derivatives: R-O--C(=O)C[n]F[2n+1] 0<n<4, R-O--C(=O)CH3, R-O--C(=O)-Phenyl */ | 
| #define | DERIV_RING_DMOX_DEOX_N 0x0200 /* =N- in a ring: /-O--CH2-\ DMOX, DEOX */ | 
| #define | DERIV_RING_DMOX_DEOX_O 0x0400 /* -O- in a ring: R-C=N--------C<2Me or 2Et */ | 
| #define | DERIV_RING2_PRRLDD_OUTSIDE_PRECUR 0x0800 /* alcohol derivatives: R(=O)-N<C4H4 5-memb ring Pyrrolidides; replace -N< with -OH */ | 
| #define | DERIV_RING2_PPRDN_OUTSIDE_PRECUR 0x1000 /* alcohol derivatives: R(=O)-N<C5H5 6-memb ring Piperidines; replace -N< with -OH */ | 
| #define | DERIV_DANSYL 0x2000 /* alcohol derivatives: R-O--SO2-C10H5-N(CH3)2 => R-OH */ | 
| #define | DERIV_RING_DMOX_DEOX (DERIV_RING_DMOX_DEOX_O | DERIV_RING_DMOX_DEOX_N) | 
| #define | DERIV_RING_OUTSIDE_PRECURSOR (DERIV_RING_O_OUTSIDE_PRECURSOR | DERIV_RING_NH_OUTSIDE_PRECURSOR) | 
| #define | DERIV_RING2_OUTSIDE_PRECUR (DERIV_RING2_PRRLDD_OUTSIDE_PRECUR | DERIV_RING2_PPRDN_OUTSIDE_PRECUR) | 
| #define | DERIV_AT_LEN 4 | 
| #define | DERIV_NOT 0x1000 /* cannot be a derivatization agent atom */ | 
| #define | MAX_AT_DERIV 13 /* max. num of heavy atoms in removed derivatizing agent: RO-C(O)PheF5 */ | 
| #define | NOT_AT_DERIV 99 /* DERIV_AT::num; rejected as > MAX_AT_DERIV */ | 
| #define | MIN_AT_LEFT_DERIV 2 /* was 3 before 2013-11-12; min num heavy atoms in derivative precursor = MIN_AT_LEFT_DERIV-1 */ | 
| #define | NO_ORD_VAL 0x0037 /* not used */ | 
| #define | CFLAG_MARK_BRANCH 1 /* for main derivative traversal */ | 
| #define | CFLAG_MARK_BLOCK 2 /* for block detection */ | 
| #define | CFLAG_MARK_BLOCK_INV ((char)~(CFLAG_MARK_BLOCK)) /* for block detection */ | 
| #define | COUNT_ALL_NOT_DERIV 1 /* 1=> count ALL atoms that are not in deriv. agents */ | 
| #define | IS_DA_NUM_LE(DA, I, MX) (((DA)->typ[I] && ((DA)->typ[I] & DERIV_UNEXPADABLE) == (DA)->typ[I]) || (DA)->num[I] <= (MX)) | 
| #define | OX_RING_SIZE 5 | 
| #define | PRRLDD_RING_SIZE 5 | 
| #define | PPRDN_RING_SIZE 6 | 
| #define | MIN_PRRLDD_PPRDN_RING_SIZE PRRLDD_RING_SIZE | 
| #define | MAX_PRRLDD_PPRDN_RING_SIZE PPRDN_RING_SIZE | 
| #define | DERIV_RING DERIV_RING_OUTSIDE_PRECURSOR | 
| #define | UNDERIV_MAX_NUM 512 /*max. number of records in szUnderivList */ | 
| #define | UNDERIV_LEN 128 | 
| #define | UNDERIV_LEN2 128 | 
| #define | ALLOC_AP | 
| #define | UNDERIV_LIST_LEN 2048 | 
| #define | UNDERIV_LIST_LEN2 2048 | 
| #define | R2C_EMPTY 127 | 
Typedefs | |
| typedef struct tagAtPair | R2C_ATPAIR | 
| typedef struct tagDerivAttachment | DERIV_AT | 
| typedef enum tagDerivId | DerivId | 
| typedef enum tagDerivBit | DerivBit | 
| typedef int | BIT_UNDERIV | 
| typedef struct tagRing2Chain | R2C_AT | 
Functions | |
| int | MarkRingSystemsInp (inp_ATOM *at, int num_atoms, int start) | 
| int | mark_arom_bonds (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, inp_ATOM *at, int num_atoms) | 
| void | set_R2C_el_numbers (void) | 
| int | subtract_DT_from_num_H (int num_atoms, inp_ATOM *at) | 
| int | add_inp_ATOM (inp_ATOM *at, int len_at, int len_cur, inp_ATOM *add, int len_add) | 
| int | cmp_r2c_atpair (const void *p1, const void *p2) | 
| int | has_atom_pair (R2C_ATPAIR *ap, int num_ap, AT_NUMB at1, AT_NUMB at2) | 
| int | mark_atoms_ap (inp_ATOM *at, AT_NUMB start, R2C_ATPAIR *ap, int num_ap, int num, AT_NUMB cFlags) | 
| int | UnMarkDisconnectedComponents (ORIG_ATOM_DATA *orig_inp_data) | 
| int | UnMarkOtherIndicators (inp_ATOM *at, int num_atoms) | 
| int | UnMarkOneComponent (inp_ATOM *at, int num_atoms) | 
| int | DisconnectInpAtBond (inp_ATOM *at, AT_NUMB *nOldCompNumber, int iat, int neigh_ord) | 
| int | ExtractConnectedComponent (inp_ATOM *at, int num_at, int component_number, inp_ATOM *component_at) | 
| int | UnMarkRingSystemsInp (inp_ATOM *at, int num_atoms) | 
| int | has_atom_pair_seq (R2C_ATPAIR *ap, int num_ap, AT_NUMB at1, AT_NUMB at2) | 
| int | mark_atoms_cFlags (inp_ATOM *at, int start, int num, char cFlags) | 
| int | unmark_atoms_cFlags (inp_ATOM *at, int start, int num, char cFlags, char cInvFlags) | 
| int | is_C_or_S_DB_O (inp_ATOM *at, int i) | 
| int | is_C_DB_O (inp_ATOM *at, int i) | 
| int | is_C_unsat_not_arom (inp_ATOM *at, int i) | 
| int | is_Aryl (inp_ATOM *at, int outside_point, int attachment_pont) | 
| int | is_Saturated_C (inp_ATOM *at, int attachment_pont) | 
| int | is_C_Alk (inp_ATOM *at, int i, char cFlags) | 
| int | is_Phenyl (inp_ATOM *at, int outside_point, int attachment_point) | 
| int | is_PentaFluoroPhenyl (inp_ATOM *at, int outside_point, int attachment_point) | 
| int | is_Methyl (inp_ATOM *at, int attachment_point) | 
| int | is_Ethyl (inp_ATOM *at, int outside_point, int attachment_point) | 
| int | is_Methyl_or_Etyl (inp_ATOM *at, int outside_point, int attachment_point) | 
| int | is_Si_IV (inp_ATOM *at, int i) | 
| int | is_P_TB_N (inp_ATOM *at, int i) | 
| int | is_DERIV_RING2_PRRLDD_PPRDN (inp_ATOM *at, int cur_atom, int from_ord, DERIV_AT *da, DERIV_AT *da1) | 
| int | check_arom_chain (inp_ATOM *at, int first, int first_from, int last, int len) | 
| int | is_Dansyl (inp_ATOM *at, int cur_atom, int from_ord, DERIV_AT *da, DERIV_AT *da1) | 
| int | is_possibly_deriv_neigh (inp_ATOM *at, int iat, int iord, int type, char cFlags) | 
| int | get_traversed_deriv_type (inp_ATOM *at, DERIV_AT *da, int k, DERIV_AT *da1, char cFlags) | 
| int | add_to_da (DERIV_AT *da, DERIV_AT *add) | 
| int | mark_atoms_deriv (inp_ATOM *at, DERIV_AT *da, int start, int num, char cFlags, int *pbFound) | 
| int | count_one_bond_atoms (inp_ATOM *at, DERIV_AT *da, int start, int ord, char cFlags, int *bFound) | 
| int | is_silyl (inp_ATOM *at, int start, int ord_prev) | 
| int | is_silyl2 (inp_ATOM *at, int start, int from_at) | 
| int | is_Me_or_Et (inp_ATOM *at, int start, int ord_prev) | 
| int | is_nButyl (inp_ATOM *at, int start, int ord_prev) | 
| int | is_CF3_or_linC3F7a (inp_ATOM *at, int start, int iat_prev) | 
| int | is_CF3_or_linC3F7 (inp_ATOM *at, int start, int ord_prev) | 
| int | is_phenyl (inp_ATOM *at, int start, int ord_prev) | 
| int | is_DERIV_RING_O_or_NH_OUTSIDE_PRECURSOR (inp_ATOM *at, int start, int num_atoms, DERIV_AT *da1, int idrv, char *szUnderiv, int lenUnderiv, char *szUnderiv2, int lenUnderiv2, BIT_UNDERIV *bitUnderiv) | 
| int | is_deriv_chain (inp_ATOM *at, int start, int num_atoms, DERIV_AT *da1, int idrv, char *szUnderiv, int lenUnderiv, char *szUnderiv2, int lenUnderiv2, BIT_UNDERIV *bitUnderiv) | 
| int | is_deriv_chain2 (inp_ATOM *at, int start, int type, int num, int ord, int idrv, char *szUnderiv, int lenUnderiv, char *szUnderiv2, int lenUnderiv2, BIT_UNDERIV *bitUnderiv) | 
| int | is_deriv_chain_or_ring (inp_ATOM *at, int start, int num_atoms, DERIV_AT *da1, int *idrv) | 
| int | remove_deriv (DERIV_AT *da1, int idrv) | 
| int | remove_deriv_mark (DERIV_AT *da1, int idrv) | 
| int | underiv_compare (const void *p1, const void *p2) | 
| int | underiv_list_add_two_cuts (char *szUnderivList, int lenUnderivList, char *szUnderiv, const char cDelim) | 
| int | sort_merge_underiv (char *pSdfValue, int bOutputSdf, char *szUnderivList, char cDerivSeparator, const char *pszUnderivPrefix, const char *pszUnderivPostfix) | 
| int | eliminate_deriv_not_in_list (inp_ATOM *at, DERIV_AT *da, int num_atoms, char *szUnderivList, int lenUnderivList, char *szUnderivList2, int lenUnderivList2, BIT_UNDERIV *bitUnderivList) | 
| void | underiv_buf_clear (char *szUnderiv) | 
| int | underiv_list_add (char *szUnderivList, int lenUnderivList, const char *szUnderiv, char cDelimiter) | 
| const char * | underiv_list_get_last (const char *szUnderivList, char cDelimiter) | 
| int | make_single_cut (inp_ATOM *at, DERIV_AT *da, int iat, int icut) | 
| int | fill_out_bond_cuts (inp_ATOM *at, DERIV_AT *da, int num_atoms, R2C_ATPAIR *ap, int num_cuts_to_check) | 
| int | mark_deriv_agents (inp_ATOM *at, DERIV_AT *da, int num_atoms, R2C_ATPAIR *ap, int num_cuts_to_check, AT_NUMB *pnum_comp, int *pcur_num_at) | 
| int | replace_arom_bonds (inp_ATOM *at, int num_atoms, inp_ATOM *at2, int num_atoms2) | 
| int | add_explicit_H (INP_ATOM_DATA *inp_cur_data) | 
| void | free_underiv_temp_data (R2C_ATPAIR *ap, DERIV_AT *da, inp_ATOM *at2, INP_ATOM_DATA *inp_cur_data, int num_components) | 
| void | remove_cut_derivs (int num_atoms, inp_ATOM *at, INP_ATOM_DATA *inp_cur_data, int i_component, int *errcode) | 
| int | get_CO_opposite (inp_ATOM *at, int iat, int iord, int *iat_opposite, int *iord_opposite) | 
| int | is_DERIV_RING_DMOX_DEOX_O (inp_ATOM *at, int cur_atom, int from_ord, DERIV_AT *da, DERIV_AT *da1) | 
| int | is_DERIV_RING_DMOX_DEOX_N (inp_ATOM *at, int cur_atom, int from_ord, DERIV_AT *da, DERIV_AT *da1) | 
| int | OAD_Edit_Underivatize (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ORIG_ATOM_DATA *orig_inp_data, int bOutputSdf, int bOutputReport, char *pSdfValue) | 
| Underivatize the original atom data (main underivatization procedure)   | |
| int | detect_r2c_Zatom (inp_ATOM *at, R2C_AT *da, int iZ) | 
| int | cut_ring_to_chain (inp_ATOM *at, R2C_AT *da, int iZ) | 
| int | Ring2Chain (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ORIG_ATOM_DATA *orig_inp_data) | 
| Convert rings to chains in the original atom data.   | |
| void | OAD_Edit_MergeComponentsAndRecreateOAD (ORIG_ATOM_DATA *orig_OrigAtomData, INP_ATOM_DATA *curr_InpAtomData, int num_components, int *errcode) | 
| Merge components and recreate original atom data.   | |
Variables | |
| static const int | DERIV_UNEXPADABLE | 
| static const int | DERIV_REPL_N_WITH_O | 
| static const int | DERIV_REPL_N_WITH_OH | 
| const char * | pszDerivName [] | 
| #define ALLOC_AP | 
| #define CFLAG_MARK_BLOCK 2 /* for block detection */ | 
| #define CFLAG_MARK_BLOCK_INV ((char)~(CFLAG_MARK_BLOCK)) /* for block detection */ | 
| #define CFLAG_MARK_BRANCH 1 /* for main derivative traversal */ | 
| #define COUNT_ALL_NOT_DERIV 1 /* 1=> count ALL atoms that are not in deriv. agents */ | 
| #define DERIV_AMINE_tN 0x0004 /* R1-N(-R2)-R3 tertiary amine */ | 
| #define DERIV_AT_LEN 4 | 
| #define DERIV_BRIDGE_NH 0x0002 /* R1-NH-R2 amine */ | 
| #define DERIV_BRIDGE_O 0x0001 /* R1-O-R2 => R1-OH + HO-R2 */ | 
| #define DERIV_DUPLIC 0x0080 /* duplicated disconnection */ | 
| #define DERIV_NOT 0x1000 /* cannot be a derivatization agent atom */ | 
| #define DERIV_RING DERIV_RING_OUTSIDE_PRECURSOR | 
| #define DERIV_RING2_OUTSIDE_PRECUR (DERIV_RING2_PRRLDD_OUTSIDE_PRECUR | DERIV_RING2_PPRDN_OUTSIDE_PRECUR) | 
| #define DERIV_RING2_PPRDN_OUTSIDE_PRECUR 0x1000 /* alcohol derivatives: R(=O)-N<C5H5 6-memb ring Piperidines; replace -N< with -OH */ | 
| #define DERIV_RING2_PRRLDD_OUTSIDE_PRECUR 0x0800 /* alcohol derivatives: R(=O)-N<C4H4 5-memb ring Pyrrolidides; replace -N< with -OH */ | 
| #define DERIV_RING_DMOX_DEOX (DERIV_RING_DMOX_DEOX_O | DERIV_RING_DMOX_DEOX_N) | 
| #define DERIV_RING_DMOX_DEOX_N 0x0200 /* =N- in a ring: /-O--CH2-\ DMOX, DEOX */ | 
| #define DERIV_RING_DMOX_DEOX_O 0x0400 /* -O- in a ring: R-C=N--------C<2Me or 2Et */ | 
| #define DERIV_RING_NH_OUTSIDE_PRECURSOR 0x0010 /* -NH- in a ring */ | 
| #define DERIV_RING_O_OUTSIDE_PRECURSOR 0x0008 /* -O- in a ring */ | 
| #define DERIV_RING_OUTSIDE_PRECURSOR (DERIV_RING_O_OUTSIDE_PRECURSOR | DERIV_RING_NH_OUTSIDE_PRECURSOR) | 
| #define DERIV_RO_COX 0x0100 /* alcohol derivatives: R-O--C(=O)C[n]F[2n+1] 0<n<4, R-O--C(=O)CH3, R-O--C(=O)-Phenyl */ | 
| #define DERIV_UNMARK 0x0040 /* unmark the cut */ | 
| #define DERIV_X_OXIME 0x0020 /* comment out to disable */ | 
| #define IS_DA_NUM_LE | ( | DA, | |
| I, | |||
| MX | |||
| ) | (((DA)->typ[I] && ((DA)->typ[I] & DERIV_UNEXPADABLE) == (DA)->typ[I]) || (DA)->num[I] <= (MX)) | 
| #define MAX_AT_DERIV 13 /* max. num of heavy atoms in removed derivatizing agent: RO-C(O)PheF5 */ | 
| #define MAX_PRRLDD_PPRDN_RING_SIZE PPRDN_RING_SIZE | 
| #define MIN_AT_LEFT_DERIV 2 /* was 3 before 2013-11-12; min num heavy atoms in derivative precursor = MIN_AT_LEFT_DERIV-1 */ | 
| #define MIN_PRRLDD_PPRDN_RING_SIZE PRRLDD_RING_SIZE | 
| #define NO_ORD_VAL 0x0037 /* not used */ | 
| #define NOT_AT_DERIV 99 /* DERIV_AT::num; rejected as > MAX_AT_DERIV */ | 
| #define OX_RING_SIZE 5 | 
| #define PPRDN_RING_SIZE 6 | 
| #define PRRLDD_RING_SIZE 5 | 
| #define R2C_EMPTY 127 | 
| #define UNDERIV_LEN 128 | 
| #define UNDERIV_LEN2 128 | 
| #define UNDERIV_LIST_LEN 2048 | 
| #define UNDERIV_LIST_LEN2 2048 | 
| #define UNDERIV_MAX_NUM 512 /*max. number of records in szUnderivList */ | 
| typedef int BIT_UNDERIV | 
| typedef struct tagDerivAttachment DERIV_AT | 
| typedef enum tagDerivBit DerivBit | 
| typedef enum tagDerivId DerivId | 
| typedef struct tagRing2Chain R2C_AT | 
| typedef struct tagAtPair R2C_ATPAIR | 
| enum tagDerivBit | 
| enum tagDerivId | 
| int add_explicit_H | ( | INP_ATOM_DATA * | inp_cur_data | ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| int check_arom_chain | ( | inp_ATOM * | at, | 
| int | first, | ||
| int | first_from, | ||
| int | last, | ||
| int | len | ||
| ) | 
 Here is the caller graph for this function:| int cmp_r2c_atpair | ( | const void * | p1, | 
| const void * | p2 | ||
| ) | 
 Here is the caller graph for this function:| int count_one_bond_atoms | ( | inp_ATOM * | at, | 
| DERIV_AT * | da, | ||
| int | start, | ||
| int | ord, | ||
| char | cFlags, | ||
| int * | bFound | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int eliminate_deriv_not_in_list | ( | inp_ATOM * | at, | 
| DERIV_AT * | da, | ||
| int | num_atoms, | ||
| char * | szUnderivList, | ||
| int | lenUnderivList, | ||
| char * | szUnderivList2, | ||
| int | lenUnderivList2, | ||
| BIT_UNDERIV * | bitUnderivList | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int ExtractConnectedComponent | ( | inp_ATOM * | at, | 
| int | num_at, | ||
| int | component_number, | ||
| inp_ATOM * | component_at | ||
| ) | 
 Here is the caller graph for this function:| int fill_out_bond_cuts | ( | inp_ATOM * | at, | 
| DERIV_AT * | da, | ||
| int | num_atoms, | ||
| R2C_ATPAIR * | ap, | ||
| int | num_cuts_to_check | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void free_underiv_temp_data | ( | R2C_ATPAIR * | ap, | 
| DERIV_AT * | da, | ||
| inp_ATOM * | at2, | ||
| INP_ATOM_DATA * | inp_cur_data, | ||
| int | num_components | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int get_CO_opposite | ( | inp_ATOM * | at, | 
| int | iat, | ||
| int | iord, | ||
| int * | iat_opposite, | ||
| int * | iord_opposite | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int has_atom_pair | ( | R2C_ATPAIR * | ap, | 
| int | num_ap, | ||
| AT_NUMB | at1, | ||
| AT_NUMB | at2 | ||
| ) | 
 Here is the call graph for this function:| int has_atom_pair_seq | ( | R2C_ATPAIR * | ap, | 
| int | num_ap, | ||
| AT_NUMB | at1, | ||
| AT_NUMB | at2 | ||
| ) | 
 Here is the caller graph for this function:| int is_Aryl | ( | inp_ATOM * | at, | 
| int | outside_point, | ||
| int | attachment_pont | ||
| ) | 
| int is_C_Alk | ( | inp_ATOM * | at, | 
| int | i, | ||
| char | cFlags | ||
| ) | 
| int is_C_DB_O | ( | inp_ATOM * | at, | 
| int | i | ||
| ) | 
 Here is the caller graph for this function:| int is_C_or_S_DB_O | ( | inp_ATOM * | at, | 
| int | i | ||
| ) | 
 Here is the caller graph for this function:| int is_C_unsat_not_arom | ( | inp_ATOM * | at, | 
| int | i | ||
| ) | 
 Here is the caller graph for this function:| int is_CF3_or_linC3F7 | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | ord_prev | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_CF3_or_linC3F7a | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | iat_prev | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_deriv_chain | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | num_atoms, | ||
| DERIV_AT * | da1, | ||
| int | idrv, | ||
| char * | szUnderiv, | ||
| int | lenUnderiv, | ||
| char * | szUnderiv2, | ||
| int | lenUnderiv2, | ||
| BIT_UNDERIV * | bitUnderiv | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_deriv_chain2 | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | type, | ||
| int | num, | ||
| int | ord, | ||
| int | idrv, | ||
| char * | szUnderiv, | ||
| int | lenUnderiv, | ||
| char * | szUnderiv2, | ||
| int | lenUnderiv2, | ||
| BIT_UNDERIV * | bitUnderiv | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_DERIV_RING2_PRRLDD_PPRDN | ( | inp_ATOM * | at, | 
| int | cur_atom, | ||
| int | from_ord, | ||
| DERIV_AT * | da, | ||
| DERIV_AT * | da1 | ||
| ) | 
 Here is the caller graph for this function:| int is_DERIV_RING_DMOX_DEOX_N | ( | inp_ATOM * | at, | 
| int | cur_atom, | ||
| int | from_ord, | ||
| DERIV_AT * | da, | ||
| DERIV_AT * | da1 | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_DERIV_RING_DMOX_DEOX_O | ( | inp_ATOM * | at, | 
| int | cur_atom, | ||
| int | from_ord, | ||
| DERIV_AT * | da, | ||
| DERIV_AT * | da1 | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_DERIV_RING_O_or_NH_OUTSIDE_PRECURSOR | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | num_atoms, | ||
| DERIV_AT * | da1, | ||
| int | idrv, | ||
| char * | szUnderiv, | ||
| int | lenUnderiv, | ||
| char * | szUnderiv2, | ||
| int | lenUnderiv2, | ||
| BIT_UNDERIV * | bitUnderiv | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_Ethyl | ( | inp_ATOM * | at, | 
| int | outside_point, | ||
| int | attachment_point | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_Me_or_Et | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | ord_prev | ||
| ) | 
 Here is the caller graph for this function:| int is_Methyl | ( | inp_ATOM * | at, | 
| int | attachment_point | ||
| ) | 
 Here is the caller graph for this function:| int is_Methyl_or_Etyl | ( | inp_ATOM * | at, | 
| int | outside_point, | ||
| int | attachment_point | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_nButyl | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | ord_prev | ||
| ) | 
 Here is the caller graph for this function:| int is_P_TB_N | ( | inp_ATOM * | at, | 
| int | i | ||
| ) | 
| int is_PentaFluoroPhenyl | ( | inp_ATOM * | at, | 
| int | outside_point, | ||
| int | attachment_point | ||
| ) | 
 Here is the caller graph for this function:| int is_Phenyl | ( | inp_ATOM * | at, | 
| int | outside_point, | ||
| int | attachment_point | ||
| ) | 
 Here is the caller graph for this function:| int is_phenyl | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | ord_prev | ||
| ) | 
 Here is the caller graph for this function:| int is_possibly_deriv_neigh | ( | inp_ATOM * | at, | 
| int | iat, | ||
| int | iord, | ||
| int | type, | ||
| char | cFlags | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int is_Saturated_C | ( | inp_ATOM * | at, | 
| int | attachment_pont | ||
| ) | 
| int is_Si_IV | ( | inp_ATOM * | at, | 
| int | i | ||
| ) | 
 Here is the caller graph for this function:| int is_silyl | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | ord_prev | ||
| ) | 
 Here is the caller graph for this function:| int is_silyl2 | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | from_at | ||
| ) | 
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int mark_arom_bonds | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| inp_ATOM * | at, | ||
| int | num_atoms | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int mark_atoms_ap | ( | inp_ATOM * | at, | 
| AT_NUMB | start, | ||
| R2C_ATPAIR * | ap, | ||
| int | num_ap, | ||
| int | num, | ||
| AT_NUMB | cFlags | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int mark_atoms_cFlags | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | num, | ||
| char | cFlags | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int mark_atoms_deriv | ( | inp_ATOM * | at, | 
| DERIV_AT * | da, | ||
| int | start, | ||
| int | num, | ||
| char | cFlags, | ||
| int * | pbFound | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int mark_deriv_agents | ( | inp_ATOM * | at, | 
| DERIV_AT * | da, | ||
| int | num_atoms, | ||
| R2C_ATPAIR * | ap, | ||
| int | num_cuts_to_check, | ||
| AT_NUMB * | pnum_comp, | ||
| int * | pcur_num_at | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int MarkRingSystemsInp | ( | inp_ATOM * | at, | 
| int | num_atoms, | ||
| int | start | ||
| ) | 
 Here is the caller graph for this function:| void OAD_Edit_MergeComponentsAndRecreateOAD | ( | ORIG_ATOM_DATA * | orig_OrigAtomData, | 
| INP_ATOM_DATA * | curr_InpAtomData, | ||
| int | num_components, | ||
| int * | errcode | ||
| ) | 
Merge components and recreate original atom data.
| orig_OrigAtomData | Pointer to original atom data structure | 
| curr_InpAtomData | Pointer to current input atom data structure | 
| num_components | Number of components | 
| errcode | Pointer to error code | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int OAD_Edit_Underivatize | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ORIG_ATOM_DATA * | orig_inp_data, | ||
| int | bOutputSdf, | ||
| int | bOutputReport, | ||
| char * | pSdfValue | ||
| ) | 
Underivatize the original atom data (main underivatization procedure)
| ic | Pointer to INCHI_CLOCK structure | 
| pCG | Pointer to CANON_GLOBALS structure | 
| orig_inp_data | Pointer to original atom data structure | 
| bOutputSdf | Flag indicating whether to output SDF | 
| bOutputReport | Flag indicating whether to output report | 
| pSdfValue | Pointer to SDF value | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void remove_cut_derivs | ( | int | num_atoms, | 
| inp_ATOM * | at, | ||
| INP_ATOM_DATA * | inp_cur_data, | ||
| int | i_component, | ||
| int * | errcode | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int remove_deriv | ( | DERIV_AT * | da1, | 
| int | idrv | ||
| ) | 
 Here is the caller graph for this function:| int remove_deriv_mark | ( | DERIV_AT * | da1, | 
| int | idrv | ||
| ) | 
 Here is the caller graph for this function:
 Here is the call graph for this function:
 Here is the caller graph for this function:| int Ring2Chain | ( | struct tagINCHI_CLOCK * | ic, | 
| struct tagCANON_GLOBALS * | pCG, | ||
| ORIG_ATOM_DATA * | orig_inp_data | ||
| ) | 
Convert rings to chains in the original atom data.
| ic | Pointer to INCHI_CLOCK structure | 
| pCG | Pointer to CANON_GLOBALS structure | 
| orig_inp_data | Pointer to original atom data structure | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| void set_R2C_el_numbers | ( | void | ) | 
| int sort_merge_underiv | ( | char * | pSdfValue, | 
| int | bOutputSdf, | ||
| char * | szUnderivList, | ||
| char | cDerivSeparator, | ||
| const char * | pszUnderivPrefix, | ||
| const char * | pszUnderivPostfix | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int subtract_DT_from_num_H | ( | int | num_atoms, | 
| inp_ATOM * | at | ||
| ) | 
 Here is the caller graph for this function:| void underiv_buf_clear | ( | char * | szUnderiv | ) | 
 Here is the caller graph for this function:| int underiv_compare | ( | const void * | p1, | 
| const void * | p2 | ||
| ) | 
 Here is the caller graph for this function:| int underiv_list_add | ( | char * | szUnderivList, | 
| int | lenUnderivList, | ||
| const char * | szUnderiv, | ||
| char | cDelimiter | ||
| ) | 
 Here is the caller graph for this function:| int underiv_list_add_two_cuts | ( | char * | szUnderivList, | 
| int | lenUnderivList, | ||
| char * | szUnderiv, | ||
| const char | cDelim | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| const char * underiv_list_get_last | ( | const char * | szUnderivList, | 
| char | cDelimiter | ||
| ) | 
 Here is the caller graph for this function:| int unmark_atoms_cFlags | ( | inp_ATOM * | at, | 
| int | start, | ||
| int | num, | ||
| char | cFlags, | ||
| char | cInvFlags | ||
| ) | 
 Here is the call graph for this function:
 Here is the caller graph for this function:| int UnMarkDisconnectedComponents | ( | ORIG_ATOM_DATA * | orig_inp_data | ) | 
 Here is the caller graph for this function:| int UnMarkOneComponent | ( | inp_ATOM * | at, | 
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:| int UnMarkOtherIndicators | ( | inp_ATOM * | at, | 
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:| int UnMarkRingSystemsInp | ( | inp_ATOM * | at, | 
| int | num_atoms | ||
| ) | 
 Here is the caller graph for this function:
      
  | 
  static | 
      
  | 
  static | 
      
  | 
  static | 
| const char* pszDerivName[] |