#include <stdlib.h>
#include <string.h>
#include "mode.h"
#include "ichister.h"
#include "ichirvrs.h"
#include "bcf_s.h"
Data Structures | |
struct | tagMobileHGroups |
struct | tagMobileGroupList |
Macros | |
#define | FIX_BOND_ADD_ALLOC 128 |
#define | INC_EDGE_LIST 16 |
#define | INC_EDGE_LIST 16 |
#define | INC_EDGE_LIST 16 |
#define | IS_C(x) (NO_VERTEX != x && pVA[x].cNumValenceElectrons == 4 && pVA[x].cPeriodicRowNumber == 1) |
Typedefs | |
typedef struct tagMobileHGroups | MOBILE_GR |
typedef struct tagMobileGroupList | MGROUPS |
Functions | |
void | CopyAt2St (inp_ATOM *at, inp_ATOM_STEREO *st, int num_atoms) |
void | CopySt2At (inp_ATOM *at, inp_ATOM_STEREO *st, int num_atoms) |
int | RestoreAtomConnectionsSetStereo (StrFromINChI *pStruct, int iComponent, int iAtNoOffset, INChI *pInChI, INChI *pInChIMobH) |
int | SetStereoBondTypeFor0DParity (inp_ATOM *at, int i1, int m1) |
int | SetStereoBondTypesFrom0DStereo (StrFromINChI *pStruct, INChI *pInChI) |
int | CopyBnsToAtom (StrFromINChI *pStruct, BN_STRUCT *pBNS, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int bAllowZeroBondOrder) |
int | CheckBnsConsistency (StrFromINChI *pStruct, BN_STRUCT *pBNS, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int bNoRad) |
int | AddExplicitDeletedH (inp_ATOM *at, int jv, int num_at, int *iDeletedH, int *iH, int nNumDeletedH, int bTwoStereo) |
int | bFindCumuleneChain (inp_ATOM *at, AT_NUMB i1, AT_NUMB i2, AT_NUMB nCumulene[], int nMaxLen) |
int | set_bond_type (inp_ATOM *at, AT_NUMB i1, AT_NUMB i2, int bType) |
int | set_cumulene_0D_parity (inp_ATOM *at, inp_ATOM_STEREO *st, int num_at, int idelH1, int i1, int i2, int idelH2, int parity, int len) |
int | set_atom_0D_parity (inp_ATOM *at, inp_ATOM_STEREO *st, int num_at, int num_deleted_H, int i1, int parity) |
int | MoveRadToAtomsAddCharges (BN_STRUCT *pBNS, BN_DATA *pBD, StrFromINChI *pStruct, inp_ATOM *at, inp_ATOM *at2, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int forbidden_mask) |
int | AdjustTgroupsToForbiddenEdges2 (BN_STRUCT *pBNS, inp_ATOM *at, VAL_AT *pVA, int num_atoms, int forbidden_mask) |
int | RearrangePlusMinusEdgesFlow (BN_STRUCT *pBNS, BN_DATA *pBD, VAL_AT *pVA, ALL_TC_GROUPS *pTCGroups, int forbidden_edge_mask) |
int | IncrementZeroOrderBondsToHeteroat (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 | MovePlusFromS2DiaminoCarbon (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 | EliminateChargeSeparationOnHeteroatoms (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 forbidden_stereo_edge_mask) |
int | RestoreCyanoGroup (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 | RestoreIsoCyanoGroup (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 | FixMetal_Nminus_Ominus (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 | RestoreNNNgroup (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 | EliminateNitrogen5Val3Bonds (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 | Convert_SIV_to_SVI (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 | PlusFromDB_N_DB_O_to_Metal (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 | MoveMobileHToAvoidFixedBonds (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 | RemoveRadFromMobileHEndpoint (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 | RemoveRadFromMobileHEndpointFixH (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 | MoveChargeToMakeCenerpoints (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) |
#define FIX_BOND_ADD_ALLOC 128 |
#define INC_EDGE_LIST 16 |
#define INC_EDGE_LIST 16 |
#define INC_EDGE_LIST 16 |
#define IS_C | ( | x | ) | (NO_VERTEX != x && pVA[x].cNumValenceElectrons == 4 && pVA[x].cPeriodicRowNumber == 1) |
typedef struct tagMobileGroupList MGROUPS |
typedef struct tagMobileHGroups MOBILE_GR |
int AddExplicitDeletedH | ( | inp_ATOM * | at, |
int | jv, | ||
int | num_at, | ||
int * | iDeletedH, | ||
int * | iH, | ||
int | nNumDeletedH, | ||
int | bTwoStereo | ||
) |
int AdjustTgroupsToForbiddenEdges2 | ( | BN_STRUCT * | pBNS, |
inp_ATOM * | at, | ||
VAL_AT * | pVA, | ||
int | num_atoms, | ||
int | forbidden_mask | ||
) |
int CheckBnsConsistency | ( | StrFromINChI * | pStruct, |
BN_STRUCT * | pBNS, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int | bNoRad | ||
) |
int Convert_SIV_to_SVI | ( | 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 | ||
) |
void CopyAt2St | ( | inp_ATOM * | at, |
inp_ATOM_STEREO * | st, | ||
int | num_atoms | ||
) |
int CopyBnsToAtom | ( | StrFromINChI * | pStruct, |
BN_STRUCT * | pBNS, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int | bAllowZeroBondOrder | ||
) |
void CopySt2At | ( | inp_ATOM * | at, |
inp_ATOM_STEREO * | st, | ||
int | num_atoms | ||
) |
int EliminateChargeSeparationOnHeteroatoms | ( | 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 | forbidden_stereo_edge_mask | ||
) |
int EliminateNitrogen5Val3Bonds | ( | 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 FixMetal_Nminus_Ominus | ( | 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 IncrementZeroOrderBondsToHeteroat | ( | 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 MoveChargeToMakeCenerpoints | ( | 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 MoveMobileHToAvoidFixedBonds | ( | 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 MovePlusFromS2DiaminoCarbon | ( | 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 MoveRadToAtomsAddCharges | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
StrFromINChI * | pStruct, | ||
inp_ATOM * | at, | ||
inp_ATOM * | at2, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int | forbidden_mask | ||
) |
int PlusFromDB_N_DB_O_to_Metal | ( | 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 RearrangePlusMinusEdgesFlow | ( | BN_STRUCT * | pBNS, |
BN_DATA * | pBD, | ||
VAL_AT * | pVA, | ||
ALL_TC_GROUPS * | pTCGroups, | ||
int | forbidden_edge_mask | ||
) |
int RemoveRadFromMobileHEndpoint | ( | 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 RemoveRadFromMobileHEndpointFixH | ( | 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 RestoreAtomConnectionsSetStereo | ( | StrFromINChI * | pStruct, |
int | iComponent, | ||
int | iAtNoOffset, | ||
INChI * | pInChI, | ||
INChI * | pInChIMobH | ||
) |
int RestoreCyanoGroup | ( | 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 RestoreIsoCyanoGroup | ( | 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 RestoreNNNgroup | ( | 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 set_atom_0D_parity | ( | inp_ATOM * | at, |
inp_ATOM_STEREO * | st, | ||
int | num_at, | ||
int | num_deleted_H, | ||
int | i1, | ||
int | parity | ||
) |
int set_cumulene_0D_parity | ( | inp_ATOM * | at, |
inp_ATOM_STEREO * | st, | ||
int | num_at, | ||
int | idelH1, | ||
int | i1, | ||
int | i2, | ||
int | idelH2, | ||
int | parity, | ||
int | len | ||
) |
int SetStereoBondTypeFor0DParity | ( | inp_ATOM * | at, |
int | i1, | ||
int | m1 | ||
) |
int SetStereoBondTypesFrom0DStereo | ( | StrFromINChI * | pStruct, |
INChI * | pInChI | ||
) |