15#define CLOSING_STARRED_SRU_IS_A_MUST 1
16#define ALLOW_CLOSING_SRU_VIA_HIGHER_ORDER_BOND 1
17#define ALLOW_CLOSING_SRU_VIA_DIRADICAL 1
19#define CLOSING_SRU_NOT_APPLICABLE 0
20#define CLOSING_SRU_RING 1
21#define CLOSING_SRU_HIGHER_ORDER_BOND 2
22#define CLOSING_SRU_DIRADICAL 3
23#define CLOSING_SRU_RING_OPENED 4
24#define CLOSING_SRU_MOVED_BRACKETS 5
26#define bDrawingLabelLeftShift endpoint
30#define ATT_NONE 0x0000
31#define ATT_ACIDIC_CO 0x0001
32#define ATT_ACIDIC_S 0x0002
37#define ATT_ATOM_N 0x0040
38#define ATT_ATOM_P 0x0080
39#define ATT_OTHER_NEG_O 0x0100
40#define ATT_OTHER_ZO 0x0200
41#define ATT_OH_MINUS 0x0400
42#define ATT_O_PLUS 0x0800
43#define ATT_PROTON 0x1000
44#define ATT_HalAnion 0x2000
45#define ATT_HalAcid 0x4000
46#if (FIX_NP_MINUS_BUG == 1)
47#define ATT_NP_MINUS_V23 0x8000
50#define AT_FLAG_ISO_H_POINT 0x01
52#define PERIODIC_NUMBER_H 1
55#define NUM_ISO_H(AT, N) (AT[N].num_iso_H[0] + AT[N].num_iso_H[1] + AT[N].num_iso_H[2])
56#define NUMH(AT, N) (AT[N].num_H + NUM_ISO_H(AT, N))
62#define SB_PARITY_FLAG 0x38
63#define SB_PARITY_SHFT 3
64#define SB_PARITY_MASK 0x07
65#define SB_PARITY_1(X) (X & SB_PARITY_MASK)
66#define SB_PARITY_2(X) (((X) >> SB_PARITY_SHFT) & SB_PARITY_MASK)
152#if (FIND_RING_SYSTEMS == 1)
158#if (FIND_RINS_SYSTEMS_DISTANCES == 1)
172#define POLYMER_REPRESENTATION_SOURCE_BASED 1
173#define POLYMER_REPRESENTATION_STRUCTURE_BASED 2
174#define POLYMER_REPRESENTATION_MIXED 3
175#define POLYMER_REPRESENTATION_UNRECOGNIZED 4
177#define ALLOW_MIXED_SRU_AND_MON 1
179#define POLYMER_STY_NON 0
180#define POLYMER_STY_SRU 1
181#define POLYMER_STY_MON 2
182#define POLYMER_STY_COP 3
183#define POLYMER_STY_MOD 4
184#define POLYMER_STY_CRO 5
185#define POLYMER_STY_MER 6
187#define POLYMER_SST_NON 0
188#define POLYMER_SST_ALT 1
189#define POLYMER_SST_RAN 2
190#define POLYMER_SST_BLK 3
192#define POLYMER_CONN_NON 0
193#define POLYMER_CONN_HT 1
194#define POLYMER_CONN_HH 2
195#define POLYMER_CONN_EU 3
410#if (bRELEASE_VERSION == 0)
483#ifdef DISPLAY_DEBUG_DATA
493#define INF_STEREO_ABS 0x0001
494#define INF_STEREO_REL 0x0002
495#define INF_STEREO_RAC 0x0004
496#define INF_STEREO_NORM 0x0008
497#define INF_STEREO_INV 0x0010
498#define INF_STEREO 0x0020
499#define INF_STEREO_ABS_REL_RAC (INF_STEREO_ABS | INF_STEREO_REL | INF_STEREO_RAC)
500#define INF_STEREO_NORM_INV (INF_STEREO_NORM | INF_STEREO_INV)
502#define MAX_LEN_REMOVED_PROTONS 128
638#define ADD_LEN_STRUCT_FPTRS 100
663#ifndef __ICHITIME_H__
669#define FLAG_INP_AT_CHIRAL 1
670#define FLAG_INP_AT_NONCHIRAL 2
671#define FLAG_SET_INP_AT_CHIRAL 4
672#define FLAG_SET_INP_AT_NONCHIRAL 8
673#define FLAG_SET_INP_LARGE_MOLS 16
675#ifndef COMPILE_ALL_CPP
704 const char *pSdfLabel,
char *pSdfValue,
unsigned long *lSdfId,
long *lMolfileNumber,
INCHI_MODE *pInpAtomFlags,
int *err,
char *pStrErr,
int bNoWarnings);
725 char *pSdfValue,
unsigned long *lSdfId,
INCHI_MODE *pInpAtomFlags,
int *err,
char *pStrErr);
956#if (UNDERIVATIZE == 1)
1193 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,
1462#ifndef COMPILE_ANSI_ONLY
1473 void PrintFileName(
const char *fmt, FILE *out_file,
const char *szFname);
1492#ifndef COMPILE_ALL_CPP
#define ATOM_EL_LEN
Definition ichicant.h:62
#define MAXVAL
Definition ichicant.h:60
enum tagInputType INPUT_TYPE
unsigned short AT_NUMB
Definition ichisize.h:10
signed short NUM_H
Definition ichisize.h:14
unsigned long INCHI_MODE
Definition ichisize.h:25
char MOL_COORD[LEN_COORD *NUM_COORD+NUM_COORD - 1]
Definition ichisize.h:29
signed char S_CHAR
Definition inchi_api.h:78
#define NUM_H_ISOTOPES
Definition inchi_api.h:72
unsigned char U_CHAR
Definition inchi_api.h:79
#define INCHI_NUM
Definition inchi_api.h:1144
#define MAX_NUM_STEREO_BONDS
Definition inchi_api.h:1141
signed short S_SHORT
Definition inchi_api.h:84
#define MAX_NUM_STEREO_ATOM_NEIGH
Definition inchi_api.h:1138
#define ATOM_INFO_LEN
Definition incomdef.h:22
#define MAX_STEREO_BONDS
Definition incomdef.h:24
int OAD_PolymerUnit_SetReopeningDetails(OAD_PolymerUnit *u, inp_ATOM *at)
Set reopening details for a polymer unit.
Definition runichi3.c:3977
int bFoundFeature(inp_ATOM *at, int num_atoms)
Check if a feature is found in the input atoms ???
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)
Definition ichinorm.c:5710
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.
Definition mol2atom.c:73
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.
Definition runichi3.c:1137
struct tagAtomParmsForDrawing inf_ATOM
Structure describing atom parameters for drawing.
void FreeInfoAtomData(INF_ATOM_DATA *inf_at_data)
Free information atom 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....
Definition runichi3.c:3848
int FixAdjacentRadicals(int num_inp_atoms, inp_ATOM *at)
Fix adjacent radicals in the input atoms.
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.
Definition runichi3.c:1949
struct tagOAD_StructureEdits OAD_StructureEdits
Structure describing structure edits.
void OAD_PolymerUnit_SortBackboneBonds(OAD_PolymerUnit *u, OAD_AtProps *aprops, int *bnum)
Collect backbone bonds from a polymer unit and sort them.
Definition runichi3.c:4067
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.
Definition runichi3.c:4366
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.
Definition runichi3.c:2989
void FreeInpAtomData(INP_ATOM_DATA *inp_at_data)
Free input atom data.
Definition mol2atom.c:1145
struct tagInputAtom inp_ATOM
Structure describing an input atom.
struct tagInfoAtomData INF_ATOM_DATA
Structure describing information about atoms for InChI generation.
struct tagOriginalStruct ORIG_STRUCT
Structure describing the original structure.
int OAD_Polymer_CompareRanksOfTwoAtoms(int atom1, int atom2, OAD_AtProps *aprops)
Compare ranks of two atoms (compare seniority of two atoms in polymer SRU)
Definition runichi3.c:4179
int post_fix_odd_things(int num_atoms, inp_ATOM *at)
Post-fix odd things in the input atoms (does nothing, returns 0)
Definition strutil.c:906
INP_ATOM_DATA INP_ATOM_DATA2[TAUT_NUM]
Definition inpdef.h:577
inp_ATOM * CreateInpAtom(int num_atoms)
Create/allocate a Inp Atom structure.
Definition mol2atom.c:1120
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 CreateInfoAtomData(INF_ATOM_DATA *inf_at_data, int num_atoms, int num_components)
Create a Info Atom Data structure.
int DisconnectMetals(ORIG_ATOM_DATA *orig_inp_data, int bCheckMetalValence, INCHI_MODE *bTautFlagsDone)
Disconnect metals in the original atom data.
Definition strutil.c:2820
int fix_odd_things(int num_atoms, inp_ATOM *at, int bFixBug, int bFixNonUniformDraw)
Fix odd things in the input atoms.
Definition strutil.c:587
void OAD_StructureEdits_Clear(OAD_StructureEdits *ed)
Clear structure edits.
Definition runichi2.c:1863
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.
Definition ichinorm.c:7138
void OAD_Polymer_Free(OAD_Polymer *p)
Free polymer data structure.
Definition runichi3.c:2041
void OAD_Polymer_DebugTrace(OAD_Polymer *p)
Debug trace for polymer data structure (print the whole polymer data)
Definition runichi3.c:3727
void FreeInfAtom(inf_ATOM **at)
Free information atom array (same as FreeInpAtom)
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.
Definition runichi3.c:3282
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.
Definition runichi3.c:3138
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.
Definition runichi3.c:4026
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.
Definition runichi2.c:1161
void OAD_StructureEdits_DebugPrint(OAD_StructureEdits *ed)
Debug print structure edits.
Definition runichi2.c:1901
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 polyme...
Definition runichi3.c:4339
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 s...
Definition runichi2.c:2617
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.
Definition runichi3.c:1491
long INCHI_FPTR
Definition inpdef.h:640
int OAD_PolymerUnit_CompareAtomLists(OAD_PolymerUnit *u1, OAD_PolymerUnit *u2)
Compare two polymer units based on their atom lists.
Definition runichi3.c:1375
int DisconnectSalts(ORIG_ATOM_DATA *orig_inp_data, int bDisconnect)
Disconnect salts in the original atom data.
Definition strutil.c:2632
S_SHORT ST_CAP_FLOW
Definition inpdef.h:27
int MarkDisconnectedComponents(ORIG_ATOM_DATA *orig_at_data, int bProcessOldCompNumbers)
Mark disconnected components in the original atom data.
Definition strutil.c:5166
struct tagStructFptrs STRUCT_FPTRS
Structure describing file pointers for structures.
int OAD_PolymerUnit_OrderBondAtomsAndBondsThemselves(OAD_PolymerUnit *u, int n_stars, int *stars)
Order bond atoms and bonds themselves in a polymer unit.
Definition runichi3.c:1412
int OAD_StructureEdits_Init(OAD_StructureEdits *ed)
Initialize structure edits.
Definition runichi2.c:1829
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 (canon...
Definition runichi3.c:2312
int OAD_Polymer_GetRepresentation(OAD_Polymer *p)
Get polymer representation type.
Definition runichi3.c:3758
#define MAX_LEN_REMOVED_PROTONS
Definition inpdef.h:502
int UnMarkRingSystemsInp(inp_ATOM *at, int num_atoms)
Unmark ring systems in the input atoms.
Definition runichi3.c:1931
int OAD_PolymerUnit_CompareAtomListsMod(OAD_PolymerUnit *u1, OAD_PolymerUnit *u2)
Compare two polymer units based on their atom lists with modifications.
Definition runichi3.c:1352
int FixUnkn0DStereoBonds(inp_ATOM *at, int num_at)
Fix unknown stereo bonds in the input atoms.
Definition ichister.c:1971
OAD_PolymerUnit * OAD_PolymerUnit_CreateCopy(OAD_PolymerUnit *u)
Create a copy of a polymer unit.
Definition runichi3.c:1235
struct tagNormCanonFlags NORM_CANON_FLAGS
Structure describing normalization and canonicalization flags.
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.
Definition runichi3.c:3479
void OAD_PolymerUnit_DebugTrace(OAD_PolymerUnit *unit)
Debug trace for a polymer unit (print the whole polymer unit)
Definition runichi3.c:3612
int bMayDisconnectMetals(ORIG_ATOM_DATA *orig_inp_data, int bCheckMetalValence, INCHI_MODE *bTautFlagsDone)
Check if metals may be disconnected in the original atom data.
Definition strutil.c:2724
void FreeCompAtomData(COMP_ATOM_DATA *inp_at_data)
Free composite atom data.
Definition mol2atom.c:1185
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.
Definition runichi3.c:3206
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.
Definition runichi3.c:3923
int CreateCompAtomData(COMP_ATOM_DATA *inp_at_data, int num_atoms, int num_components, int bIntermediateTaut)
Create a Comp Atom Data structure.
Definition mol2atom.c:1199
struct tagCompositeAtomData COMP_ATOM_DATA
Structure describing composite atom data for InChI generation.
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...
Definition runichi2.c:1932
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.
Definition runichi3.c:2236
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.
Definition runichi3.c:3079
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 bInchiTimeIsOver(struct tagINCHI_CLOCK *ic, struct tagInchiTime *TickEnd)
Definition ichicano.c:222
int ReconcileAllCmlBondParities(inp_ATOM *at, int num_atoms, int bDisconnected)
Reconcile all CML bond parities in the input atoms.
Definition ichister.c:4628
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.
Definition runichi3.c:2916
int bHasMetalAtom(ORIG_ATOM_DATA *orig_inp_data)
Check if there is a metal atom in the original atom data.
struct tagInputAtomData INP_ATOM_DATA
Structure describing input atom data for InChI generation.
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.
Definition runichi3.c:2136
void PrintFileName(const char *fmt, FILE *out_file, const char *szFname)
Print the file name.
Definition strutil.c:6400
int OAD_PolymerUnit_HasMetal(OAD_PolymerUnit *u, inp_ATOM *at)
Check if a polymer unit has a specific atom (e.g., metal)
Definition runichi3.c:2025
int CreateInpAtomData(INP_ATOM_DATA *inp_at_data, int num_atoms, int create_at_fixed_bonds)
Create a Inp Atom Data structure.
Definition mol2atom.c:1166
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.
Definition ichinorm.c:7339
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.
Definition runichi3.c:2842
void FreeOrigAtData(ORIG_ATOM_DATA *orig_at_data)
Free original atom data.
Definition mol2atom.c:1319
struct tagOrigAtom ORIG_ATOM_DATA
Structure describing original atom data.
int remove_ion_pairs(int num_atoms, inp_ATOM *at)
Remove ion pairs from the input atoms.
Definition strutil.c:1030
void FreeExtOrigAtData(OAD_Polymer *pd, OAD_V3000 *v3k)
Free extended original atom data (polymers and V3000)
Definition mol2atom.c:1364
inf_ATOM * CreateInfAtom(int num_atoms)
Create/allocate a Inf Atom structure.
void MySleep(unsigned long ms)
Sleep for a specified amount of time.
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 o...
Definition runichi3.c:4098
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.
Definition runichi3.c:2071
void OAD_PolymerUnit_Free(OAD_PolymerUnit *unit)
Free a polymer unit.
Definition runichi3.c:1317
void FreeInpAtom(inp_ATOM **at)
Free input atom array.
Definition mol2atom.c:1133
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.
Definition mol_fmt4.c:748
#define TAUT_NUM
Definition mode.h:560
Structure describing atom properties for OAD.
Definition inpdef.h:303
int ring_num
Definition inpdef.h:309
int erank
Definition inpdef.h:304
int ring_size
Definition inpdef.h:310
int ring_erank
Definition inpdef.h:306
Structure describing a polymer unit.
Definition inpdef.h:227
int nbkbonds
Definition inpdef.h:252
int conn
Definition inpdef.h:231
int label
Definition inpdef.h:232
double xbr2[4]
Definition inpdef.h:238
int representation
Definition inpdef.h:240
int cap2
Definition inpdef.h:245
int * blist
Definition inpdef.h:249
int * alist
Definition inpdef.h:248
int id
Definition inpdef.h:228
int cap1
Definition inpdef.h:242
int na
Definition inpdef.h:233
char smt[80]
Definition inpdef.h:239
int cap1_is_undef
Definition inpdef.h:246
int end_atom1
Definition inpdef.h:243
int nb
Definition inpdef.h:234
int cyclized
Definition inpdef.h:236
int end_atom2
Definition inpdef.h:244
int subtype
Definition inpdef.h:230
int cyclizable
Definition inpdef.h:235
int ** bkbonds
Definition inpdef.h:256
int maxbkbonds
Definition inpdef.h:251
int type
Definition inpdef.h:229
double xbr1[4]
Definition inpdef.h:237
int cap2_is_undef
Definition inpdef.h:247
Structure describing a polymer.
Definition inpdef.h:274
int edit_repeats
Definition inpdef.h:286
int * pzz
Definition inpdef.h:280
int is_in_reconn
Definition inpdef.h:285
int n_pzz
Definition inpdef.h:277
int representation
Definition inpdef.h:284
int n
Definition inpdef.h:276
int really_do_frame_shift
Definition inpdef.h:281
int frame_shift_scheme
Definition inpdef.h:282
OAD_PolymerUnit ** units
Definition inpdef.h:275
int treat
Definition inpdef.h:283
Structure describing v. 1.05 extended input supporting V3000; polymers.
Definition inpdef.h:345
int n_non_star_atoms
Definition inpdef.h:346
int n_sterel
Definition inpdef.h:364
int * atom_index_orig
Definition inpdef.h:348
int n_steabs
Definition inpdef.h:360
int * atom_index_fin
Definition inpdef.h:349
int n_non_haptic_bonds
Definition inpdef.h:353
int n_sgroups
Definition inpdef.h:350
int ** lists_sterac
Definition inpdef.h:369
int ** lists_haptic_bonds
Definition inpdef.h:355
int ** lists_steabs
Definition inpdef.h:361
int n_star_atoms
Definition inpdef.h:347
int ** lists_sterel
Definition inpdef.h:365
int n_collections
Definition inpdef.h:352
int n_haptic_bonds
Definition inpdef.h:354
int n_sterac
Definition inpdef.h:368
int n_3d_constraints
Definition inpdef.h:351
Structure describing atom parameters for drawing.
Definition inpdef.h:474
S_CHAR cStereoBondWarning[MAX_STEREO_BONDS]
Definition inpdef.h:489
AT_NUMB nCanonNbr
Definition inpdef.h:478
AT_NUMB nTautGroupCanonNbr
Definition inpdef.h:480
S_CHAR cFlags
Definition inpdef.h:482
char at_string[ATOM_INFO_LEN]
Definition inpdef.h:475
int DrawingLabelLeftShift
Definition inpdef.h:476
S_CHAR cStereoBondParity[MAX_STEREO_BONDS]
Definition inpdef.h:488
AT_NUMB nCanonEquNbr
Definition inpdef.h:479
S_CHAR cStereoCenterParity
Definition inpdef.h:487
S_CHAR cHighlightTheAtom
Definition inpdef.h:486
AT_NUMB nTautGroupEquNbr
Definition inpdef.h:481
int DrawingLabelLength
Definition inpdef.h:477
S_CHAR cStereoBondNumber[MAX_STEREO_BONDS]
Definition inpdef.h:490
Definition ichicant.h:303
Structure describing composite atom data for InChI generation.
Definition inpdef.h:614
AT_NUMB * nOffsetAtAndH
Definition inpdef.h:630
int bHasIsotopicLayer
Definition inpdef.h:622
int bExists
Definition inpdef.h:620
int num_isotopic
Definition inpdef.h:619
int num_at
Definition inpdef.h:616
int num_removed_H
Definition inpdef.h:617
int num_components
Definition inpdef.h:631
int nNumRemovedProtons
Definition inpdef.h:624
inp_ATOM * at
Definition inpdef.h:615
int bDeleted
Definition inpdef.h:621
NUM_H nNumRemovedProtonsIsotopic[NUM_H_ISOTOPES]
Definition inpdef.h:625
int num_bonds
Definition inpdef.h:618
int bTautomeric
Definition inpdef.h:623
NUM_H num_iso_H[NUM_H_ISOTOPES]
Definition inpdef.h:627
INT_ARRAY - Dynamically growing array of int.
Definition mol_fmt.h:171
Structure describing information about atoms for InChI generation.
Definition inpdef.h:518
AT_NUMB num_components
Definition inpdef.h:522
NUM_H num_iso_H[NUM_H_ISOTOPES]
Definition inpdef.h:527
AT_NUMB * pStereoFlags
Definition inpdef.h:523
int num_at
Definition inpdef.h:520
char szRemovedProtons[MAX_LEN_REMOVED_PROTONS]
Definition inpdef.h:528
int num_removed_iso_H
Definition inpdef.h:526
AT_NUMB StereoFlags
Definition inpdef.h:521
int nNumRemovedProtons
Definition inpdef.h:525
inf_ATOM * at
Definition inpdef.h:519
Structure describing normalization and canonicalization flags.
Definition inpdef.h:588
INCHI_MODE bNormalizationFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:591
int nCanonFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:592
INCHI_MODE bTautFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:589
INCHI_MODE bTautFlagsDone[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:590
Structure describing structure edits.
Definition inpdef.h:912
INT_ARRAY * new_bond
Definition inpdef.h:915
int del_side_chains
Definition inpdef.h:918
INT_ARRAY * del_atom
Definition inpdef.h:913
INT_ARRAY * del_bond
Definition inpdef.h:914
INT_ARRAY * mod_bond
Definition inpdef.h:916
INT_ARRAY * mod_coord
Definition inpdef.h:917
Structure describing original atom data.
Definition inpdef.h:398
AT_NUMB * nSortedOrder
Definition inpdef.h:418
int nNumEquSets
Definition inpdef.h:415
int bDisconnectSalts
Definition inpdef.h:407
AT_NUMB * nEquLabels
Definition inpdef.h:416
int num_dimensions
Definition inpdef.h:402
inp_ATOM * at
Definition inpdef.h:401
int num_components
Definition inpdef.h:406
int n_zy
Definition inpdef.h:427
AT_NUMB * nOldCompNumber
Definition inpdef.h:414
OAD_V3000 * v3000
Definition inpdef.h:425
int bPreprocessed[INCHI_NUM]
Definition inpdef.h:421
AT_NUMB * nCurAtLen
Definition inpdef.h:413
int bSavedInINCHI_LIB[INCHI_NUM]
Definition inpdef.h:420
MOL_COORD * szCoord
Definition inpdef.h:422
int bDisconnectCoord
Definition inpdef.h:408
OAD_Polymer * polymer
Definition inpdef.h:424
int num_inp_atoms
Definition inpdef.h:404
int valid_polymer
Definition inpdef.h:426
int num_inp_bonds
Definition inpdef.h:403
Structure describing the original structure.
Definition inpdef.h:443
int n_zy
Definition inpdef.h:451
OAD_V3000 * v3000
Definition inpdef.h:450
int num_atoms
Definition inpdef.h:444
char * szBonds
Definition inpdef.h:446
OAD_Polymer * polymer
Definition inpdef.h:449
char * szCoord
Definition inpdef.h:447
char * szAtoms
Definition inpdef.h:445