#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <ctype.h>
#include "mode.h"
#include "ichitime.h"
#include "ichimain.h"
#include "ichi_io.h"
#include "mol_fmt.h"
#include "inchi_api.h"
#include "readinch.h"
#include "inchi_gui.h"
#include "inpdef.h"
#include "bcf_s.h"
Functions | |
static int | OrigAtData_bCheckUnusualValences (ORIG_ATOM_DATA *orig_at_data, int bAddIsoH, char *pStrErrStruct, int bNoWarnings) |
static void | OAD_PolymerUnit_RemoveLinkFromCRUChain (int at1, int at2, int *nbonds, int **bonds) |
int | OrigAtData_Duplicate (ORIG_ATOM_DATA *new_orig_atom, ORIG_ATOM_DATA *orig_atom) |
int | PreprocessOneStructure (struct tagINCHI_CLOCK *ic, STRUCT_DATA *sd, INPUT_PARMS *ip, ORIG_ATOM_DATA *orig_inp_data, ORIG_ATOM_DATA *prep_inp_data) |
int | CreateCompositeNormAtom (COMP_ATOM_DATA *composite_norm_data, INP_ATOM_DATA2 *all_inp_norm_data, int num_components) |
void | OrigAtData_DebugTrace (ORIG_ATOM_DATA *d) |
OAD_PolymerUnit * | OAD_PolymerUnit_New (int maxatoms, int maxbonds, int id, int label, int type, int subtype, int conn, char *smt, int na, INT_ARRAY *alist, int nb, INT_ARRAY *blist, int nbkbonds, int **bkbonds) |
OAD_PolymerUnit * | OAD_PolymerUnit_CreateCopy (OAD_PolymerUnit *u) |
void | OAD_PolymerUnit_Free (OAD_PolymerUnit *unit) |
int | OAD_PolymerUnit_CompareAtomListsMod (OAD_PolymerUnit *u1, OAD_PolymerUnit *u2) |
int | OAD_PolymerUnit_CompareAtomLists (OAD_PolymerUnit *u1, OAD_PolymerUnit *u2) |
int | OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves (OAD_PolymerUnit *u, int n_star_atoms, int *star_atoms) |
int | OAD_ValidatePolymerAndPseudoElementData (ORIG_ATOM_DATA *orig_at_data, int treat_polymers, int bNPZz, char *pStrErr, int bNoWarnings) |
int | UnMarkRingSystemsInp (inp_ATOM *at, int num_atoms) |
int | OAD_Polymer_CyclizeCloseableUnits (ORIG_ATOM_DATA *orig_at_data, int treat_polymers, char *pStrErr, int bNoWarnings) |
int | OAD_PolymerUnit_HasMetal (OAD_PolymerUnit *u, inp_ATOM *at) |
void | OAD_Polymer_Free (OAD_Polymer *pd) |
void | OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_inp_data, int *err, char *pStrErr) |
void | OAD_PolymerUnit_FindEndsAndCaps (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *end1, int *cap1, int *cap1_is_star, int *end2, int *cap2, int *cap2_is_star, int *err, char *pStrErr) |
void | OAD_PolymerUnit_SetEndsAndCaps (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *err, char *pStrErr) |
int | OAD_Polymer_PrepareWorkingSet (OAD_Polymer *p, int *cano_nums, int *compnt_nums, OAD_PolymerUnit **units2, int *unum) |
int | OrigAtData_RemoveHalfBond (int this_atom, int other_atom, inp_ATOM *at, int *bond_type, int *bond_stereo) |
int | OrigAtData_RemoveAtom (ORIG_ATOM_DATA *orig_at_data, int iatom) |
int | OrigAtData_RemoveBond (int this_atom, int other_atom, inp_ATOM *at, int *bond_type, int *bond_stereo, int *num_inp_bonds) |
int | OrigAtData_AddBond (int this_atom, int other_atom, inp_ATOM *at, int bond_type, int bond_stereo, int *num_bonds) |
int | OrigAtData_AddSingleStereolessBond (int this_atom, int other_atom, inp_ATOM *at, int *num_bonds) |
int | OrigAtData_IncreaseBondOrder (int this_atom, int other_atom, inp_ATOM *at) |
int | OrigAtData_DecreaseBondOrder (int this_atom, int other_atom, inp_ATOM *at) |
void | OAD_CollectFragmentBondsAndAtoms (ORIG_ATOM_DATA *orig_at_data, int nforbidden, int *forbidden_orig, int *n_fragbonds, int **fragbonds, int *n_fragatoms, int *fragatoms, int *err, char *pStrErr) |
void | OAD_Polymer_FindBackbones (ORIG_ATOM_DATA *at_data, COMP_ATOM_DATA *composite_norm_data, int *err, char *pStrErr) |
void | OAD_CollectBackboneAtoms (ORIG_ATOM_DATA *at_data, int na, int *alist, int end_atom1, int end_atom2, int *nbkatoms, int *bkatoms, int *err, char *pStrErr) |
int | OAD_CollectReachableAtoms (ORIG_ATOM_DATA *orig_at_data, int start_atom, int nforbidden_bonds, int *forbidden_bond_atoms, int *n_reachable, int *reachable, int *err, char *pStrErr) |
void | OAD_CollectBackboneBonds (ORIG_ATOM_DATA *at_data, int na, int *alist, int end_atom1, int end_atom2, int *nbkbonds, int **bkbonds, int *err, char *pStrErr) |
void | OAD_PolymerUnit_DelistIntraRingBackboneBonds (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *at_data, int *err, char *pStrErr) |
int | OAD_Polymer_FindRingSystems (OAD_Polymer *pd, inp_ATOM *at, int nat, int *num_inp_bonds, int *num_ring_sys, int *size_ring_sys, int start) |
void | OAD_Polymer_SetAtProps (OAD_Polymer *pd, inp_ATOM *at, int nat, int *num_inp_bonds, OAD_AtProps *aprops, int *cano_nums) |
void | OAD_PolymerUnit_DelistHighOrderBackboneBonds (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, COMP_ATOM_DATA *composite_norm_data, int *err, char *pStrErr) |
void | OAD_PolymerUnit_DebugTrace (OAD_PolymerUnit *u) |
void | OAD_Polymer_DebugTrace (OAD_Polymer *p) |
int | OAD_Polymer_GetRepresentation (OAD_Polymer *p) |
void | OAD_Polymer_SmartReopenCyclizedUnits (OAD_Polymer *p, inp_ATOM *at, int nat, int *num_inp_bonds) |
void | OAD_PolymerUnit_ReopenCyclized (OAD_PolymerUnit *u, inp_ATOM *at, OAD_AtProps *aprops, int nat, int *num_inp_bonds) |
int | OAD_PolymerUnit_SetReopeningDetails (OAD_PolymerUnit *u, inp_ATOM *at) |
void | OAD_PolymerUnit_SortBackboneBondsAndSetSeniors (OAD_PolymerUnit *u, inp_ATOM *at, OAD_AtProps *aprops, int *senior_bond) |
void | OAD_PolymerUnit_SortBackboneBonds (OAD_PolymerUnit *u, OAD_AtProps *aprops, int *bnum) |
int | OAD_Polymer_CompareBackboneBondsSeniority (int *b1, int *b2, OAD_AtProps *aprops) |
int | OAD_Polymer_CompareRanksOfTwoAtoms (int atom1, int atom2, OAD_AtProps *aprops) |
int | OAD_Polymer_IsFirstAtomRankLower (int atom1, int atom2, OAD_AtProps *aprops) |
void | OAD_ValidateAndSortOutPseudoElementAtoms (ORIG_ATOM_DATA *orig_at_data, int treat_polymers, int bNPZz, int *err, char *pStrErr) |
int | Inp_Atom_GetBondType (inp_ATOM *at, int iatom1, int iatom2) |
int CreateCompositeNormAtom | ( | COMP_ATOM_DATA * | composite_norm_data, |
INP_ATOM_DATA2 * | all_inp_norm_data, | ||
int | num_components | ||
) |
int Inp_Atom_GetBondType | ( | inp_ATOM * | at, |
int | iatom1, | ||
int | iatom2 | ||
) |
void OAD_CollectBackboneAtoms | ( | ORIG_ATOM_DATA * | at_data, |
int | na, | ||
int * | alist, | ||
int | end_atom1, | ||
int | end_atom2, | ||
int * | nbkatoms, | ||
int * | bkatoms, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_CollectBackboneBonds | ( | ORIG_ATOM_DATA * | at_data, |
int | na, | ||
int * | alist, | ||
int | end_atom1, | ||
int | end_atom2, | ||
int * | nbkbonds, | ||
int ** | bkbonds, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_CollectFragmentBondsAndAtoms | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | nforbidden, | ||
int * | forbidden_orig, | ||
int * | n_fragbonds, | ||
int ** | fragbonds, | ||
int * | n_fragatoms, | ||
int * | fragatoms, | ||
int * | err, | ||
char * | pStrErr | ||
) |
int OAD_CollectReachableAtoms | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | start_atom, | ||
int | nforbidden_bonds, | ||
int * | forbidden_bond_atoms, | ||
int * | n_reachable, | ||
int * | reachable, | ||
int * | err, | ||
char * | pStrErr | ||
) |
int OAD_Polymer_CompareBackboneBondsSeniority | ( | int * | b1, |
int * | b2, | ||
OAD_AtProps * | aprops | ||
) |
int OAD_Polymer_CompareRanksOfTwoAtoms | ( | int | atom1, |
int | atom2, | ||
OAD_AtProps * | aprops | ||
) |
int OAD_Polymer_CyclizeCloseableUnits | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | treat_polymers, | ||
char * | pStrErr, | ||
int | bNoWarnings | ||
) |
void OAD_Polymer_DebugTrace | ( | OAD_Polymer * | p | ) |
void OAD_Polymer_FindBackbones | ( | ORIG_ATOM_DATA * | at_data, |
COMP_ATOM_DATA * | composite_norm_data, | ||
int * | err, | ||
char * | pStrErr | ||
) |
int OAD_Polymer_FindRingSystems | ( | OAD_Polymer * | pd, |
inp_ATOM * | at, | ||
int | nat, | ||
int * | num_inp_bonds, | ||
int * | num_ring_sys, | ||
int * | size_ring_sys, | ||
int | start | ||
) |
void OAD_Polymer_Free | ( | OAD_Polymer * | pd | ) |
int OAD_Polymer_GetRepresentation | ( | OAD_Polymer * | p | ) |
int OAD_Polymer_IsFirstAtomRankLower | ( | int | atom1, |
int | atom2, | ||
OAD_AtProps * | aprops | ||
) |
int OAD_Polymer_PrepareWorkingSet | ( | OAD_Polymer * | p, |
int * | cano_nums, | ||
int * | compnt_nums, | ||
OAD_PolymerUnit ** | units2, | ||
int * | unum | ||
) |
void OAD_Polymer_SetAtProps | ( | OAD_Polymer * | pd, |
inp_ATOM * | at, | ||
int | nat, | ||
int * | num_inp_bonds, | ||
OAD_AtProps * | aprops, | ||
int * | cano_nums | ||
) |
void OAD_Polymer_SmartReopenCyclizedUnits | ( | OAD_Polymer * | p, |
inp_ATOM * | at, | ||
int | nat, | ||
int * | num_inp_bonds | ||
) |
int OAD_PolymerUnit_CompareAtomLists | ( | OAD_PolymerUnit * | u1, |
OAD_PolymerUnit * | u2 | ||
) |
int OAD_PolymerUnit_CompareAtomListsMod | ( | OAD_PolymerUnit * | u1, |
OAD_PolymerUnit * | u2 | ||
) |
OAD_PolymerUnit * OAD_PolymerUnit_CreateCopy | ( | OAD_PolymerUnit * | u | ) |
void OAD_PolymerUnit_DebugTrace | ( | OAD_PolymerUnit * | u | ) |
void OAD_PolymerUnit_DelistHighOrderBackboneBonds | ( | OAD_PolymerUnit * | unit, |
ORIG_ATOM_DATA * | orig_at_data, | ||
COMP_ATOM_DATA * | composite_norm_data, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_PolymerUnit_DelistIntraRingBackboneBonds | ( | OAD_PolymerUnit * | unit, |
ORIG_ATOM_DATA * | at_data, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_PolymerUnit_FindEndsAndCaps | ( | OAD_PolymerUnit * | unit, |
ORIG_ATOM_DATA * | orig_at_data, | ||
int * | end1, | ||
int * | cap1, | ||
int * | cap1_is_star, | ||
int * | end2, | ||
int * | cap2, | ||
int * | cap2_is_star, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_PolymerUnit_Free | ( | OAD_PolymerUnit * | unit | ) |
int OAD_PolymerUnit_HasMetal | ( | OAD_PolymerUnit * | u, |
inp_ATOM * | at | ||
) |
OAD_PolymerUnit * OAD_PolymerUnit_New | ( | int | maxatoms, |
int | maxbonds, | ||
int | id, | ||
int | label, | ||
int | type, | ||
int | subtype, | ||
int | conn, | ||
char * | smt, | ||
int | na, | ||
INT_ARRAY * | alist, | ||
int | nb, | ||
INT_ARRAY * | blist, | ||
int | nbkbonds, | ||
int ** | bkbonds | ||
) |
int OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves | ( | OAD_PolymerUnit * | u, |
int | n_star_atoms, | ||
int * | star_atoms | ||
) |
|
static |
void OAD_PolymerUnit_ReopenCyclized | ( | OAD_PolymerUnit * | u, |
inp_ATOM * | at, | ||
OAD_AtProps * | aprops, | ||
int | nat, | ||
int * | num_inp_bonds | ||
) |
void OAD_PolymerUnit_SetEndsAndCaps | ( | OAD_PolymerUnit * | unit, |
ORIG_ATOM_DATA * | orig_at_data, | ||
int * | err, | ||
char * | pStrErr | ||
) |
int OAD_PolymerUnit_SetReopeningDetails | ( | OAD_PolymerUnit * | u, |
inp_ATOM * | at | ||
) |
void OAD_PolymerUnit_SortBackboneBonds | ( | OAD_PolymerUnit * | u, |
OAD_AtProps * | aprops, | ||
int * | bnum | ||
) |
void OAD_PolymerUnit_SortBackboneBondsAndSetSeniors | ( | OAD_PolymerUnit * | u, |
inp_ATOM * | at, | ||
OAD_AtProps * | aprops, | ||
int * | senior_bond | ||
) |
void OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms | ( | OAD_PolymerUnit * | unit, |
ORIG_ATOM_DATA * | orig_inp_data, | ||
int * | err, | ||
char * | pStrErr | ||
) |
void OAD_ValidateAndSortOutPseudoElementAtoms | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | treat_polymers, | ||
int | bNPZz, | ||
int * | err, | ||
char * | pStrErr | ||
) |
int OAD_ValidatePolymerAndPseudoElementData | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | treat_polymers, | ||
int | bNPZz, | ||
char * | pStrErr, | ||
int | bNoWarnings | ||
) |
int OrigAtData_AddBond | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at, | ||
int | bond_type, | ||
int | bond_stereo, | ||
int * | num_bonds | ||
) |
int OrigAtData_AddSingleStereolessBond | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at, | ||
int * | num_bonds | ||
) |
|
static |
void OrigAtData_DebugTrace | ( | ORIG_ATOM_DATA * | d | ) |
int OrigAtData_DecreaseBondOrder | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at | ||
) |
int OrigAtData_Duplicate | ( | ORIG_ATOM_DATA * | new_orig_atom, |
ORIG_ATOM_DATA * | orig_atom | ||
) |
int OrigAtData_IncreaseBondOrder | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at | ||
) |
int OrigAtData_RemoveAtom | ( | ORIG_ATOM_DATA * | orig_at_data, |
int | iatom | ||
) |
int OrigAtData_RemoveBond | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at, | ||
int * | bond_type, | ||
int * | bond_stereo, | ||
int * | num_inp_bonds | ||
) |
int OrigAtData_RemoveHalfBond | ( | int | this_atom, |
int | other_atom, | ||
inp_ATOM * | at, | ||
int * | bond_type, | ||
int * | bond_stereo | ||
) |
int PreprocessOneStructure | ( | struct tagINCHI_CLOCK * | ic, |
STRUCT_DATA * | sd, | ||
INPUT_PARMS * | ip, | ||
ORIG_ATOM_DATA * | orig_inp_data, | ||
ORIG_ATOM_DATA * | prep_inp_data | ||
) |
int UnMarkRingSystemsInp | ( | inp_ATOM * | at, |
int | num_atoms | ||
) |