InChI
 
Loading...
Searching...
No Matches
runichi3.c File Reference
#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"
+ Include dependency graph for runichi3.c:

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_PolymerUnitOAD_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_PolymerUnitOAD_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)
 

Function Documentation

◆ CreateCompositeNormAtom()

int CreateCompositeNormAtom ( COMP_ATOM_DATA composite_norm_data,
INP_ATOM_DATA2 all_inp_norm_data,
int  num_components 
)
+ Here is the call graph for this function:

◆ Inp_Atom_GetBondType()

int Inp_Atom_GetBondType ( inp_ATOM at,
int  iatom1,
int  iatom2 
)
+ Here is the caller graph for this function:

◆ OAD_CollectBackboneAtoms()

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 
)
+ Here is the call graph for this function:

◆ OAD_CollectBackboneBonds()

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 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_CollectFragmentBondsAndAtoms()

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 
)
+ Here is the call graph for this function:

◆ OAD_CollectReachableAtoms()

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 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_CompareBackboneBondsSeniority()

int OAD_Polymer_CompareBackboneBondsSeniority ( int *  b1,
int *  b2,
OAD_AtProps aprops 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_CompareRanksOfTwoAtoms()

int OAD_Polymer_CompareRanksOfTwoAtoms ( int  atom1,
int  atom2,
OAD_AtProps aprops 
)
+ Here is the caller graph for this function:

◆ OAD_Polymer_CyclizeCloseableUnits()

int OAD_Polymer_CyclizeCloseableUnits ( ORIG_ATOM_DATA orig_at_data,
int  treat_polymers,
char *  pStrErr,
int  bNoWarnings 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_DebugTrace()

void OAD_Polymer_DebugTrace ( OAD_Polymer p)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_FindBackbones()

void OAD_Polymer_FindBackbones ( ORIG_ATOM_DATA at_data,
COMP_ATOM_DATA composite_norm_data,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_FindRingSystems()

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 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_Free()

void OAD_Polymer_Free ( OAD_Polymer pd)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_GetRepresentation()

int OAD_Polymer_GetRepresentation ( OAD_Polymer p)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_IsFirstAtomRankLower()

int OAD_Polymer_IsFirstAtomRankLower ( int  atom1,
int  atom2,
OAD_AtProps aprops 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_PrepareWorkingSet()

int OAD_Polymer_PrepareWorkingSet ( OAD_Polymer p,
int *  cano_nums,
int *  compnt_nums,
OAD_PolymerUnit **  units2,
int *  unum 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_SetAtProps()

void OAD_Polymer_SetAtProps ( OAD_Polymer pd,
inp_ATOM at,
int  nat,
int *  num_inp_bonds,
OAD_AtProps aprops,
int *  cano_nums 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_Polymer_SmartReopenCyclizedUnits()

void OAD_Polymer_SmartReopenCyclizedUnits ( OAD_Polymer p,
inp_ATOM at,
int  nat,
int *  num_inp_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_CompareAtomLists()

int OAD_PolymerUnit_CompareAtomLists ( OAD_PolymerUnit u1,
OAD_PolymerUnit u2 
)

◆ OAD_PolymerUnit_CompareAtomListsMod()

int OAD_PolymerUnit_CompareAtomListsMod ( OAD_PolymerUnit u1,
OAD_PolymerUnit u2 
)
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_CreateCopy()

OAD_PolymerUnit * OAD_PolymerUnit_CreateCopy ( OAD_PolymerUnit u)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_DebugTrace()

void OAD_PolymerUnit_DebugTrace ( OAD_PolymerUnit u)
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_DelistHighOrderBackboneBonds()

void OAD_PolymerUnit_DelistHighOrderBackboneBonds ( OAD_PolymerUnit unit,
ORIG_ATOM_DATA orig_at_data,
COMP_ATOM_DATA composite_norm_data,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_DelistIntraRingBackboneBonds()

void OAD_PolymerUnit_DelistIntraRingBackboneBonds ( OAD_PolymerUnit unit,
ORIG_ATOM_DATA at_data,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_FindEndsAndCaps()

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 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_Free()

void OAD_PolymerUnit_Free ( OAD_PolymerUnit unit)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_HasMetal()

int OAD_PolymerUnit_HasMetal ( OAD_PolymerUnit u,
inp_ATOM at 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_New()

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 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves()

int OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves ( OAD_PolymerUnit u,
int  n_star_atoms,
int *  star_atoms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_RemoveLinkFromCRUChain()

void OAD_PolymerUnit_RemoveLinkFromCRUChain ( int  at1,
int  at2,
int *  nbonds,
int **  bonds 
)
static
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_ReopenCyclized()

void OAD_PolymerUnit_ReopenCyclized ( OAD_PolymerUnit u,
inp_ATOM at,
OAD_AtProps aprops,
int  nat,
int *  num_inp_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_SetEndsAndCaps()

void OAD_PolymerUnit_SetEndsAndCaps ( OAD_PolymerUnit unit,
ORIG_ATOM_DATA orig_at_data,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_SetReopeningDetails()

int OAD_PolymerUnit_SetReopeningDetails ( OAD_PolymerUnit u,
inp_ATOM at 
)
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_SortBackboneBonds()

void OAD_PolymerUnit_SortBackboneBonds ( OAD_PolymerUnit u,
OAD_AtProps aprops,
int *  bnum 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_SortBackboneBondsAndSetSeniors()

void OAD_PolymerUnit_SortBackboneBondsAndSetSeniors ( OAD_PolymerUnit u,
inp_ATOM at,
OAD_AtProps aprops,
int *  senior_bond 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms()

void OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms ( OAD_PolymerUnit unit,
ORIG_ATOM_DATA orig_inp_data,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_ValidateAndSortOutPseudoElementAtoms()

void OAD_ValidateAndSortOutPseudoElementAtoms ( ORIG_ATOM_DATA orig_at_data,
int  treat_polymers,
int  bNPZz,
int *  err,
char *  pStrErr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OAD_ValidatePolymerAndPseudoElementData()

int OAD_ValidatePolymerAndPseudoElementData ( ORIG_ATOM_DATA orig_at_data,
int  treat_polymers,
int  bNPZz,
char *  pStrErr,
int  bNoWarnings 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_AddBond()

int OrigAtData_AddBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int  bond_type,
int  bond_stereo,
int *  num_bonds 
)
+ Here is the caller graph for this function:

◆ OrigAtData_AddSingleStereolessBond()

int OrigAtData_AddSingleStereolessBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  num_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_bCheckUnusualValences()

int OrigAtData_bCheckUnusualValences ( ORIG_ATOM_DATA orig_at_data,
int  bAddIsoH,
char *  pStrErrStruct,
int  bNoWarnings 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_DebugTrace()

void OrigAtData_DebugTrace ( ORIG_ATOM_DATA d)
+ Here is the caller graph for this function:

◆ OrigAtData_DecreaseBondOrder()

int OrigAtData_DecreaseBondOrder ( int  this_atom,
int  other_atom,
inp_ATOM at 
)
+ Here is the caller graph for this function:

◆ OrigAtData_Duplicate()

int OrigAtData_Duplicate ( ORIG_ATOM_DATA new_orig_atom,
ORIG_ATOM_DATA orig_atom 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_IncreaseBondOrder()

int OrigAtData_IncreaseBondOrder ( int  this_atom,
int  other_atom,
inp_ATOM at 
)
+ Here is the caller graph for this function:

◆ OrigAtData_RemoveAtom()

int OrigAtData_RemoveAtom ( ORIG_ATOM_DATA orig_at_data,
int  iatom 
)

◆ OrigAtData_RemoveBond()

int OrigAtData_RemoveBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  bond_type,
int *  bond_stereo,
int *  num_inp_bonds 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OrigAtData_RemoveHalfBond()

int OrigAtData_RemoveHalfBond ( int  this_atom,
int  other_atom,
inp_ATOM at,
int *  bond_type,
int *  bond_stereo 
)
+ Here is the caller graph for this function:

◆ PreprocessOneStructure()

int PreprocessOneStructure ( struct tagINCHI_CLOCK ic,
STRUCT_DATA sd,
INPUT_PARMS ip,
ORIG_ATOM_DATA orig_inp_data,
ORIG_ATOM_DATA prep_inp_data 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnMarkRingSystemsInp()

int UnMarkRingSystemsInp ( inp_ATOM at,
int  num_atoms 
)
+ Here is the caller graph for this function: