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

Go to the source code of this file.

Data Structures

struct  tagIsotopicTautomerGroup
 
struct  tagTautomerGroup
 
struct  tagTautomerNormInfo
 
struct  tagTautomerGroupsInfo
 
struct  tagTautomerEndpoint
 
struct  tagTautomerBondLocation
 
struct  tagEndpointInfo
 
struct  tagChargeCandidate
 
struct  tagChargeGroup
 
struct  tagChargeGroupsInfo
 
struct  tagSaltChargeCandidate
 
struct  tagSaltGroupInfo
 
struct  tagAtomSizes
 
struct  tagDfsPath
 

Macros

#define T_NUM_NO_ISOTOPIC   2
 
#define T_NUM_ISOTOPIC   NUM_H_ISOTOPES /* was 2, now 3 */
 
#define T_GROUP_HDR_LEN   (1+T_NUM_NO_ISOTOPIC /*+T_NUM_ISOTOPIC*/) /* LinearCTTautomer */
 
#define T_GROUP_ISOWT_MULT   1024 /* (max. number of identical isotopic hydrogens in a taut. group) + 1 */
 
#define TGSO_CURR_ORDER   0 /* tGroupNumber: current sorting order */
 
#define TGSO_SYMM_RANK   1 /* tSymmRank: symmetry ranks (no isotopes) = min. ordering number > 0. */
 
#define TGSO_SYMM_IORDER   2 /* tiGroupNumber: isotopic symmetry rank sorting order */
 
#define TGSO_SYMM_IRANK   3 /* tiSymmRank: isotopic symmetry ranks */
 
#define TGSO_TOTAL_LEN   4
 
#define FLAG_PROTON_NPO_SIMPLE_REMOVED   0x0001
 
#define FLAG_PROTON_NP_HARD_REMOVED   0x0002
 
#define FLAG_PROTON_AC_SIMPLE_ADDED   0x0004
 
#define FLAG_PROTON_AC_SIMPLE_REMOVED   0x0008
 
#define FLAG_PROTON_AC_HARD_REMOVED   0x0010
 
#define FLAG_PROTON_AC_HARD_ADDED   0x0020
 
#define FLAG_PROTON_CHARGE_CANCEL   0x0040
 
#define FLAG_PROTON_SINGLE_REMOVED   0x0080
 
#define FLAG_NORM_CONSIDER_TAUT
 
#define FLAG_FORCE_SALT_TAUT
 
#define CANON_FLAG_NO_H_RECANON   0x0001 /* iOther: second canonicalization of the no H structure */
 
#define CANON_FLAG_NO_TAUT_H_DIFF   0x0002 /* iOther: NoTautH eq. partition differs from NoH */
 
#define CANON_FLAG_ISO_ONLY_NON_TAUT_DIFF   0x0004 /* iOther: eq. partition in isotopic only non-taut differs from non-isotopic */
 
#define CANON_FLAG_ISO_TAUT_DIFF   0x0008 /* iBase: isotopic eq. partition in isotopic taut differs from non-isotopic taut */
 
#define CANON_FLAG_ISO_FIXED_H_DIFF   0x0010 /* iOther: isotopic eq. partition in fixed H non-taut differs from non-isotopic fixed H */
 
#define CHARGED_CPOINT(X, i)   ((X)[i].charge==1)
 

Typedefs

typedef AT_NUMB AT_TAUTOMER
 
typedef AT_ISO_SORT_KEY T_GROUP_ISOWT
 
typedef struct tagIsotopicTautomerGroup AT_ISO_TGROUP
 
typedef enum tagTG_NumDA TGNUMDA
 
typedef struct tagTautomerGroup T_GROUP
 
typedef struct tagTautomerNormInfo TNI
 
typedef struct tagTautomerGroupsInfo T_GROUP_INFO
 
typedef struct tagTautomerEndpoint T_ENDPOINT
 
typedef struct tagTautomerBondLocation T_BONDPOS
 
typedef struct tagEndpointInfo ENDPOINT_INFO
 
typedef struct tagChargeCandidate C_CANDIDATE
 
typedef struct tagChargeGroup C_GROUP
 
typedef struct tagChargeGroupsInfo C_GROUP_INFO
 
typedef struct tagSaltChargeCandidate S_CANDIDATE
 
typedef struct tagSaltGroupInfo S_GROUP_INFO
 
typedef struct tagAtomSizes ATOM_SIZES
 
typedef struct tagDfsPath DFS_PATH
 

Enumerations

enum  tagTG_NumDA {
  TG_Num_dH , TG_Num_dM , TG_Num_aH , TG_Num_aM ,
  TG_Num_dO , TG_Num_aO , TG_NUM_DA
}
 

Functions

int is_centerpoint_elem (U_CHAR el_number)
 
int is_centerpoint_elem_strict (U_CHAR el_number)
 
int is_centerpoint_elem_KET (U_CHAR el_number)
 
int bIsCenterPointStrict (inp_ATOM *atom, int iat)
 
int nGetEndpointInfo (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_22_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_16_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_06_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_39_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_13_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_PT_18_00 (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
int nGetEndpointInfo_KET (inp_ATOM *atom, int iat, ENDPOINT_INFO *eif)
 
void AddAtom2DA (AT_RANK num_DA[], inp_ATOM *atom, int at_no, int bSubtract)
 
int AddAtom2num (AT_RANK num[], inp_ATOM *atom, int at_no, int bSubtract)
 
int AddEndPoint (T_ENDPOINT *pEndPoint, inp_ATOM *at, int iat)
 
int bHasAcidicHydrogen (inp_ATOM *at, int i)
 
int bHasOtherExchangableH (inp_ATOM *at, int i)
 
int bHasAcidicMinus (inp_ATOM *at, int i)
 
int nGet15TautIn6MembAltRing (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int nStartAtom, AT_RANK *nBfsTreePos, DFS_PATH *DfsPath, int nMaxLenBfsTree, T_ENDPOINT *EndPoint, int nMaxNumEndPoint, T_BONDPOS *BondPos, int nMaxNumBondPos, int *pnNumEndPoint, int *pnNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, int num_atoms)
 
int nGet12TautIn5MembAltRing (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int nStartAtom, int nStartAtomNeighbor, AT_RANK *nBfsTreePos, DFS_PATH *DfsPath, int nMaxLenBfsTree, T_ENDPOINT *EndPoint, int nMaxNumEndPoint, T_BONDPOS *BondPos, int nMaxNumBondPos, int *pnNumEndPoint, int *pnNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, int num_atoms)
 
int nGet14TautIn7MembAltRing (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int nStartAtom, int nStartAtomNeighbor, int nStartAtomNeighborEndpoint, int nStartAtomNeighborNeighborEndpoint, AT_RANK *nDfsPathPos, DFS_PATH *DfsPath, int nMaxLenDfsPath, T_ENDPOINT *EndPoint, int nMaxNumEndPoint, T_BONDPOS *BondPos, int nMaxNumBondPos, int *pnNumEndPoint, int *pnNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, int num_atoms)
 
int nGet14TautIn5MembAltRing (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int nStartAtom, int nStartAtomNeighbor, int nStartAtomNeighborEndpoint, int nStartAtomNeighborNeighborEndpoint, AT_RANK *nDfsPathPos, DFS_PATH *DfsPath, int nMaxLenDfsPath, T_ENDPOINT *EndPoint, int nMaxNumEndPoint, T_BONDPOS *BondPos, int nMaxNumBondPos, int *pnNumEndPoint, int *pnNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, int num_atoms)
 
int nGet15TautInAltPath (struct tagCANON_GLOBALS *pCG, inp_ATOM *atom, int nStartAtom, AT_RANK *nDfsPathPos, DFS_PATH *DfsPath, int nMaxLenDfsPath, T_ENDPOINT *EndPoint, int nMaxNumEndPoint, T_BONDPOS *BondPos, int nMaxNumBondPos, int *pnNumEndPoint, int *pnNumBondPos, struct BalancedNetworkStructure *pBNS, struct BalancedNetworkData *pBD, int num_atoms)
 

Macro Definition Documentation

◆ CANON_FLAG_ISO_FIXED_H_DIFF

#define CANON_FLAG_ISO_FIXED_H_DIFF   0x0010 /* iOther: isotopic eq. partition in fixed H non-taut differs from non-isotopic fixed H */

◆ CANON_FLAG_ISO_ONLY_NON_TAUT_DIFF

#define CANON_FLAG_ISO_ONLY_NON_TAUT_DIFF   0x0004 /* iOther: eq. partition in isotopic only non-taut differs from non-isotopic */

◆ CANON_FLAG_ISO_TAUT_DIFF

#define CANON_FLAG_ISO_TAUT_DIFF   0x0008 /* iBase: isotopic eq. partition in isotopic taut differs from non-isotopic taut */

◆ CANON_FLAG_NO_H_RECANON

#define CANON_FLAG_NO_H_RECANON   0x0001 /* iOther: second canonicalization of the no H structure */

◆ CANON_FLAG_NO_TAUT_H_DIFF

#define CANON_FLAG_NO_TAUT_H_DIFF   0x0002 /* iOther: NoTautH eq. partition differs from NoH */

◆ CHARGED_CPOINT

#define CHARGED_CPOINT (   X,
 
)    ((X)[i].charge==1)

◆ FLAG_FORCE_SALT_TAUT

#define FLAG_FORCE_SALT_TAUT
Value:
#define FLAG_PROTON_NP_HARD_REMOVED
Definition ichitaut.h:182
#define FLAG_PROTON_AC_HARD_REMOVED
Definition ichitaut.h:185
#define FLAG_PROTON_AC_HARD_ADDED
Definition ichitaut.h:186

◆ FLAG_NORM_CONSIDER_TAUT

#define FLAG_NORM_CONSIDER_TAUT
Value:
#define FLAG_PROTON_SINGLE_REMOVED
Definition ichitaut.h:188
#define FLAG_PROTON_CHARGE_CANCEL
Definition ichitaut.h:187
#define FLAG_PROTON_AC_SIMPLE_ADDED
Definition ichitaut.h:183
#define FLAG_PROTON_AC_SIMPLE_REMOVED
Definition ichitaut.h:184
#define FLAG_PROTON_NPO_SIMPLE_REMOVED
Definition ichitaut.h:181

◆ FLAG_PROTON_AC_HARD_ADDED

#define FLAG_PROTON_AC_HARD_ADDED   0x0020

◆ FLAG_PROTON_AC_HARD_REMOVED

#define FLAG_PROTON_AC_HARD_REMOVED   0x0010

◆ FLAG_PROTON_AC_SIMPLE_ADDED

#define FLAG_PROTON_AC_SIMPLE_ADDED   0x0004

◆ FLAG_PROTON_AC_SIMPLE_REMOVED

#define FLAG_PROTON_AC_SIMPLE_REMOVED   0x0008

◆ FLAG_PROTON_CHARGE_CANCEL

#define FLAG_PROTON_CHARGE_CANCEL   0x0040

◆ FLAG_PROTON_NP_HARD_REMOVED

#define FLAG_PROTON_NP_HARD_REMOVED   0x0002

◆ FLAG_PROTON_NPO_SIMPLE_REMOVED

#define FLAG_PROTON_NPO_SIMPLE_REMOVED   0x0001

◆ FLAG_PROTON_SINGLE_REMOVED

#define FLAG_PROTON_SINGLE_REMOVED   0x0080

◆ T_GROUP_HDR_LEN

#define T_GROUP_HDR_LEN   (1+T_NUM_NO_ISOTOPIC /*+T_NUM_ISOTOPIC*/) /* LinearCTTautomer */

◆ T_GROUP_ISOWT_MULT

#define T_GROUP_ISOWT_MULT   1024 /* (max. number of identical isotopic hydrogens in a taut. group) + 1 */

◆ T_NUM_ISOTOPIC

#define T_NUM_ISOTOPIC   NUM_H_ISOTOPES /* was 2, now 3 */

◆ T_NUM_NO_ISOTOPIC

#define T_NUM_NO_ISOTOPIC   2

◆ TGSO_CURR_ORDER

#define TGSO_CURR_ORDER   0 /* tGroupNumber: current sorting order */

◆ TGSO_SYMM_IORDER

#define TGSO_SYMM_IORDER   2 /* tiGroupNumber: isotopic symmetry rank sorting order */

◆ TGSO_SYMM_IRANK

#define TGSO_SYMM_IRANK   3 /* tiSymmRank: isotopic symmetry ranks */

◆ TGSO_SYMM_RANK

#define TGSO_SYMM_RANK   1 /* tSymmRank: symmetry ranks (no isotopes) = min. ordering number > 0. */

◆ TGSO_TOTAL_LEN

#define TGSO_TOTAL_LEN   4

Typedef Documentation

◆ AT_ISO_TGROUP

◆ AT_TAUTOMER

◆ ATOM_SIZES

typedef struct tagAtomSizes ATOM_SIZES

◆ C_CANDIDATE

◆ C_GROUP

typedef struct tagChargeGroup C_GROUP

◆ C_GROUP_INFO

◆ DFS_PATH

typedef struct tagDfsPath DFS_PATH

◆ ENDPOINT_INFO

◆ S_CANDIDATE

◆ S_GROUP_INFO

◆ T_BONDPOS

◆ T_ENDPOINT

◆ T_GROUP

typedef struct tagTautomerGroup T_GROUP

◆ T_GROUP_INFO

◆ T_GROUP_ISOWT

◆ TGNUMDA

typedef enum tagTG_NumDA TGNUMDA

◆ TNI

typedef struct tagTautomerNormInfo TNI

Enumeration Type Documentation

◆ tagTG_NumDA

Enumerator
TG_Num_dH 
TG_Num_dM 
TG_Num_aH 
TG_Num_aM 
TG_Num_dO 
TG_Num_aO 
TG_NUM_DA 

Function Documentation

◆ AddAtom2DA()

void AddAtom2DA ( AT_RANK  num_DA[],
inp_ATOM atom,
int  at_no,
int  bSubtract 
)
+ Here is the caller graph for this function:

◆ AddAtom2num()

int AddAtom2num ( AT_RANK  num[],
inp_ATOM atom,
int  at_no,
int  bSubtract 
)
+ Here is the caller graph for this function:

◆ AddEndPoint()

int AddEndPoint ( T_ENDPOINT pEndPoint,
inp_ATOM at,
int  iat 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bHasAcidicHydrogen()

int bHasAcidicHydrogen ( inp_ATOM at,
int  i 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bHasAcidicMinus()

int bHasAcidicMinus ( inp_ATOM at,
int  i 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bHasOtherExchangableH()

int bHasOtherExchangableH ( inp_ATOM at,
int  i 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bIsCenterPointStrict()

int bIsCenterPointStrict ( inp_ATOM atom,
int  iat 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ is_centerpoint_elem()

int is_centerpoint_elem ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ is_centerpoint_elem_KET()

int is_centerpoint_elem_KET ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ is_centerpoint_elem_strict()

int is_centerpoint_elem_strict ( U_CHAR  el_number)
+ Here is the caller graph for this function:

◆ nGet12TautIn5MembAltRing()

int nGet12TautIn5MembAltRing ( struct tagCANON_GLOBALS pCG,
inp_ATOM atom,
int  nStartAtom,
int  nStartAtomNeighbor,
AT_RANK nBfsTreePos,
DFS_PATH DfsPath,
int  nMaxLenBfsTree,
T_ENDPOINT EndPoint,
int  nMaxNumEndPoint,
T_BONDPOS BondPos,
int  nMaxNumBondPos,
int *  pnNumEndPoint,
int *  pnNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGet14TautIn5MembAltRing()

int nGet14TautIn5MembAltRing ( struct tagCANON_GLOBALS pCG,
inp_ATOM atom,
int  nStartAtom,
int  nStartAtomNeighbor,
int  nStartAtomNeighborEndpoint,
int  nStartAtomNeighborNeighborEndpoint,
AT_RANK nDfsPathPos,
DFS_PATH DfsPath,
int  nMaxLenDfsPath,
T_ENDPOINT EndPoint,
int  nMaxNumEndPoint,
T_BONDPOS BondPos,
int  nMaxNumBondPos,
int *  pnNumEndPoint,
int *  pnNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGet14TautIn7MembAltRing()

int nGet14TautIn7MembAltRing ( struct tagCANON_GLOBALS pCG,
inp_ATOM atom,
int  nStartAtom,
int  nStartAtomNeighbor,
int  nStartAtomNeighborEndpoint,
int  nStartAtomNeighborNeighborEndpoint,
AT_RANK nDfsPathPos,
DFS_PATH DfsPath,
int  nMaxLenDfsPath,
T_ENDPOINT EndPoint,
int  nMaxNumEndPoint,
T_BONDPOS BondPos,
int  nMaxNumBondPos,
int *  pnNumEndPoint,
int *  pnNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGet15TautIn6MembAltRing()

int nGet15TautIn6MembAltRing ( struct tagCANON_GLOBALS pCG,
inp_ATOM atom,
int  nStartAtom,
AT_RANK nBfsTreePos,
DFS_PATH DfsPath,
int  nMaxLenBfsTree,
T_ENDPOINT EndPoint,
int  nMaxNumEndPoint,
T_BONDPOS BondPos,
int  nMaxNumBondPos,
int *  pnNumEndPoint,
int *  pnNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGet15TautInAltPath()

int nGet15TautInAltPath ( struct tagCANON_GLOBALS pCG,
inp_ATOM atom,
int  nStartAtom,
AT_RANK nDfsPathPos,
DFS_PATH DfsPath,
int  nMaxLenDfsPath,
T_ENDPOINT EndPoint,
int  nMaxNumEndPoint,
T_BONDPOS BondPos,
int  nMaxNumBondPos,
int *  pnNumEndPoint,
int *  pnNumBondPos,
struct BalancedNetworkStructure pBNS,
struct BalancedNetworkData pBD,
int  num_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo()

int nGetEndpointInfo ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_KET()

int nGetEndpointInfo_KET ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_06_00()

int nGetEndpointInfo_PT_06_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_13_00()

int nGetEndpointInfo_PT_13_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_16_00()

int nGetEndpointInfo_PT_16_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_18_00()

int nGetEndpointInfo_PT_18_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_22_00()

int nGetEndpointInfo_PT_22_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nGetEndpointInfo_PT_39_00()

int nGetEndpointInfo_PT_39_00 ( inp_ATOM atom,
int  iat,
ENDPOINT_INFO eif 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: