50#define CLOSING_STARRED_SRU_IS_A_MUST 1
51#define ALLOW_CLOSING_SRU_VIA_HIGHER_ORDER_BOND 1
52#define ALLOW_CLOSING_SRU_VIA_DIRADICAL 1
54#define CLOSING_SRU_NOT_APPLICABLE 0
55#define CLOSING_SRU_RING 1
56#define CLOSING_SRU_HIGHER_ORDER_BOND 2
57#define CLOSING_SRU_DIRADICAL 3
58#define CLOSING_SRU_RING_OPENED 4
59#define CLOSING_SRU_MOVED_BRACKETS 5
61#define bDrawingLabelLeftShift endpoint
65#define ATT_NONE 0x0000
66#define ATT_ACIDIC_CO 0x0001
67#define ATT_ACIDIC_S 0x0002
72#define ATT_ATOM_N 0x0040
73#define ATT_ATOM_P 0x0080
74#define ATT_OTHER_NEG_O 0x0100
75#define ATT_OTHER_ZO 0x0200
76#define ATT_OH_MINUS 0x0400
77#define ATT_O_PLUS 0x0800
78#define ATT_PROTON 0x1000
79#define ATT_HalAnion 0x2000
80#define ATT_HalAcid 0x4000
81#if (FIX_NP_MINUS_BUG == 1)
82#define ATT_NP_MINUS_V23 0x8000
85#define AT_FLAG_ISO_H_POINT 0x01
87#define PERIODIC_NUMBER_H 1
90#define NUM_ISO_H(AT, N) (AT[N].num_iso_H[0] + AT[N].num_iso_H[1] + AT[N].num_iso_H[2])
91#define NUMH(AT, N) (AT[N].num_H + NUM_ISO_H(AT, N))
97#define SB_PARITY_FLAG 0x38
98#define SB_PARITY_SHFT 3
99#define SB_PARITY_MASK 0x07
100#define SB_PARITY_1(X) (X & SB_PARITY_MASK)
101#define SB_PARITY_2(X) (((X) >> SB_PARITY_SHFT) & SB_PARITY_MASK)
187#if (FIND_RING_SYSTEMS == 1)
193#if (FIND_RINS_SYSTEMS_DISTANCES == 1)
207#define POLYMER_REPRESENTATION_SOURCE_BASED 1
208#define POLYMER_REPRESENTATION_STRUCTURE_BASED 2
209#define POLYMER_REPRESENTATION_MIXED 3
210#define POLYMER_REPRESENTATION_UNRECOGNIZED 4
212#define ALLOW_MIXED_SRU_AND_MON 1
214#define POLYMER_STY_NON 0
215#define POLYMER_STY_SRU 1
216#define POLYMER_STY_MON 2
217#define POLYMER_STY_COP 3
218#define POLYMER_STY_MOD 4
219#define POLYMER_STY_CRO 5
220#define POLYMER_STY_MER 6
222#define POLYMER_SST_NON 0
223#define POLYMER_SST_ALT 1
224#define POLYMER_SST_RAN 2
225#define POLYMER_SST_BLK 3
227#define POLYMER_CONN_NON 0
228#define POLYMER_CONN_HT 1
229#define POLYMER_CONN_HH 2
230#define POLYMER_CONN_EU 3
445#if (bRELEASE_VERSION == 0)
518#ifdef DISPLAY_DEBUG_DATA
528#define INF_STEREO_ABS 0x0001
529#define INF_STEREO_REL 0x0002
530#define INF_STEREO_RAC 0x0004
531#define INF_STEREO_NORM 0x0008
532#define INF_STEREO_INV 0x0010
533#define INF_STEREO 0x0020
534#define INF_STEREO_ABS_REL_RAC (INF_STEREO_ABS | INF_STEREO_REL | INF_STEREO_RAC)
535#define INF_STEREO_NORM_INV (INF_STEREO_NORM | INF_STEREO_INV)
537#define MAX_LEN_REMOVED_PROTONS 128
671#define ADD_LEN_STRUCT_FPTRS 100
696#ifndef __ICHITIME_H__
702#define FLAG_INP_AT_CHIRAL 1
703#define FLAG_INP_AT_NONCHIRAL 2
704#define FLAG_SET_INP_AT_CHIRAL 4
705#define FLAG_SET_INP_AT_NONCHIRAL 8
706#define FLAG_SET_INP_LARGE_MOLS 16
708#ifndef COMPILE_ALL_CPP
737 const char *pSdfLabel,
char *pSdfValue,
unsigned long *lSdfId,
long *lMolfileNumber,
INCHI_MODE *pInpAtomFlags,
int *err,
char *pStrErr,
int bNoWarnings);
758 char *pSdfValue,
unsigned long *lSdfId,
INCHI_MODE *pInpAtomFlags,
int *err,
char *pStrErr);
989#if (UNDERIVATIZE == 1)
1226 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,
1495#ifndef COMPILE_ANSI_ONLY
1506 void PrintFileName(
const char *fmt, FILE *out_file,
const char *szFname);
1525#ifndef COMPILE_ALL_CPP
#define ATOM_EL_LEN
Definition ichicant.h:97
#define MAXVAL
Definition ichicant.h:95
enum tagInputType INPUT_TYPE
unsigned short AT_NUMB
Definition ichisize.h:45
signed short NUM_H
Definition ichisize.h:49
unsigned long INCHI_MODE
Definition ichisize.h:60
char MOL_COORD[LEN_COORD *NUM_COORD+NUM_COORD - 1]
Definition ichisize.h:64
signed char S_CHAR
Definition inchi_api.h:113
#define NUM_H_ISOTOPES
Definition inchi_api.h:107
unsigned char U_CHAR
Definition inchi_api.h:114
#define INCHI_NUM
Definition inchi_api.h:1179
#define MAX_NUM_STEREO_BONDS
Definition inchi_api.h:1176
signed short S_SHORT
Definition inchi_api.h:119
#define MAX_NUM_STEREO_ATOM_NEIGH
Definition inchi_api.h:1173
#define ATOM_INFO_LEN
Definition incomdef.h:57
#define MAX_STEREO_BONDS
Definition incomdef.h:59
int OAD_PolymerUnit_SetReopeningDetails(OAD_PolymerUnit *u, inp_ATOM *at)
Set reopening details for a polymer unit.
Definition runichi3.c:4005
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:5933
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:108
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:1162
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:3876
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:1978
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:4095
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:4394
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:3017
void FreeInpAtomData(INP_ATOM_DATA *inp_at_data)
Free input atom data.
Definition mol2atom.c:1058
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:4207
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:922
INP_ATOM_DATA INP_ATOM_DATA2[TAUT_NUM]
Definition inpdef.h:610
inp_ATOM * CreateInpAtom(int num_atoms)
Create/allocate a Inp Atom structure.
Definition mol2atom.c:1033
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:2865
int fix_odd_things(int num_atoms, inp_ATOM *at, int bFixBug, int bFixNonUniformDraw)
Fix odd things in the input atoms.
Definition strutil.c:603
void OAD_StructureEdits_Clear(OAD_StructureEdits *ed)
Clear structure edits.
Definition runichi2.c:1769
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:7361
void OAD_Polymer_Free(OAD_Polymer *p)
Free polymer data structure.
Definition runichi3.c:2070
void OAD_Polymer_DebugTrace(OAD_Polymer *p)
Debug trace for polymer data structure (print the whole polymer data)
Definition runichi3.c:3755
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:3310
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:3166
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:4054
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:1067
void OAD_StructureEdits_DebugPrint(OAD_StructureEdits *ed)
Debug print structure edits.
Definition runichi2.c:1807
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:4367
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:2523
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:1516
long INCHI_FPTR
Definition inpdef.h:673
int OAD_PolymerUnit_CompareAtomLists(OAD_PolymerUnit *u1, OAD_PolymerUnit *u2)
Compare two polymer units based on their atom lists.
Definition runichi3.c:1400
int DisconnectSalts(ORIG_ATOM_DATA *orig_inp_data, int bDisconnect)
Disconnect salts in the original atom data.
Definition strutil.c:2668
S_SHORT ST_CAP_FLOW
Definition inpdef.h:62
int MarkDisconnectedComponents(ORIG_ATOM_DATA *orig_at_data, int bProcessOldCompNumbers)
Mark disconnected components in the original atom data.
Definition strutil.c:4277
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:1437
int OAD_StructureEdits_Init(OAD_StructureEdits *ed)
Initialize structure edits.
Definition runichi2.c:1735
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:2341
int OAD_Polymer_GetRepresentation(OAD_Polymer *p)
Get polymer representation type.
Definition runichi3.c:3786
#define MAX_LEN_REMOVED_PROTONS
Definition inpdef.h:537
int UnMarkRingSystemsInp(inp_ATOM *at, int num_atoms)
Unmark ring systems in the input atoms.
Definition runichi3.c:1960
int OAD_PolymerUnit_CompareAtomListsMod(OAD_PolymerUnit *u1, OAD_PolymerUnit *u2)
Compare two polymer units based on their atom lists with modifications.
Definition runichi3.c:1377
int FixUnkn0DStereoBonds(inp_ATOM *at, int num_at)
Fix unknown stereo bonds in the input atoms.
Definition ichister.c:2006
OAD_PolymerUnit * OAD_PolymerUnit_CreateCopy(OAD_PolymerUnit *u)
Create a copy of a polymer unit.
Definition runichi3.c:1260
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:3507
void OAD_PolymerUnit_DebugTrace(OAD_PolymerUnit *unit)
Debug trace for a polymer unit (print the whole polymer unit)
Definition runichi3.c:3640
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:2762
void FreeCompAtomData(COMP_ATOM_DATA *inp_at_data)
Free composite atom data.
Definition mol2atom.c:1090
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:3234
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:3951
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:1104
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:1838
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:2265
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:3107
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:257
int ReconcileAllCmlBondParities(inp_ATOM *at, int num_atoms, int bDisconnected)
Reconcile all CML bond parities in the input atoms.
Definition ichister.c:4663
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:2945
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:2165
void PrintFileName(const char *fmt, FILE *out_file, const char *szFname)
Print the file name.
Definition strutil.c:5533
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:2054
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:1071
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:7562
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:2871
void FreeOrigAtData(ORIG_ATOM_DATA *orig_at_data)
Free original atom data.
Definition mol2atom.c:1224
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:1049
void FreeExtOrigAtData(OAD_Polymer *pd, OAD_V3000 *v3k)
Free extended original atom data (polymers and V3000)
Definition mol2atom.c:1269
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:4126
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:2100
void OAD_PolymerUnit_Free(OAD_PolymerUnit *unit)
Free a polymer unit.
Definition runichi3.c:1342
void FreeInpAtom(inp_ATOM **at)
Free input atom array.
Definition mol2atom.c:1046
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:783
#define TAUT_NUM
Definition mode.h:593
Structure describing atom properties for OAD.
Definition inpdef.h:338
int ring_num
Definition inpdef.h:344
int erank
Definition inpdef.h:339
int ring_size
Definition inpdef.h:345
int ring_erank
Definition inpdef.h:341
Structure describing a polymer unit.
Definition inpdef.h:262
int nbkbonds
Definition inpdef.h:287
int conn
Definition inpdef.h:266
int label
Definition inpdef.h:267
double xbr2[4]
Definition inpdef.h:273
int representation
Definition inpdef.h:275
int cap2
Definition inpdef.h:280
int * blist
Definition inpdef.h:284
int * alist
Definition inpdef.h:283
int id
Definition inpdef.h:263
int cap1
Definition inpdef.h:277
int na
Definition inpdef.h:268
char smt[80]
Definition inpdef.h:274
int cap1_is_undef
Definition inpdef.h:281
int end_atom1
Definition inpdef.h:278
int nb
Definition inpdef.h:269
int cyclized
Definition inpdef.h:271
int end_atom2
Definition inpdef.h:279
int subtype
Definition inpdef.h:265
int cyclizable
Definition inpdef.h:270
int ** bkbonds
Definition inpdef.h:291
int maxbkbonds
Definition inpdef.h:286
int type
Definition inpdef.h:264
double xbr1[4]
Definition inpdef.h:272
int cap2_is_undef
Definition inpdef.h:282
Structure describing a polymer.
Definition inpdef.h:309
int edit_repeats
Definition inpdef.h:321
int * pzz
Definition inpdef.h:315
int is_in_reconn
Definition inpdef.h:320
int n_pzz
Definition inpdef.h:312
int representation
Definition inpdef.h:319
int n
Definition inpdef.h:311
int really_do_frame_shift
Definition inpdef.h:316
int frame_shift_scheme
Definition inpdef.h:317
OAD_PolymerUnit ** units
Definition inpdef.h:310
int treat
Definition inpdef.h:318
Structure describing v. 1.05 extended input supporting V3000; polymers.
Definition inpdef.h:380
int n_non_star_atoms
Definition inpdef.h:381
int n_sterel
Definition inpdef.h:399
int * atom_index_orig
Definition inpdef.h:383
int n_steabs
Definition inpdef.h:395
int * atom_index_fin
Definition inpdef.h:384
int n_non_haptic_bonds
Definition inpdef.h:388
int n_sgroups
Definition inpdef.h:385
int ** lists_sterac
Definition inpdef.h:404
int ** lists_haptic_bonds
Definition inpdef.h:390
int ** lists_steabs
Definition inpdef.h:396
int n_star_atoms
Definition inpdef.h:382
int ** lists_sterel
Definition inpdef.h:400
int n_collections
Definition inpdef.h:387
int n_haptic_bonds
Definition inpdef.h:389
int n_sterac
Definition inpdef.h:403
int n_3d_constraints
Definition inpdef.h:386
Structure describing atom parameters for drawing.
Definition inpdef.h:509
S_CHAR cStereoBondWarning[MAX_STEREO_BONDS]
Definition inpdef.h:524
AT_NUMB nCanonNbr
Definition inpdef.h:513
AT_NUMB nTautGroupCanonNbr
Definition inpdef.h:515
S_CHAR cFlags
Definition inpdef.h:517
char at_string[ATOM_INFO_LEN]
Definition inpdef.h:510
int DrawingLabelLeftShift
Definition inpdef.h:511
S_CHAR cStereoBondParity[MAX_STEREO_BONDS]
Definition inpdef.h:523
AT_NUMB nCanonEquNbr
Definition inpdef.h:514
S_CHAR cStereoCenterParity
Definition inpdef.h:522
S_CHAR cHighlightTheAtom
Definition inpdef.h:521
AT_NUMB nTautGroupEquNbr
Definition inpdef.h:516
int DrawingLabelLength
Definition inpdef.h:512
S_CHAR cStereoBondNumber[MAX_STEREO_BONDS]
Definition inpdef.h:525
Definition ichicant.h:338
Structure describing composite atom data for InChI generation.
Definition inpdef.h:647
AT_NUMB * nOffsetAtAndH
Definition inpdef.h:663
int bHasIsotopicLayer
Definition inpdef.h:655
int bExists
Definition inpdef.h:653
int num_isotopic
Definition inpdef.h:652
int num_at
Definition inpdef.h:649
int num_removed_H
Definition inpdef.h:650
int num_components
Definition inpdef.h:664
int nNumRemovedProtons
Definition inpdef.h:657
inp_ATOM * at
Definition inpdef.h:648
int bDeleted
Definition inpdef.h:654
NUM_H nNumRemovedProtonsIsotopic[NUM_H_ISOTOPES]
Definition inpdef.h:658
int num_bonds
Definition inpdef.h:651
int bTautomeric
Definition inpdef.h:656
NUM_H num_iso_H[NUM_H_ISOTOPES]
Definition inpdef.h:660
INT_ARRAY - Dynamically growing array of int.
Definition mol_fmt.h:206
Structure describing information about atoms for InChI generation.
Definition inpdef.h:553
AT_NUMB num_components
Definition inpdef.h:557
NUM_H num_iso_H[NUM_H_ISOTOPES]
Definition inpdef.h:562
AT_NUMB * pStereoFlags
Definition inpdef.h:558
int num_at
Definition inpdef.h:555
char szRemovedProtons[MAX_LEN_REMOVED_PROTONS]
Definition inpdef.h:563
int num_removed_iso_H
Definition inpdef.h:561
AT_NUMB StereoFlags
Definition inpdef.h:556
int nNumRemovedProtons
Definition inpdef.h:560
inf_ATOM * at
Definition inpdef.h:554
Structure describing normalization and canonicalization flags.
Definition inpdef.h:621
INCHI_MODE bNormalizationFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:624
int nCanonFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:625
INCHI_MODE bTautFlags[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:622
INCHI_MODE bTautFlagsDone[INCHI_NUM][TAUT_NUM]
Definition inpdef.h:623
Structure describing structure edits.
Definition inpdef.h:945
INT_ARRAY * new_bond
Definition inpdef.h:948
int del_side_chains
Definition inpdef.h:951
INT_ARRAY * del_atom
Definition inpdef.h:946
INT_ARRAY * del_bond
Definition inpdef.h:947
INT_ARRAY * mod_bond
Definition inpdef.h:949
INT_ARRAY * mod_coord
Definition inpdef.h:950
Structure describing original atom data.
Definition inpdef.h:433
AT_NUMB * nSortedOrder
Definition inpdef.h:453
int nNumEquSets
Definition inpdef.h:450
int bDisconnectSalts
Definition inpdef.h:442
AT_NUMB * nEquLabels
Definition inpdef.h:451
int num_dimensions
Definition inpdef.h:437
inp_ATOM * at
Definition inpdef.h:436
int num_components
Definition inpdef.h:441
int n_zy
Definition inpdef.h:462
AT_NUMB * nOldCompNumber
Definition inpdef.h:449
OAD_V3000 * v3000
Definition inpdef.h:460
int bPreprocessed[INCHI_NUM]
Definition inpdef.h:456
AT_NUMB * nCurAtLen
Definition inpdef.h:448
int bSavedInINCHI_LIB[INCHI_NUM]
Definition inpdef.h:455
MOL_COORD * szCoord
Definition inpdef.h:457
int bDisconnectCoord
Definition inpdef.h:443
OAD_Polymer * polymer
Definition inpdef.h:459
int num_inp_atoms
Definition inpdef.h:439
int valid_polymer
Definition inpdef.h:461
int num_inp_bonds
Definition inpdef.h:438
Structure describing the original structure.
Definition inpdef.h:478
int n_zy
Definition inpdef.h:486
OAD_V3000 * v3000
Definition inpdef.h:485
int num_atoms
Definition inpdef.h:479
char * szBonds
Definition inpdef.h:481
OAD_Polymer * polymer
Definition inpdef.h:484
char * szCoord
Definition inpdef.h:482
char * szAtoms
Definition inpdef.h:480