#include <string.h>
#include "mode.h"
#include "ichitime.h"
#include "ichirvrs.h"
#include "ichicant.h"
#include "ichi_io.h"
#include "ichimake.h"
#include "bcf_s.h"
Macros | |
#define | MAX_NUM_CARBON_CHARGE_EDGES 2 |
Functions | |
int | ForbidCarbonChargeEdges (BN_STRUCT *pBNS, ALL_TC_GROUPS *pTCGroups, EDGE_LIST *pCarbonChargeEdges, int forbidden_edge_mask) |
int | ForbidNintrogenPlus2BondsInSmallRings (BN_STRUCT *pBNS, inp_ATOM *at, int num_at, VAL_AT *pVA, int min_ring_size, ALL_TC_GROUPS *pTCGroups, EDGE_LIST *pNplus2BondsEdges, int forbidden_edge_mask) |
int | FixLessHydrogenInFormula (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | FixMoreHydrogenInFormula (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | FixRemoveExtraTautEndpoints (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *atf, inp_ATOM *atn, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, ICR *picr, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | FillOutExtraFixedHDataRestr (StrFromINChI *pStruct) |
int | FillOutExtraFixedHDataInChI (StrFromINChI *pStruct, INChI *pInChI[]) |
int | FillOutCMP2FHINCHI (StrFromINChI *pStruct, inp_ATOM *at2, VAL_AT *pVA, INChI *pInChI[], CMP2FHINCHI *pc2i) |
int | FillOutCMP2MHINCHI (StrFromINChI *pStruct, ALL_TC_GROUPS *pTCGroups, inp_ATOM *at2, VAL_AT *pVA, INChI *pInChI[], CMP2MHINCHI *pc2i) |
int | NormalizeAndCompare (CANON_GLOBALS *pCG, INCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, inp_ATOM *at3, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, INChI *pInChI[], long num_inp, int bHasSomeFixedH, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask, int forbidden_stereo_edge_mask) |
int | CheckAndRefixStereobonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | MoveChargeToRemoveCenerpoints (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | MakeSingleBondsMetal2ChargedHeteroat (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | SaltBondsToCoordBonds (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int *pnNumRunBNS, int *pnTotalDelta, int forbidden_edge_mask) |
int | RunBnsRestore1 (CANON_GLOBALS *pCG, INCHI_CLOCK *ic, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, INChI *pInChI[], long num_inp, int bHasSomeFixedH) |
int | RestoreAtomMakeBNS (INCHI_CLOCK *ic, CANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip, STRUCT_DATA *sd, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, INChI *pInChI[], const char *szCurHdr, long num_inp, int bHasSomeFixedH) |
int | OneInChI2Atom (INCHI_CLOCK *ic, CANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip_inp, STRUCT_DATA *sd, const char *szCurHdr, long num_inp, StrFromINChI *pStruct, int iComponent, int iAtNoOffset, int bHasSomeFixedH, INChI *pInChI[]) |
int | MakeProtonComponent (StrFromINChI *pStruct, int iComponent, int num_prot) |
int | AddRemProtonsInRestrStruct (INCHI_CLOCK *ic, CANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip_inp, STRUCT_DATA *sd, long num_inp, int bHasSomeFixedH, StrFromINChI *pStruct, int num_components, StrFromINChI *pStructR, int num_componentsR, NUM_H *nProtonsToBeRemovedByNormFromRevrs, int *recmet_change_balance) |
int | AddRemIsoProtonsInRestrStruct (INCHI_CLOCK *ic, CANON_GLOBALS *pCG, ICHICONST INPUT_PARMS *ip_inp, STRUCT_DATA *sd, long num_inp, int bHasSomeFixedH, StrFromINChI *pStruct, int num_components, StrFromINChI *pStructR, int num_componentsR, NUM_H pProtonBalance[], NUM_H recmet_change_balance[]) |
#define MAX_NUM_CARBON_CHARGE_EDGES 2 |
int AddRemIsoProtonsInRestrStruct | ( | INCHI_CLOCK * | ic, |
CANON_GLOBALS * | pCG, | ||
ICHICONST INPUT_PARMS * | ip_inp, | ||
STRUCT_DATA * | sd, | ||
long | num_inp, | ||
int | bHasSomeFixedH, | ||
StrFromINChI * | pStruct, | ||
int | num_components, | ||
StrFromINChI * | pStructR, | ||
int | num_componentsR, | ||
NUM_H | pProtonBalance[], | ||
NUM_H | recmet_change_balance[] | ||
) |
int AddRemProtonsInRestrStruct | ( | INCHI_CLOCK * | ic, |
CANON_GLOBALS * | pCG, | ||
ICHICONST INPUT_PARMS * | ip_inp, | ||
STRUCT_DATA * | sd, | ||
long | num_inp, | ||
int | bHasSomeFixedH, | ||
StrFromINChI * | pStruct, | ||
int | num_components, | ||
StrFromINChI * | pStructR, | ||
int | num_componentsR, | ||
NUM_H * | nProtonsToBeRemovedByNormFromRevrs, | ||
int * | recmet_change_balance | ||
) |
int CheckAndRefixStereobonds | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int FillOutCMP2FHINCHI | ( | StrFromINChI * | pStruct, |
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
INChI * | pInChI[], | ||
CMP2FHINCHI * | pc2i | ||
) |
int FillOutCMP2MHINCHI | ( | StrFromINChI * | pStruct, |
ALL_TC_GROUPS * | pTCGroups, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
INChI * | pInChI[], | ||
CMP2MHINCHI * | pc2i | ||
) |
int FillOutExtraFixedHDataInChI | ( | StrFromINChI * | pStruct, |
INChI * | pInChI[] | ||
) |
int FillOutExtraFixedHDataRestr | ( | StrFromINChI * | pStruct | ) |
int FixLessHydrogenInFormula | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
inp_ATOM * | atf, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int FixMoreHydrogenInFormula | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
inp_ATOM * | atf, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int FixRemoveExtraTautEndpoints | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
inp_ATOM * | atf, | ||
inp_ATOM * | atn, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
ICR * | picr, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int ForbidCarbonChargeEdges | ( | BN_STRUCT * | pBNS, |
ALL_TC_GROUPS * | pTCGroups, | ||
EDGE_LIST * | pCarbonChargeEdges, | ||
int | forbidden_edge_mask | ||
) |
int ForbidNintrogenPlus2BondsInSmallRings | ( | BN_STRUCT * | pBNS, |
inp_ATOM * | at, | ||
int | num_at, | ||
VAL_AT * | pVA, | ||
int | min_ring_size, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
EDGE_LIST * | pNplus2BondsEdges, | ||
int | forbidden_edge_mask | ||
) |
int MakeProtonComponent | ( | StrFromINChI * | pStruct, |
int | iComponent, | ||
int | num_prot | ||
) |
int MakeSingleBondsMetal2ChargedHeteroat | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int MoveChargeToRemoveCenerpoints | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |
int NormalizeAndCompare | ( | CANON_GLOBALS * | pCG, |
INCHI_CLOCK * | ic, | ||
ICHICONST INPUT_PARMS * | ip, | ||
STRUCT_DATA * | sd, | ||
BN_STRUCT * | pBNS, | ||
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
inp_ATOM * | at3, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
INChI * | pInChI[], | ||
long | num_inp, | ||
int | bHasSomeFixedH, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask, | ||
int | forbidden_stereo_edge_mask | ||
) |
int OneInChI2Atom | ( | INCHI_CLOCK * | ic, |
CANON_GLOBALS * | pCG, | ||
ICHICONST INPUT_PARMS * | ip_inp, | ||
STRUCT_DATA * | sd, | ||
const char * | szCurHdr, | ||
long | num_inp, | ||
StrFromINChI * | pStruct, | ||
int | iComponent, | ||
int | iAtNoOffset, | ||
int | bHasSomeFixedH, | ||
INChI * | pInChI[] | ||
) |
int RestoreAtomMakeBNS | ( | INCHI_CLOCK * | ic, |
CANON_GLOBALS * | pCG, | ||
ICHICONST INPUT_PARMS * | ip, | ||
STRUCT_DATA * | sd, | ||
StrFromINChI * | pStruct, | ||
int | iComponent, | ||
int | iAtNoOffset, | ||
INChI * | pInChI[], | ||
const char * | szCurHdr, | ||
long | num_inp, | ||
int | bHasSomeFixedH | ||
) |
int RunBnsRestore1 | ( | CANON_GLOBALS * | pCG, |
INCHI_CLOCK * | ic, | ||
ICHICONST INPUT_PARMS * | ip, | ||
STRUCT_DATA * | sd, | ||
BN_STRUCT * | pBNS, | ||
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
INChI * | pInChI[], | ||
long | num_inp, | ||
int | bHasSomeFixedH | ||
) |
int SaltBondsToCoordBonds | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int * | pnNumRunBNS, | ||
int * | pnTotalDelta, | ||
int | forbidden_edge_mask | ||
) |