Include dependency graph for inpdef.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | tagInputAtom |
| Structure describing an input atom. More... | |
| struct | OAD_PolymerUnit |
| Structure describing a polymer unit. More... | |
| struct | OAD_Polymer |
| Structure describing a polymer. More... | |
| struct | OAD_AtProps |
| Structure describing atom properties for OAD. More... | |
| struct | OAD_V3000 |
| Structure describing v. 1.05 extended input supporting V3000; polymers. More... | |
| struct | tagOrigAtom |
| Structure describing original atom data. More... | |
| struct | tagOriginalStruct |
| Structure describing the original structure. More... | |
| struct | tagAtomParmsForDrawing |
| Structure describing atom parameters for drawing. More... | |
| struct | tagInfoAtomData |
| Structure describing information about atoms for InChI generation. More... | |
| struct | tagInputAtomData |
| Structure describing input atom data for InChI generation. More... | |
| struct | tagNormCanonFlags |
| Structure describing normalization and canonicalization flags. More... | |
| struct | tagCompositeAtomData |
| Structure describing composite atom data for InChI generation. More... | |
| struct | tagStructFptrs |
| Structure describing file pointers for structures. More... | |
| struct | tagOAD_StructureEdits |
| Structure describing structure edits. More... | |
Typedefs | |
| typedef S_SHORT | ST_CAP_FLOW |
| typedef struct tagInputAtom | inp_ATOM |
| Structure describing an input atom. | |
| typedef struct OAD_PolymerUnit | OAD_PolymerUnit |
| Structure describing a polymer unit. | |
| typedef struct OAD_Polymer | OAD_Polymer |
| Structure describing a polymer. | |
| typedef struct OAD_AtProps | OAD_AtProps |
| Structure describing atom properties for OAD. | |
| typedef struct OAD_V3000 | OAD_V3000 |
| Structure describing v. 1.05 extended input supporting V3000; polymers. | |
| typedef struct tagOrigAtom | ORIG_ATOM_DATA |
| Structure describing original atom data. | |
| typedef struct tagOriginalStruct | ORIG_STRUCT |
| Structure describing the original structure. | |
| typedef struct tagAtomParmsForDrawing | inf_ATOM |
| Structure describing atom parameters for drawing. | |
| typedef struct tagInfoAtomData | INF_ATOM_DATA |
| Structure describing information about atoms for InChI generation. | |
| typedef struct tagInputAtomData | INP_ATOM_DATA |
| Structure describing input atom data for InChI generation. | |
| typedef INP_ATOM_DATA | INP_ATOM_DATA2[TAUT_NUM] |
| typedef struct tagNormCanonFlags | NORM_CANON_FLAGS |
| Structure describing normalization and canonicalization flags. | |
| typedef struct tagCompositeAtomData | COMP_ATOM_DATA |
| Structure describing composite atom data for InChI generation. | |
| typedef long | INCHI_FPTR |
| typedef struct tagStructFptrs | STRUCT_FPTRS |
| Structure describing file pointers for structures. | |
| typedef struct tagOAD_StructureEdits | OAD_StructureEdits |
| Structure describing structure edits. | |
Functions | |
| int | bInchiTimeIsOver (struct tagINCHI_CLOCK *ic, struct tagInchiTime *TickEnd) |
| int | CreateOrigInpDataFromMolfile (INCHI_IOSTREAM *inp_file, ORIG_ATOM_DATA *orig_at_data, int bMergeAllInputStructures, int bGetOrigCoord, int bDoNotAddH, int treat_polymers, int treat_NPZz, const char *pSdfLabel, char *pSdfValue, unsigned long *lSdfId, long *lMolfileNumber, INCHI_MODE *pInpAtomFlags, int *err, char *pStrErr, int bNoWarnings) |
| Create original input data from molfile. | |
| int | InchiToOrigAtom (INCHI_IOSTREAM *infile, ORIG_ATOM_DATA *orig_at_data, int bMergeAllInputStructures, int bGetOrigCoord, int bDoNotAddH, int vABParityUnknown, INPUT_TYPE nInputType, char *pSdfLabel, char *pSdfValue, unsigned long *lSdfId, INCHI_MODE *pInpAtomFlags, int *err, char *pStrErr) |
| Convert InChI representation to original atom data. | |
| int | MarkDisconnectedComponents (ORIG_ATOM_DATA *orig_at_data, int bProcessOldCompNumbers) |
| Mark disconnected components in the original atom data. | |
| int | DisconnectSalts (ORIG_ATOM_DATA *orig_inp_data, int bDisconnect) |
| Disconnect salts in the original atom data. | |
| int | DisconnectMetals (ORIG_ATOM_DATA *orig_inp_data, int bCheckMetalValence, INCHI_MODE *bTautFlagsDone) |
| Disconnect metals in the original atom data. | |
| int | bMayDisconnectMetals (ORIG_ATOM_DATA *orig_inp_data, int bCheckMetalValence, INCHI_MODE *bTautFlagsDone) |
| Check if metals may be disconnected in the original atom data. | |
| int | bHasMetalAtom (ORIG_ATOM_DATA *orig_inp_data) |
| Check if there is a metal atom in the original atom data. | |
| int | FixAdjacentRadicals (int num_inp_atoms, inp_ATOM *at) |
| Fix adjacent radicals in the input atoms. | |
| int | fix_odd_things (int num_atoms, inp_ATOM *at, int bFixBug, int bFixNonUniformDraw) |
| Fix odd things in the input atoms. | |
| int | post_fix_odd_things (int num_atoms, inp_ATOM *at) |
| Post-fix odd things in the input atoms (does nothing, returns 0) | |
| int | remove_ion_pairs (int num_atoms, inp_ATOM *at) |
| Remove ion pairs from the input atoms. | |
| int | bFoundFeature (inp_ATOM *at, int num_atoms) |
| Check if a feature is found in the input atoms ??? | |
| int | UnMarkRingSystemsInp (inp_ATOM *at, int num_atoms) |
| Unmark ring systems in the input atoms. | |
| int | OrigAtData_WriteToSDfile (const ORIG_ATOM_DATA *inp_at_data, INCHI_IOSTREAM *fcb, const char *name, const char *comment, int bChiralFlag, int bAtomsDT, const char *szLabel, const char *szValue) |
| Write original atom data to SD file. | |
| void | FreeInpAtom (inp_ATOM **at) |
| Free input atom array. | |
| void | FreeInfAtom (inf_ATOM **at) |
| Free information atom array (same as FreeInpAtom) | |
| void | FreeOrigAtData (ORIG_ATOM_DATA *orig_at_data) |
| Free original atom data. | |
| void | FreeExtOrigAtData (OAD_Polymer *pd, OAD_V3000 *v3k) |
| Free extended original atom data (polymers and V3000) | |
| void | FreeInpAtomData (INP_ATOM_DATA *inp_at_data) |
| Free input atom data. | |
| void | FreeCompAtomData (COMP_ATOM_DATA *inp_at_data) |
| Free composite atom data. | |
| void | FreeInfoAtomData (INF_ATOM_DATA *inf_at_data) |
| Free information atom data. | |
| int | OAD_StructureEdits_Init (OAD_StructureEdits *ed) |
| Initialize structure edits. | |
| void | OAD_StructureEdits_Clear (OAD_StructureEdits *ed) |
| Clear structure edits. | |
| void | OAD_StructureEdits_DebugPrint (OAD_StructureEdits *ed) |
| Debug print structure edits. | |
| int | Ring2Chain (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ORIG_ATOM_DATA *orig_inp_data) |
| Convert rings to chains in the original atom data. | |
| int | OAD_Edit_Underivatize (struct tagINCHI_CLOCK *ic, struct tagCANON_GLOBALS *pCG, ORIG_ATOM_DATA *orig_inp_data, int bOutputSdf, int bOutputReport, char *pSdfValue) |
| Underivatize the original atom data (main underivatization procedure) | |
| void | OAD_Edit_MergeComponentsAndRecreateOAD (ORIG_ATOM_DATA *orig_OrigAtomData, INP_ATOM_DATA *curr_InpAtomData, int num_components, int *errcode) |
| Merge components and recreate original atom data. | |
| int | OAD_ValidatePolymerAndPseudoElementData (ORIG_ATOM_DATA *orig_at_data, int treat_polymers, int bNPZz, char *pStrErr, int bNoWarnings) |
| Validate polymer and pseudo-element data in the original atom data. | |
| void | OAD_ValidateAndSortOutPseudoElementAtoms (ORIG_ATOM_DATA *orig_at_data, int treat_polymers, int use_zz, int *err, char *pStrErr) |
| Validate and sort out pseudo-element atoms in the original atom data. | |
| int | OAD_Polymer_GetRepresentation (OAD_Polymer *p) |
| Get polymer representation type. | |
| int | OAD_Polymer_CyclizeCloseableUnits (ORIG_ATOM_DATA *orig_at_data, int use_zz, char *pStrErr, int bNoWarnings) |
| Cyclize closeable units in the original atom data. | |
| 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) |
| Find ring systems in the polymer data. | |
| void | OAD_Polymer_SetAtProps (OAD_Polymer *pd, inp_ATOM *at, int nat, int *num_inp_bonds, OAD_AtProps *aprops, int *cano_nums) |
| Set atom properties for the polymer data. | |
| int | OAD_Polymer_CompareBackboneBondsSeniority (int *b1, int *b2, OAD_AtProps *aprops) |
| Compare backbone bonds seniority (for sorting SRU cyclizing bonds (PS=='frame-shift') in descending order) | |
| int | OAD_Polymer_CompareRanksOfTwoAtoms (int atom1, int atom2, OAD_AtProps *aprops) |
| Compare ranks of two atoms (compare seniority of two atoms in polymer SRU) | |
| int | OAD_Polymer_IsFirstAtomRankLower (int atom1, int atom2, OAD_AtProps *aprops) |
| Check if the first atom has a lower rank than the second atom (check seniority of two atoms in polymer SRU) | |
| int | OAD_PolymerUnit_SetReopeningDetails (OAD_PolymerUnit *u, inp_ATOM *at) |
| Set reopening details for a polymer unit. | |
| void | OAD_PolymerUnit_SortBackboneBondsAndSetSeniors (OAD_PolymerUnit *u, inp_ATOM *at, OAD_AtProps *aprops, int *senior_bond) |
| Sort backbone bonds and set seniors for a polymer unit. | |
| void | OAD_Polymer_FindBackbones (ORIG_ATOM_DATA *where_to_look, COMP_ATOM_DATA *composite_norm_data, int *err, char *pStrErr) |
| Find backbones in the original atom data. | |
| int | OAD_Polymer_PrepareWorkingSet (OAD_Polymer *p, int *cano_nums, int *compnt_nums, OAD_PolymerUnit **units2, int *unum) |
| Prepare working set for polymer processing (replace original atom numbers in polymer data with (canonical num + 1)) | |
| void | OAD_Polymer_Free (OAD_Polymer *p) |
| Free polymer data structure. | |
| void | OAD_Polymer_DebugTrace (OAD_Polymer *p) |
| Debug trace for polymer data structure (print the whole polymer data) | |
| void | OAD_Polymer_SmartReopenCyclizedUnits (OAD_Polymer *p, inp_ATOM *at, int nat, int *num_inp_bonds) |
| Smartly reopen cyclized units in the original atom data (open pre-cyclized CRUs appropriately (i.e., make frame shift)) | |
| int | OAD_Polymer_PrepareFoldCRUEdits (ORIG_ATOM_DATA *orig_at_data, char *sinchi_noedits, char *saux_noedits, char *sinchi, char *saux, OAD_StructureEdits *ed) |
| Prepare CRU edits for polymer data structure (prepare CRU fold edits as suggested by the strings with preliminary generated interim (1.05+ flavoured) InChI and AuxInfo) | |
| int | OAD_Polymer_PrepareFrameShiftEdits (ORIG_ATOM_DATA *orig_at_data, char *sinchi, char *saux, OAD_StructureEdits *ed) |
| Prepare frame shift edits for polymer data structure (prepare frame shift edits as suggested by the strings with preliminary generated interim (1.05+ flavoured) InChI and AuxInfo) | |
| 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) |
| Create a new polymer unit. | |
| OAD_PolymerUnit * | OAD_PolymerUnit_CreateCopy (OAD_PolymerUnit *u) |
| Create a copy of a polymer unit. | |
| void | OAD_PolymerUnit_Free (OAD_PolymerUnit *unit) |
| Free a polymer unit. | |
| void | OAD_PolymerUnit_DebugTrace (OAD_PolymerUnit *unit) |
| Debug trace for a polymer unit (print the whole polymer unit) | |
| void | OAD_PolymerUnit_FindEndsAndCaps (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *end1, int *cap1, int *cap1_is_undef, int *end2, int *cap2, int *cap2_is_undef, int *err, char *pStrErr) |
| Find the ends and caps of a polymer unit. | |
| void | OAD_PolymerUnit_SetEndsAndCaps (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *err, char *pStrErr) |
| Set the ends and caps of a polymer unit. | |
| void | OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *err, char *pStrErr) |
| Unlink caps and connect end atoms of a polymer unit. | |
| void | OAD_PolymerUnit_PrepareToFrameShift (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *err, char *pStrErr) |
| Prepare a polymer unit for frame shifting. | |
| int | OAD_CollectReachableAtoms (ORIG_ATOM_DATA *orig_at_data, int start_atom, int nforbidden_bonds, int *forbidden_bonds, int *n_reachable, int *reachable, int *err, char *pStrErr) |
| Find reachable atoms from a given start atom. | |
| 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) |
| Collect backbone atoms from a polymer unit. | |
| 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) |
| Collect backbone bonds from a polymer unit. | |
| void | OAD_PolymerUnit_DelistIntraRingBackboneBonds (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, int *err, char *pStrErr) |
| Collect backbone bonds from a polymer unit and delist intra-ring backbone bonds. | |
| void | OAD_PolymerUnit_DelistHighOrderBackboneBonds (OAD_PolymerUnit *unit, ORIG_ATOM_DATA *orig_at_data, COMP_ATOM_DATA *composite_norm_data, int *err, char *pStrErr) |
| Collect high-order backbone bonds from a polymer unit. | |
| void | OAD_PolymerUnit_SortBackboneBonds (OAD_PolymerUnit *u, OAD_AtProps *aprops, int *bnum) |
| Collect backbone bonds from a polymer unit and sort them. | |
| void | OAD_PolymerUnit_ReopenCyclized (OAD_PolymerUnit *u, inp_ATOM *at, OAD_AtProps *aprops, int nat, int *num_inp_bonds) |
| Collect backbone atoms from a polymer unit. | |
| int | OAD_PolymerUnit_CompareAtomLists (OAD_PolymerUnit *u1, OAD_PolymerUnit *u2) |
| Compare two polymer units based on their atom lists. | |
| int | OAD_PolymerUnit_CompareAtomListsMod (OAD_PolymerUnit *u1, OAD_PolymerUnit *u2) |
| Compare two polymer units based on their atom lists with modifications. | |
| int | OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves (OAD_PolymerUnit *u, int n_stars, int *stars) |
| Order bond atoms and bonds themselves in a polymer unit. | |
| int | OAD_PolymerUnit_HasMetal (OAD_PolymerUnit *u, inp_ATOM *at) |
| Check if a polymer unit has a specific atom (e.g., metal) | |
| int | FixUnkn0DStereoBonds (inp_ATOM *at, int num_at) |
| Fix unknown stereo bonds in the input atoms. | |
| inf_ATOM * | CreateInfAtom (int num_atoms) |
| Create/allocate a Inf Atom structure. | |
| inp_ATOM * | CreateInpAtom (int num_atoms) |
| Create/allocate a Inp Atom structure. | |
| int | CreateInfoAtomData (INF_ATOM_DATA *inf_at_data, int num_atoms, int num_components) |
| Create a Info Atom Data structure. | |
| int | AllocateInfoAtomData (INF_ATOM_DATA *inf_at_data, int num_atoms, int num_components) |
| Allocate memory for Info Atom Data structure. | |
| int | DuplicateInfoAtomData (INF_ATOM_DATA *inf_at_data_to, const INF_ATOM_DATA *inf_at_data_from) |
| Duplicate Info Atom Data structure. | |
| int | CreateInpAtomData (INP_ATOM_DATA *inp_at_data, int num_atoms, int create_at_fixed_bonds) |
| Create a Inp Atom Data structure. | |
| int | CreateCompAtomData (COMP_ATOM_DATA *inp_at_data, int num_atoms, int num_components, int bIntermediateTaut) |
| Create a Comp Atom Data structure. | |
| void | PrintFileName (const char *fmt, FILE *out_file, const char *szFname) |
| Print the file name. | |
| void | MySleep (unsigned long ms) |
| Sleep for a specified amount of time. | |
| int | ReconcileAllCmlBondParities (inp_ATOM *at, int num_atoms, int bDisconnected) |
| Reconcile all CML bond parities in the input atoms. | |
| #define ADD_LEN_STRUCT_FPTRS 100 /* allocation increments */ |
| #define ALLOW_CLOSING_SRU_VIA_DIRADICAL 1 |
| #define ALLOW_CLOSING_SRU_VIA_HIGHER_ORDER_BOND 1 |
| #define ALLOW_MIXED_SRU_AND_MON 1 |
allow simultaneous presence of source-based and structure-based units in embedding copolymer unit
| #define AT_FLAG_ISO_H_POINT 0x01 |
may have isotopic H
| #define ATT_ACIDIC_CO 0x0001 |
| #define ATT_ACIDIC_S 0x0002 |
| #define ATT_ATOM_N 0x0040 |
| #define ATT_ATOM_P 0x0080 |
| #define ATT_HalAcid 0x4000 |
| #define ATT_HalAnion 0x2000 |
| #define ATT_N_O 0x0020 |
| #define ATT_NO 0x0010 |
| #define ATT_NONE 0x0000 |
| #define ATT_NP_MINUS_V23 0x8000 |
=N(-) or =P(-) where = previously was triple
| #define ATT_O_PLUS 0x0800 |
-OH2(+), =OH(+), -OH(+)-, OH3(+), =O(+)-, etc; O=O,S,Se,Te
| #define ATT_OH_MINUS 0x0400 |
OH(-), O=O,S,Se,Te
| #define ATT_OO 0x0004 |
| #define ATT_OTHER_NEG_O 0x0100 |
| #define ATT_OTHER_ZO 0x0200 |
-Z=O or =Z=O
| #define ATT_PROTON 0x1000 |
| #define ATT_ZOO 0x0008 |
| #define bDrawingLabelLeftShift endpoint |
for drawing only
| #define CLOSING_SRU_DIRADICAL 3 |
| #define CLOSING_SRU_HIGHER_ORDER_BOND 2 |
| #define CLOSING_SRU_MOVED_BRACKETS 5 |
| #define CLOSING_SRU_NOT_APPLICABLE 0 |
| #define CLOSING_SRU_RING 1 |
| #define CLOSING_SRU_RING_OPENED 4 |
| #define CLOSING_STARRED_SRU_IS_A_MUST 1 |
| #define FLAG_INP_AT_CHIRAL 1 |
| #define FLAG_INP_AT_NONCHIRAL 2 |
| #define FLAG_SET_INP_AT_CHIRAL 4 |
| #define FLAG_SET_INP_AT_NONCHIRAL 8 |
| #define FLAG_SET_INP_LARGE_MOLS 16 |
| #define FlagSB_0D 2 |
bUsed0DParity
| #define FlagSC_0D 1 |
bUsed0DParity
| #define INF_STEREO 0x0020 |
| #define INF_STEREO_ABS 0x0001 |
| #define INF_STEREO_ABS_REL_RAC (INF_STEREO_ABS | INF_STEREO_REL | INF_STEREO_RAC) |
| #define INF_STEREO_INV 0x0010 |
| #define INF_STEREO_NORM 0x0008 |
| #define INF_STEREO_NORM_INV (INF_STEREO_NORM | INF_STEREO_INV) |
| #define INF_STEREO_RAC 0x0004 |
| #define INF_STEREO_REL 0x0002 |
| #define MAX_LEN_REMOVED_PROTONS 128 |
| #define NO_POLYMER -1 |
| #define NUM_ISO_H | ( | AT, | |
| N | |||
| ) | (AT[N].num_iso_H[0] + AT[N].num_iso_H[1] + AT[N].num_iso_H[2]) |
| #define NUMH | ( | AT, | |
| N | |||
| ) | (AT[N].num_H + NUM_ISO_H(AT, N)) |
| #define PERIODIC_NUMBER_H 1 |
| #define POLYMER_CONN_EU 3 |
| #define POLYMER_CONN_HH 2 |
| #define POLYMER_CONN_HT 1 |
| #define POLYMER_CONN_NON 0 |
| #define POLYMER_REPRESENTATION_MIXED 3 |
| #define POLYMER_REPRESENTATION_SOURCE_BASED 1 |
| #define POLYMER_REPRESENTATION_STRUCTURE_BASED 2 |
| #define POLYMER_REPRESENTATION_UNRECOGNIZED 4 |
| #define POLYMER_SST_ALT 1 |
| #define POLYMER_SST_BLK 3 |
| #define POLYMER_SST_NON 0 |
| #define POLYMER_SST_RAN 2 |
| #define POLYMER_STY_COP 3 |
copolymer unit embedding >1 subunits (may be SRU, MON, MER, CRO, MOD; others not supported yet)
| #define POLYMER_STY_CRO 5 |
copolymer subunit only, designates cross-linked version of SRU
| #define POLYMER_STY_MER 6 |
copolymer subunit only, source-based with no homopolymerize
| #define POLYMER_STY_MOD 4 |
copolymer subunit only, designates chemical modification of SRU
| #define POLYMER_STY_MON 2 |
source-based polymer unit or copolymer subunit
| #define POLYMER_STY_NON 0 |
| #define POLYMER_STY_SRU 1 |
structure-based unit or copolymer subunit
| #define SB_PARITY_1 | ( | X | ) | (X & SB_PARITY_MASK) |
refers to connected structure
| #define SB_PARITY_2 | ( | X | ) | (((X) >> SB_PARITY_SHFT) & SB_PARITY_MASK) |
refers to connected structure
| #define SB_PARITY_FLAG 0x38 |
mask for disconnected metal parity if it is different
| #define SB_PARITY_MASK 0x07 |
| #define SB_PARITY_SHFT 3 |
number of right shift bits to get disconnected metal parity
| typedef struct tagCompositeAtomData COMP_ATOM_DATA |
Structure describing composite atom data for InChI generation.
| at | Array of input atoms |
| num_at | Number of atoms |
| num_removed_H | Number of removed hydrogens |
| num_bonds | Number of bonds |
| num_isotopic | Number of isotopic atoms |
| bExists | Flag indicating if the atom data exists |
| bDeleted | Flag indicating if the atom data is deleted |
| bHasIsotopicLayer | Flag indicating if the atom data has isotopic layer |
| bTautomeric | Flag indicating if the atom data is tautomeric |
| nNumRemovedProtons | Number of removed protons |
| nNumRemovedProtonsIsotopic | Array with number of removed isotopic protons per isotope |
| num_iso_H | Array with number of isotopic hydrogens per isotope |
| nOffsetAtAndH | Array with offsets for atoms and hydrogens |
| num_components | Number of components |
| typedef long INCHI_FPTR |
| typedef struct tagAtomParmsForDrawing inf_ATOM |
Structure describing atom parameters for drawing.
| at_string | Atom string for drawing |
| DrawingLabelLeftShift | Left shift for drawing label |
| DrawingLabelLength | Length of drawing label |
| nCanonNbr | Canonical number; if zero then do not use all data for the atom |
| nCanonEquNbr | Canonical equivalence number |
| nTautGroupCanonNbr | Tautomeric group canonical number |
| nTautGroupEquNbr | Tautomeric group equivalence number |
| cFlags | Additional flags (e.g., AT_FLAG_ISO_H_POINT) |
| nDebugData | Debug data (only if DISPLAY_DEBUG_DATA is defined) |
| cHighlightTheAtom | Flag indicating whether to highlight the atom |
| cStereoCenterParity | Stereo center parity |
| cStereoBondParity | Stereo bond parities |
| cStereoBondWarning | Stereo bond warnings |
| cStereoBondNumber | Stereo bond numbers |
| typedef struct tagInfoAtomData INF_ATOM_DATA |
Structure describing information about atoms for InChI generation.
| at | Array of atoms for InChI generation |
| num_at | Number of atoms |
| StereoFlags | Stereo flags |
| num_components | Number of components |
| pStereoFlags | Pointer to stereo flags per component |
| nNumRemovedProtons | Number of removed protons |
| num_removed_iso_H | Number of removed/exchangeable isotopic hydrogens |
| num_iso_H | Array with number of removed isotopic hydrogens per isotope |
| szRemovedProtons | String with removed protons |
| typedef struct tagInputAtom inp_ATOM |
Structure describing an input atom.
| elname | Name of chemical element |
| el_number | Number of the element in the Periodic Table |
| neighbor | Positions (from 0) of the neighbors in the inp_ATOM array |
| orig_at_number | Original atom number |
| orig_compt_at_numb | Original atom number within the component before terminal H removal |
| bond_stereo | Bond stereo information (1=Up,4=Either,6=Down; this atom is at the pointing wedge, negative => on the opposite side; 3=Either double bond) |
| bond_type | Bond type (1..4; 4="aromatic", should be discouraged on input) |
| valence | Valence (for most chemists, it is coordination number, CN; number of bonds = number of neighbors) |
| chem_bonds_valence | Chemical bonds valence (for most chemists, it is what usually called valence; sum of bond types (type 4 needs special treatment)) |
| num_H | Number of implicit hydrogens, including D and T |
| num_iso_H | Number of implicit 1H, 2H(D), 3H(T) < 16 |
| iso_atw_diff | Isotopic atomic weight difference (=0 => natural isotopic abundances; >0 => (mass) - (mass of the most abundant isotope) + 1; <0 => (mass) - (mass of the most abundant isotope)) |
| charge | Charge |
| radical | Radical type (RADICAL_SINGLET, RADICAL_DOUBLET, or RADICAL_TRIPLET) |
| bAmbiguousStereo | Flag indicating ambiguous stereochemistry |
| cFlags | Additional flags (e.g., AT_FLAG_ISO_H_POINT) |
| at_type | Atom type (ATT_NONE, ATT_ACIDIC, etc.) |
| component | Number of the structure component > 0 |
| endpoint | ID of a tautomeric group |
| c_point | ID of a positive charge group |
| x,y,z | 3D coordinates |
| bUsed0DParity | Bit flags for 0D parities (bit=1 => stereobond; bit=2 => stereocenter) |
| p_parity | 0D tetrahedral parity |
| p_orig_at_num | Original atom numbers of neighbors for tetrahedral stereochemistry |
| sb_ord | Stereo bond/neighbor ordering number, starts from 0 |
| sn_ord | Ord. num. of the neighbor adjacent to the SB; starts from 0; -1 means removed explicit H |
| sb_parity | Stereo bond parities |
| sn_orig_at_num | Original atom numbers of neighbors for stereobonds |
| bCutVertex | Flag indicating if the atom is a cut vertex (part of ring system analysis) |
| nRingSystem | Ring system number (part of ring system analysis) |
| nNumAtInRingSystem | Number of atoms in the ring system (part of ring system analysis) |
| nBlockSystem | Block system number (part of ring system analysis) |
| nDistanceFromTerminal | Distance from terminal atom or ring system (terminal atom or ring system has 1, next has 2, etc.) |
| typedef struct tagInputAtomData INP_ATOM_DATA |
Structure describing input atom data for InChI generation.
| at | Array of input atoms |
| at_fixed_bonds | Array of input atoms with fixed bonds (tautomeric case, added or removed H) |
| num_at | Number of atoms |
| num_removed_H | Number of removed hydrogens |
| num_bonds | Number of bonds |
| num_isotopic | Number of isotopic atoms |
| bExists | Flag indicating if the atom data exists |
| bDeleted | Flag indicating if the atom data is deleted |
| bHasIsotopicLayer | Flag indicating if the atom data has isotopic layer |
| bTautomeric | Flag indicating if the atom data is tautomeric |
| bTautPreprocessed | Flag indicating if the atom data is tautomeric and preprocessed |
| nNumRemovedProtons | Number of removed protons |
| nNumRemovedProtonsIsotopic | Array with number of removed isotopic protons per isotope |
| num_iso_H | Array with number of isotopic hydrogens per isotope |
| bTautFlags | Tautomeric flags |
| bTautFlagsDone | Tautomeric flags done |
| bNormalizationFlags | Normalization flags |
| typedef INP_ATOM_DATA INP_ATOM_DATA2[TAUT_NUM] |
| typedef struct tagNormCanonFlags NORM_CANON_FLAGS |
Structure describing normalization and canonicalization flags.
| bTautFlags | Tautomeric flags |
| bTautFlagsDone | Tautomeric flags done |
| bNormalizationFlags | Normalization flags |
| nCanonFlags | Canonicalization flags |
| typedef struct OAD_AtProps OAD_AtProps |
Structure describing atom properties for OAD.
| erank | Rank of element; 2 - C, >2 - rank of heteroatom in chain, O > S > Se > Te > N ...., Rule 4 |
| ring_erank | 0 - not ring or just carbocycle, >2 - rank of senior heteroatom in this cycle, according to Rule 2 ( N > O >... ) |
| ring_num | Ring number |
| ring_size | 0 or ring system size that is: ring_erank != 0 heterocycle of ring_size ring_erank==0 && ring_size>0 carbocycle of ring_size |
| typedef struct OAD_Polymer OAD_Polymer |
Structure describing a polymer.
| units | array of pointers to units |
| n | number of units |
| n_pzz | number of polymeric Zz atoms |
| pzz | polymeric Zz atoms |
| really_do_frame_shift | flag indicating whether to do frame shift |
| frame_shift_scheme | frame shift analysis scheme |
| treat | treatment flag |
| representation | representation type |
| is_in_reconn | flag indicating whether polymer is in reconnection mode |
| edit_repeats | flag indicating whether repeats need to be edited (-1 unknown, to be checked; 0 no, no edits required; 1 yes, edits are necessary) |
| typedef struct OAD_PolymerUnit OAD_PolymerUnit |
Structure describing a polymer unit.
| id | It is what is called 'Sgroup number' in CTFILE |
| type | Type as by MDL format (STY) |
| subtype | Subtype as by MDL format (SST) |
| conn | Connection scheme as by MDL format (SCN) |
| label | It is what is called 'unique Sgroup identifier' CTFILE |
| na | Number of atoms in the unit |
| nb | Number of bonds in the unit |
| cyclizable | =1 if frame shift via CRU 'cyclization' is applicable |
| cyclized | =1 if CRU already was frame_shift' treated |
| xbr1 | Bracket ends coordinates (SDI) |
| xbr2 | Bracket ends coordinates (SDI) |
| smt | Sgroup Subscript (SMT) |
| representation | |
| cap1 | Cap atom 1 |
| end_atom1 | End atom 1 |
| end_atom2 | End atom 2 |
| cap2 | Cap atom 2 |
| cap1_is_undef | =1 if cap1 is undefined (star) |
| cap2_is_undef | =1 if cap2 is undefined (star) |
| alist | List of atoms in the unit (SAL) |
| blist | Bonds in the unit as list [atom1, atom2; atom1, atom2,..] for crossing bonds (S) |
| maxbkbonds | Max (allocd) number of frame_shift involved bonds |
| nbkbonds | Number of bkbonds in CRU main chain bkbonds are [breakable at possible frame shift] backbone bonds in between "left" end_atom1 and "right" end_atom2 ends (they may be only single-order non-intraring bonds) |
| bkbonds | List of [breakable] backbone bonds [(a1,a2), (a3,a4),...] |
| typedef struct tagOAD_StructureEdits OAD_StructureEdits |
Structure describing structure edits.
| del_atom | Array of deleted atom indices |
| del_bond | Array of deleted bond indices |
| new_bond | Array of new bond indices |
| mod_bond | Array of modified bond indices |
| mod_coord | Array of modified coordinate indices |
| del_side_chains | Flag indicating whether to delete side chains |
Structure describing v. 1.05 extended input supporting V3000; polymers.
| n_non_star_atoms | Number of non-star atoms |
| n_star_atoms | Number of star atoms |
| atom_index_orig | index as supplied for atoms |
| atom_index_fin | = index or -1 for star atom |
| n_sgroups | currently, we do not use this. |
| n_3d_constraints | currently, we do not use this. |
| n_collections | number of collections |
| n_non_haptic_bonds | number of non-haptic bonds |
| n_haptic_bonds | number of haptic bonds |
| lists_haptic_bonds | haptic_bonds[i] is pointer to int* which contains: bond_type, non-star atom number, nendpts, then endpts themselves |
| n_steabs | number of enhanced stereo absolute configurations |
| lists_steabs | steabs[k][0] - not used steabs[k][1] - number of members in collection steabs[k][2..] - member atom numbers |
| n_sterel | number of enhanced stereo relative configurations |
| lists_sterel | sterel[k][0] - n from "STERELn" tag sterel[k][1] - number of members in collection sterel[k][2..] - member atom numbers |
| n_sterac | number of enhanced stereo racemic configurations |
| lists_sterac | sterac[k][0] - n from "STERACn" tag sterac[k][1] - number of members in collection |
| typedef struct tagOrigAtom ORIG_ATOM_DATA |
Structure describing original atom data.
| at | Array of input atoms |
| num_dimensions | Number of dimensions (2D or 3D) |
| num_inp_bonds | Number of input bonds |
| num_inp_atoms | Number of input atoms |
| num_components | Number of components in the structure |
| bDisconnectSalts | Flag indicating whether salt disconnection is possible |
| bDisconnectCoord | Flag indicating whether coordinate disconnection is needed |
| nCurAtLen | Array with current atom counts per component |
| nOldCompNumber | Array with old component numbers |
| nNumEquSets | Number of found component equivalence sets |
| nEquLabels | Array with equivalence labels for atoms |
| nSortedOrder | Array with sorted order of components |
| bSavedInINCHI_LIB | Array indicating if saved in InChI library |
| bPreprocessed | Array indicating if preprocessed |
| szCoord | Array of molecular coordinates |
| polymer | Pointer to polymer data structure |
| v3000 | Pointer to V3000 data structure |
| valid_polymer | Flag indicating if polymer data is valid |
| n_zy | Number of non-polymeric pseudoatoms (Zy) |
| typedef struct tagOriginalStruct ORIG_STRUCT |
Structure describing the original structure.
| num_atoms | Number of atoms |
| szAtoms | String representation of atoms |
| szBonds | String representation of bonds |
| szCoord | String representation of coordinates |
| polymer | Pointer to polymer data structure (uses pointer copy from orig_inp_data, do not free after use!) |
| v3000 | Pointer to V3000 data structure (uses pointer copy from orig_inp_data, do not free after use!) |
| n_zy | Number of non-polymeric pseudoatoms (Zy) |
| typedef S_SHORT ST_CAP_FLOW |
| typedef struct tagStructFptrs STRUCT_FPTRS |
Structure describing file pointers for structures.
| fptr | Array of file pointers to structures (input: fptr[cur_fptr] =file ptr to the struct to read; output: fptr[cur_fptr+1]=file ptr to the next struct or EOF) |
| len_fptr | Allocated length of fptr |
| cur_fptr | Current file pointer index (input: k-1 to read the kth struct, k = 1, 2, 3,...; left unchanged; struct number := cur_fptr+1) |
| max_fptr | Length of the filled out portion of fptr |
| int AllocateInfoAtomData | ( | INF_ATOM_DATA * | inf_at_data, |
| int | num_atoms, | ||
| int | num_components | ||
| ) |
Allocate memory for Info Atom Data structure.
| inf_at_data | Pointer to the Info Atom Data structure |
| num_atoms | Number of atoms |
| num_components | Number of components |
| int bFoundFeature | ( | inp_ATOM * | at, |
| int | num_atoms | ||
| ) |
Check if a feature is found in the input atoms ???
| at | Array of input atoms |
| num_atoms | Number of input atoms |
Here is the caller graph for this function:| int bHasMetalAtom | ( | ORIG_ATOM_DATA * | orig_inp_data | ) |
Check if there is a metal atom in the original atom data.
| orig_inp_data | Pointer to original atom data structure |
Here is the caller graph for this function:| int bInchiTimeIsOver | ( | struct tagINCHI_CLOCK * | ic, |
| struct tagInchiTime * | TickEnd | ||
| ) |
Here is the call graph for this function:
Here is the caller graph for this function:| int bMayDisconnectMetals | ( | ORIG_ATOM_DATA * | orig_inp_data, |
| int | bCheckMetalValence, | ||
| INCHI_MODE * | bTautFlagsDone | ||
| ) |
Check if metals may be disconnected in the original atom data.
| orig_inp_data | Pointer to original atom data structure |
| bCheckMetalValence | Flag indicating whether to check metal valence |
| bTautFlagsDone | Pointer to tautomeric flags done |
Here is the call graph for this function:
Here is the caller graph for this function:| int CreateCompAtomData | ( | COMP_ATOM_DATA * | inp_at_data, |
| int | num_atoms, | ||
| int | num_components, | ||
| int | bIntermediateTaut | ||
| ) |
Create a Comp Atom Data structure.
| inp_at_data | Pointer to the Comp Atom Data structure |
| num_atoms | Number of atoms |
| num_components | Number of components |
| bIntermediateTaut | Flag for intermediate tautomer |
Here is the call graph for this function:
Here is the caller graph for this function:| inf_ATOM * CreateInfAtom | ( | int | num_atoms | ) |
Create/allocate a Inf Atom structure.
| num_atoms | Number of atoms |
| int CreateInfoAtomData | ( | INF_ATOM_DATA * | inf_at_data, |
| int | num_atoms, | ||
| int | num_components | ||
| ) |
Create a Info Atom Data structure.
| inf_at_data | Pointer to the Info Atom Data structure |
| num_atoms | Number of atoms |
| num_components | Number of components |
| inp_ATOM * CreateInpAtom | ( | int | num_atoms | ) |
Create/allocate a Inp Atom structure.
| num_atoms | Number of atoms |
Here is the caller graph for this function:| int CreateInpAtomData | ( | INP_ATOM_DATA * | inp_at_data, |
| int | num_atoms, | ||
| int | create_at_fixed_bonds | ||
| ) |
Create a Inp Atom Data structure.
| inp_at_data | Pointer to the Inp Atom Data structure |
| num_atoms | Number of atoms |
| create_at_fixed_bonds | Flag to create fixed bonds |
Here is the call graph for this function:
Here is the caller graph for this function:| int CreateOrigInpDataFromMolfile | ( | INCHI_IOSTREAM * | inp_file, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int | bMergeAllInputStructures, | ||
| int | bGetOrigCoord, | ||
| int | bDoNotAddH, | ||
| int | treat_polymers, | ||
| int | treat_NPZz, | ||
| const char * | pSdfLabel, | ||
| char * | pSdfValue, | ||
| unsigned long * | lSdfId, | ||
| long * | lMolfileNumber, | ||
| INCHI_MODE * | pInpAtomFlags, | ||
| int * | err, | ||
| char * | pStrErr, | ||
| int | bNoWarnings | ||
| ) |
Create original input data from molfile.
| inp_file | Input file stream |
| orig_at_data | Pointer to original atom data structure to be filled |
| bMergeAllInputStructures | Flag indicating whether to merge all input structures |
| bGetOrigCoord | Flag indicating whether to get original coordinates |
| bDoNotAddH | Flag indicating whether to avoid adding hydrogens |
| treat_polymers | Flag indicating how to treat polymers |
| treat_NPZz | Flag indicating how to treat non-polymeric Zz atoms |
| pSdfLabel | Pointer to SDF label |
| pSdfValue | Pointer to SDF value |
| lSdfId | Pointer to SDF ID |
| lMolfileNumber | Pointer to molfile number |
| pInpAtomFlags | Pointer to input atom flags |
| err | Pointer to error code |
| pStrErr | Pointer to error string |
| bNoWarnings | Flag indicating whether to suppress warnings |
Here is the call graph for this function:
Here is the caller graph for this function:| int DisconnectMetals | ( | ORIG_ATOM_DATA * | orig_inp_data, |
| int | bCheckMetalValence, | ||
| INCHI_MODE * | bTautFlagsDone | ||
| ) |
Disconnect metals in the original atom data.
| orig_inp_data | Pointer to original atom data structure |
| bCheckMetalValence | Flag indicating whether to check metal valence |
| bTautFlagsDone | Pointer to tautomeric flags done |
Here is the call graph for this function:
Here is the caller graph for this function:| int DisconnectSalts | ( | ORIG_ATOM_DATA * | orig_inp_data, |
| int | bDisconnect | ||
| ) |
Disconnect salts in the original atom data.
| orig_inp_data | Pointer to original atom data structure |
| bDisconnect | Flag indicating whether to disconnect salts |
Here is the call graph for this function:
Here is the caller graph for this function:| int DuplicateInfoAtomData | ( | INF_ATOM_DATA * | inf_at_data_to, |
| const INF_ATOM_DATA * | inf_at_data_from | ||
| ) |
Duplicate Info Atom Data structure.
| inf_at_data_to | Pointer to the destination Info Atom Data structure |
| inf_at_data_from | Pointer to the source Info Atom Data structure |
| int fix_odd_things | ( | int | num_atoms, |
| inp_ATOM * | at, | ||
| int | bFixBug, | ||
| int | bFixNonUniformDraw | ||
| ) |
Fix odd things in the input atoms.
| num_atoms | Number of input atoms |
| at | Array of input atoms |
| bFixBug | Flag indicating whether to fix bugs |
| bFixNonUniformDraw | Flag indicating whether to fix non-uniform drawing |
Here is the call graph for this function:
Here is the caller graph for this function:| int FixAdjacentRadicals | ( | int | num_inp_atoms, |
| inp_ATOM * | at | ||
| ) |
Fix adjacent radicals in the input atoms.
| num_inp_atoms | Number of input atoms |
| at | Array of input atoms |
Here is the caller graph for this function:| int FixUnkn0DStereoBonds | ( | inp_ATOM * | at, |
| int | num_at | ||
| ) |
Fix unknown stereo bonds in the input atoms.
| at | Pointer to the atom data |
| num_at | Pointer to the number of atoms |
Here is the caller graph for this function:| void FreeCompAtomData | ( | COMP_ATOM_DATA * | inp_at_data | ) |
Free composite atom data.
| inp_at_data | Pointer to composite atom data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| void FreeExtOrigAtData | ( | OAD_Polymer * | pd, |
| OAD_V3000 * | v3k | ||
| ) |
Free extended original atom data (polymers and V3000)
| pd | Pointer to polymer data structure |
| v3k | Pointer to V3000 data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| void FreeInfAtom | ( | inf_ATOM ** | at | ) |
Free information atom array (same as FreeInpAtom)
| at | Pointer to information atom array |
| void FreeInfoAtomData | ( | INF_ATOM_DATA * | inf_at_data | ) |
Free information atom data.
| inf_at_data | Pointer to information atom data structure |
| void FreeInpAtom | ( | inp_ATOM ** | at | ) |
Free input atom array.
| at | Pointer to input atom array |
Here is the caller graph for this function:| void FreeInpAtomData | ( | INP_ATOM_DATA * | inp_at_data | ) |
Free input atom data.
| inp_at_data | Pointer to input atom data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| void FreeOrigAtData | ( | ORIG_ATOM_DATA * | orig_at_data | ) |
Free original atom data.
| orig_at_data | Pointer to original atom data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int InchiToOrigAtom | ( | INCHI_IOSTREAM * | infile, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int | bMergeAllInputStructures, | ||
| int | bGetOrigCoord, | ||
| int | bDoNotAddH, | ||
| int | vABParityUnknown, | ||
| INPUT_TYPE | nInputType, | ||
| char * | pSdfLabel, | ||
| char * | pSdfValue, | ||
| unsigned long * | lSdfId, | ||
| INCHI_MODE * | pInpAtomFlags, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Convert InChI representation to original atom data.
| infile | Input file stream |
| orig_at_data | Pointer to original atom data structure to be filled |
| bMergeAllInputStructures | Flag indicating whether to merge all input structures |
| bGetOrigCoord | Flag indicating whether to get original coordinates |
| bDoNotAddH | Flag indicating whether to avoid adding hydrogens |
| vABParityUnknown | Flag indicating whether to treat vAB parity as unknown |
| nInputType | Input type |
| pSdfLabel | Pointer to SDF label |
| pSdfValue | Pointer to SDF value |
| lSdfId | Pointer to SDF ID |
| pInpAtomFlags | Pointer to input atom flags |
| err | Pointer to error code |
| pStrErr | Pointer to error string |
Here is the call graph for this function:
Here is the caller graph for this function:| int MarkDisconnectedComponents | ( | ORIG_ATOM_DATA * | orig_at_data, |
| int | bProcessOldCompNumbers | ||
| ) |
Mark disconnected components in the original atom data.
| orig_at_data | Pointer to original atom data structure |
| bProcessOldCompNumbers | Flag indicating whether to process old component numbers |
Here is the call graph for this function:
Here is the caller graph for this function:| void MySleep | ( | unsigned long | ms | ) |
Sleep for a specified amount of time.
| ms | Milliseconds to sleep |
| 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 | ||
| ) |
Collect backbone atoms from a polymer unit.
| at_data | Pointer to the original atom data |
| na | The number of atoms |
| alist | Array of atom indices |
| end_atom1 | The first end atom |
| end_atom2 | The second end atom |
| nbkatoms | Pointer to the number of backbone atoms |
| bkatoms | Pointer to the array of backbone atoms |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:| 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 | ||
| ) |
Collect backbone bonds from a polymer unit.
| at_data | Pointer to the original atom data |
| na | The number of atoms |
| alist | Array of atom indices |
| end_atom1 | The first end atom |
| end_atom2 | The second end atom |
| nbkbonds | Pointer to the number of backbone bonds |
| bkbonds | Pointer to the array of backbone bonds |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_CollectReachableAtoms | ( | ORIG_ATOM_DATA * | orig_at_data, |
| int | start_atom, | ||
| int | nforbidden_bonds, | ||
| int * | forbidden_bonds, | ||
| int * | n_reachable, | ||
| int * | reachable, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Find reachable atoms from a given start atom.
| orig_at_data | Pointer to the original atom data |
| start_atom | The starting atom |
| nforbidden_bonds | The number of forbidden bonds |
| forbidden_bonds | Array of forbidden bonds |
| n_reachable | Pointer to the number of reachable atoms |
| reachable | Pointer to the array of reachable atoms |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Edit_MergeComponentsAndRecreateOAD | ( | ORIG_ATOM_DATA * | orig_OrigAtomData, |
| INP_ATOM_DATA * | curr_InpAtomData, | ||
| int | num_components, | ||
| int * | errcode | ||
| ) |
Merge components and recreate original atom data.
| orig_OrigAtomData | Pointer to original atom data structure |
| curr_InpAtomData | Pointer to current input atom data structure |
| num_components | Number of components |
| errcode | Pointer to error code |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Edit_Underivatize | ( | struct tagINCHI_CLOCK * | ic, |
| struct tagCANON_GLOBALS * | pCG, | ||
| ORIG_ATOM_DATA * | orig_inp_data, | ||
| int | bOutputSdf, | ||
| int | bOutputReport, | ||
| char * | pSdfValue | ||
| ) |
Underivatize the original atom data (main underivatization procedure)
| ic | Pointer to INCHI_CLOCK structure |
| pCG | Pointer to CANON_GLOBALS structure |
| orig_inp_data | Pointer to original atom data structure |
| bOutputSdf | Flag indicating whether to output SDF |
| bOutputReport | Flag indicating whether to output report |
| pSdfValue | Pointer to SDF value |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_CompareBackboneBondsSeniority | ( | int * | b1, |
| int * | b2, | ||
| OAD_AtProps * | aprops | ||
| ) |
Compare backbone bonds seniority (for sorting SRU cyclizing bonds (PS=='frame-shift') in descending order)
| b1 | Pointer to first backbone bond |
| b2 | Pointer to second backbone bond |
| aprops | Pointer to atom properties structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_CompareRanksOfTwoAtoms | ( | int | atom1, |
| int | atom2, | ||
| OAD_AtProps * | aprops | ||
| ) |
Compare ranks of two atoms (compare seniority of two atoms in polymer SRU)
| atom1 | Index of the first atom |
| atom2 | Index of the second atom |
| aprops | Pointer to atom properties structure |
Here is the caller graph for this function:| int OAD_Polymer_CyclizeCloseableUnits | ( | ORIG_ATOM_DATA * | orig_at_data, |
| int | use_zz, | ||
| char * | pStrErr, | ||
| int | bNoWarnings | ||
| ) |
Cyclize closeable units in the original atom data.
| orig_at_data | Pointer to original atom data structure |
| use_zz | Flag indicating whether to use Zz atoms |
| pStrErr | Pointer to error string |
| bNoWarnings | Flag indicating whether to suppress warnings |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Polymer_DebugTrace | ( | OAD_Polymer * | p | ) |
Debug trace for polymer data structure (print the whole polymer data)
| p | Pointer to polymer data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Polymer_FindBackbones | ( | ORIG_ATOM_DATA * | where_to_look, |
| COMP_ATOM_DATA * | composite_norm_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Find backbones in the original atom data.
| where_to_look | Pointer to original atom data structure |
| composite_norm_data | Pointer to composite atom data structure |
| err | Pointer to error code |
| pStrErr | Pointer to error string |
Here is the call graph for this function:
Here is the caller graph for this function:| 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 | ||
| ) |
Find ring systems in the polymer data.
| pd | Pointer to polymer data structure |
| at | Array of input atoms |
| nat | Number of input atoms |
| num_inp_bonds | Pointer to number of input bonds |
| num_ring_sys | Pointer to number of ring systems found |
| size_ring_sys | Pointer to size of ring systems found |
| start | Starting atom index |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Polymer_Free | ( | OAD_Polymer * | p | ) |
Free polymer data structure.
| p | Pointer to polymer data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_GetRepresentation | ( | OAD_Polymer * | p | ) |
Get polymer representation type.
| p | Pointer to polymer data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_IsFirstAtomRankLower | ( | int | atom1, |
| int | atom2, | ||
| OAD_AtProps * | aprops | ||
| ) |
Check if the first atom has a lower rank than the second atom (check seniority of two atoms in polymer SRU)
| atom1 | Index of the first atom |
| atom2 | Index of the second atom |
| aprops | Pointer to atom properties structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_PrepareFoldCRUEdits | ( | ORIG_ATOM_DATA * | orig_at_data, |
| char * | sinchi_noedits, | ||
| char * | saux_noedits, | ||
| char * | sinchi, | ||
| char * | saux, | ||
| OAD_StructureEdits * | ed | ||
| ) |
Prepare CRU edits for polymer data structure (prepare CRU fold edits as suggested by the strings with preliminary generated interim (1.05+ flavoured) InChI and AuxInfo)
| orig_at_data | Pointer to original atom data structure |
| sinchi_noedits | Pointer to InChI string without edits |
| saux_noedits | Pointer to auxiliary InChI string without edits |
| sinchi | Pointer to InChI string with edits |
| saux | Pointer to auxiliary InChI string with edits |
| ed | Pointer to structure edits to be filled |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_PrepareFrameShiftEdits | ( | ORIG_ATOM_DATA * | orig_at_data, |
| char * | sinchi, | ||
| char * | saux, | ||
| OAD_StructureEdits * | ed | ||
| ) |
Prepare frame shift edits for polymer data structure (prepare frame shift edits as suggested by the strings with preliminary generated interim (1.05+ flavoured) InChI and AuxInfo)
| orig_at_data | Pointer to original atom data structure |
| sinchi | Pointer to InChI string with edits |
| saux | Pointer to auxiliary InChI string with edits |
| ed | Pointer to structure edits to be filled |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_Polymer_PrepareWorkingSet | ( | OAD_Polymer * | p, |
| int * | cano_nums, | ||
| int * | compnt_nums, | ||
| OAD_PolymerUnit ** | units2, | ||
| int * | unum | ||
| ) |
Prepare working set for polymer processing (replace original atom numbers in polymer data with (canonical num + 1))
| p | Pointer to polymer data structure |
| cano_nums | Pointer to canonical numbers array |
| compnt_nums | Pointer to component numbers array |
| units2 | Pointer to array of polymer units (a copy of original polymer units with updated atom numbers) |
| unum | Pointer to number of polymer units |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Polymer_SetAtProps | ( | OAD_Polymer * | pd, |
| inp_ATOM * | at, | ||
| int | nat, | ||
| int * | num_inp_bonds, | ||
| OAD_AtProps * | aprops, | ||
| int * | cano_nums | ||
| ) |
Set atom properties for the polymer data.
| pd | Pointer to polymer data structure |
| at | Array of input atoms |
| nat | Number of input atoms |
| num_inp_bonds | Pointer to number of input bonds |
| aprops | Pointer to atom properties structure |
| cano_nums | Pointer to canonical numbers array |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_Polymer_SmartReopenCyclizedUnits | ( | OAD_Polymer * | p, |
| inp_ATOM * | at, | ||
| int | nat, | ||
| int * | num_inp_bonds | ||
| ) |
Smartly reopen cyclized units in the original atom data (open pre-cyclized CRUs appropriately (i.e., make frame shift))
| p | Pointer to polymer data structure |
| at | Pointer to input atom data |
| nat | Number of input atoms |
| num_inp_bonds | Pointer to number of input bonds |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_PolymerUnit_CompareAtomLists | ( | OAD_PolymerUnit * | u1, |
| OAD_PolymerUnit * | u2 | ||
| ) |
Compare two polymer units based on their atom lists.
| u1 | Pointer to the first polymer unit |
| u2 | Pointer to the second polymer unit |
| int OAD_PolymerUnit_CompareAtomListsMod | ( | OAD_PolymerUnit * | u1, |
| OAD_PolymerUnit * | u2 | ||
| ) |
Compare two polymer units based on their atom lists with modifications.
| u1 | Pointer to the first polymer unit |
| u2 | Pointer to the second polymer unit |
Here is the caller graph for this function:| OAD_PolymerUnit * OAD_PolymerUnit_CreateCopy | ( | OAD_PolymerUnit * | u | ) |
Create a copy of a polymer unit.
| u | Pointer to the original polymer unit |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_DebugTrace | ( | OAD_PolymerUnit * | unit | ) |
Debug trace for a polymer unit (print the whole polymer unit)
| unit | Pointer to the polymer unit |
Here is the caller graph for this function:| void OAD_PolymerUnit_DelistHighOrderBackboneBonds | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| COMP_ATOM_DATA * | composite_norm_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Collect high-order backbone bonds from a polymer unit.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| composite_norm_data | Pointer to the composite atom data |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_DelistIntraRingBackboneBonds | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Collect backbone bonds from a polymer unit and delist intra-ring backbone bonds.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_FindEndsAndCaps | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int * | end1, | ||
| int * | cap1, | ||
| int * | cap1_is_undef, | ||
| int * | end2, | ||
| int * | cap2, | ||
| int * | cap2_is_undef, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Find the ends and caps of a polymer unit.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| end1 | Pointer to the first end atom |
| cap1 | Pointer to the first cap atom |
| cap1_is_undef | Pointer to the first cap atom's undefined status |
| end2 | Pointer to the second end atom |
| cap2 | Pointer to the second cap atom |
| cap2_is_undef | Pointer to the second cap atom's undefined status |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_Free | ( | OAD_PolymerUnit * | unit | ) |
Free a polymer unit.
| unit | Pointer to the polymer unit to free |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_PolymerUnit_HasMetal | ( | OAD_PolymerUnit * | u, |
| inp_ATOM * | at | ||
| ) |
Check if a polymer unit has a specific atom (e.g., metal)
| u | Pointer to the polymer unit |
| at | Pointer to the atom data |
Here is the call graph for this function:
Here is the caller graph for this function:| 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 | ||
| ) |
Create a new polymer unit.
| maxatoms | Maximum number of atoms |
| maxbonds | Maximum number of bonds |
| id | Unique identifier for the polymer unit |
| label | Label for the polymer unit |
| type | Type of the polymer unit |
| subtype | Subtype of the polymer unit |
| conn | Connection type |
| smt | SMARTS pattern? |
| na | Number of atoms |
| alist | Pointer to the atom list |
| nb | Number of bonds |
| blist | Pointer to the bond list |
| nbkbonds | Number of backbone bonds |
| bkbonds | Pointer to the backbone bond list |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves | ( | OAD_PolymerUnit * | u, |
| int | n_stars, | ||
| int * | stars | ||
| ) |
Order bond atoms and bonds themselves in a polymer unit.
| u | Pointer to the polymer unit |
| n_stars | Pointer to the number of stars |
| stars | Pointer to the array of star atoms |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_PrepareToFrameShift | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Prepare a polymer unit for frame shifting.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
| void OAD_PolymerUnit_ReopenCyclized | ( | OAD_PolymerUnit * | u, |
| inp_ATOM * | at, | ||
| OAD_AtProps * | aprops, | ||
| int | nat, | ||
| int * | num_inp_bonds | ||
| ) |
Collect backbone atoms from a polymer unit.
| u | Pointer to the polymer unit |
| at | Pointer to the atom data |
| aprops | Pointer to the atom properties |
| nat | Pointer to the number of atoms |
| num_inp_bonds | Pointer to the number of input bonds |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_SetEndsAndCaps | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Set the ends and caps of a polymer unit.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_PolymerUnit_SetReopeningDetails | ( | OAD_PolymerUnit * | u, |
| inp_ATOM * | at | ||
| ) |
Set reopening details for a polymer unit.
| u | Pointer to polymer unit |
| at | Array of input atoms |
Here is the caller graph for this function:| void OAD_PolymerUnit_SortBackboneBonds | ( | OAD_PolymerUnit * | u, |
| OAD_AtProps * | aprops, | ||
| int * | bnum | ||
| ) |
Collect backbone bonds from a polymer unit and sort them.
| u | Pointer to the polymer unit |
| aprops | Pointer to the atom properties |
| bnum | Pointer to the number of backbone bonds |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_SortBackboneBondsAndSetSeniors | ( | OAD_PolymerUnit * | u, |
| inp_ATOM * | at, | ||
| OAD_AtProps * | aprops, | ||
| int * | senior_bond | ||
| ) |
Sort backbone bonds and set seniors for a polymer unit.
| u | Pointer to polymer unit |
| at | Array of input atoms |
| aprops | Pointer to atom properties structure |
| senior_bond | Pointer to array to store senior bond indices |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_PolymerUnit_UnlinkCapsAndConnectEndAtoms | ( | OAD_PolymerUnit * | unit, |
| ORIG_ATOM_DATA * | orig_at_data, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Unlink caps and connect end atoms of a polymer unit.
| unit | Pointer to the polymer unit |
| orig_at_data | Pointer to the original atom data |
| err | Pointer to the error status |
| pStrErr | Pointer to the error string |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_StructureEdits_Clear | ( | OAD_StructureEdits * | ed | ) |
Clear structure edits.
| ed | Pointer to structure edits |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_StructureEdits_DebugPrint | ( | OAD_StructureEdits * | ed | ) |
Debug print structure edits.
| ed | Pointer to structure edits |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_StructureEdits_Init | ( | OAD_StructureEdits * | ed | ) |
Initialize structure edits.
| ed | Pointer to structure edits |
Here is the call graph for this function:
Here is the caller graph for this function:| void OAD_ValidateAndSortOutPseudoElementAtoms | ( | ORIG_ATOM_DATA * | orig_at_data, |
| int | treat_polymers, | ||
| int | use_zz, | ||
| int * | err, | ||
| char * | pStrErr | ||
| ) |
Validate and sort out pseudo-element atoms in the original atom data.
| orig_at_data | Pointer to original atom data structure |
| treat_polymers | Flag indicating how to treat polymers (POLYMER_NO, POLYMER_MODERN, POLYMER_LEGACY, POLYMER_LEGACY_PLUS) |
| use_zz | Flag indicating whether to use Zz atoms |
| err | Pointer to error code |
| pStrErr | Pointer to error string |
Here is the call graph for this function:
Here is the caller graph for this function:| int OAD_ValidatePolymerAndPseudoElementData | ( | ORIG_ATOM_DATA * | orig_at_data, |
| int | treat_polymers, | ||
| int | bNPZz, | ||
| char * | pStrErr, | ||
| int | bNoWarnings | ||
| ) |
Validate polymer and pseudo-element data in the original atom data.
| orig_at_data | Pointer to original atom data structure |
| treat_polymers | Flag indicating how to treat polymers |
| bNPZz | Flag indicating whether to treat non-polymeric Zz atoms |
| pStrErr | Pointer to error string |
| bNoWarnings | Flag indicating whether to suppress warnings |
Here is the call graph for this function:
Here is the caller graph for this function:| int OrigAtData_WriteToSDfile | ( | const ORIG_ATOM_DATA * | inp_at_data, |
| INCHI_IOSTREAM * | fcb, | ||
| const char * | name, | ||
| const char * | comment, | ||
| int | bChiralFlag, | ||
| int | bAtomsDT, | ||
| const char * | szLabel, | ||
| const char * | szValue | ||
| ) |
Write original atom data to SD file.
| inp_at_data | Pointer to original atom data structure |
| fcb | File stream to write to |
| name | Name of the structure |
| comment | Comment to include |
| bChiralFlag | Flag indicating for chiral information |
| bAtomsDT | Flag indicating how H isotopes (D/T) are represented in the SD output |
| szLabel | SDF label |
| szValue | SDF value |
Here is the call graph for this function:
Here is the caller graph for this function:| int post_fix_odd_things | ( | int | num_atoms, |
| inp_ATOM * | at | ||
| ) |
Post-fix odd things in the input atoms (does nothing, returns 0)
| num_atoms | Number of input atoms |
| at | Array of input atoms |
Here is the caller graph for this function:| void PrintFileName | ( | const char * | fmt, |
| FILE * | out_file, | ||
| const char * | szFname | ||
| ) |
Print the file name.
| fmt | Format string |
| out_file | Output file pointer |
| szFname | File name string |
Here is the call graph for this function:
Here is the caller graph for this function:| int ReconcileAllCmlBondParities | ( | inp_ATOM * | at, |
| int | num_atoms, | ||
| int | bDisconnected | ||
| ) |
Reconcile all CML bond parities in the input atoms.
| at | Pointer to the atom data |
| num_atoms | Number of atoms |
| bDisconnected | Flag for disconnected atoms |
Here is the call graph for this function:
Here is the caller graph for this function:| int remove_ion_pairs | ( | int | num_atoms, |
| inp_ATOM * | at | ||
| ) |
Remove ion pairs from the input atoms.
| num_atoms | Number of input atoms |
| at | Array of input atoms |
Here is the call graph for this function:
Here is the caller graph for this function:| int Ring2Chain | ( | struct tagINCHI_CLOCK * | ic, |
| struct tagCANON_GLOBALS * | pCG, | ||
| ORIG_ATOM_DATA * | orig_inp_data | ||
| ) |
Convert rings to chains in the original atom data.
| ic | Pointer to INCHI_CLOCK structure |
| pCG | Pointer to CANON_GLOBALS structure |
| orig_inp_data | Pointer to original atom data structure |
Here is the call graph for this function:
Here is the caller graph for this function:| int UnMarkRingSystemsInp | ( | inp_ATOM * | at, |
| int | num_atoms | ||
| ) |
Unmark ring systems in the input atoms.
| at | Array of input atoms |
| num_atoms | Number of input atoms |
Here is the caller graph for this function: