Skip to content

Conditional statement inside NORM_ATOM structure #10

@SSaiPrasad7

Description

@SSaiPrasad7
// typedef struct tagNormAtom
// {
//   char          elname[ATOM_EL_LEN];      /* chem. element name */
//   U_CHAR        el_number;                /* number of the element in the Periodic Table */
//   AT_NUMBR      neighbor[MAXVAL];         /* positions (from 0) of the neighbors in the NORM_ATOM array */
//   AT_NUMBR      orig_at_number;           /* original atom number, starts from 1 */
//   AT_NUMBR      orig_compt_at_numb;       /* atom number within a component before terminal H removal */
//   S_CHAR        bond_stereo[MAXVAL];      /* 1=Up,4=Either,6=Down (this atom is at the pointing wedge)
//                                              negative => on the opposite side of the wedge; 3=Either double bond  */
//   U_CHAR        bond_type[MAXVAL];        /* 1=single, 2=double, 3=triple, 4=1/2 (bond order is 1 or 2) */
//                                           /* 5=1/2/3, 6=1/3, 7=2/3, 8=tautomeric, 9=1/2 non-stereogenic */

//   S_CHAR        valence;                  /* number of bonds = number of neighbors not greater than MAXVAL */
//   S_CHAR        chem_bonds_valence;       /* sum of bond types (1,2,3); type 4 needs special treatment */
//   S_CHAR        num_H;                    /* number of adjacent implicit hydrogen atoms including D and T    */
//   S_CHAR        num_iso_H[NUM_H_ISOTOPES];/* number of adjacent implicit 1H(protium), 2H(D), 3H(T) < 16 */
//   S_CHAR        iso_atw_diff;             /* =0 => natural isotopic abundances  */
//                                           /* >0 => (isotopic mass) - (rounded average atomic mass) + 1 */
//                                           /* <0 => (isotopic mass) - (rounded average atomic mass) */
//   S_CHAR        charge;                   /* charge */
//   S_CHAR        radical;                  /* RADICAL_SINGLET, RADICAL_DOUBLET, or RADICAL_TRIPLET */
//   S_CHAR        bAmbiguousStereo;         /* flag of detected stereo ambiguity */
//   S_CHAR        cFlags;                   /* AT_FLAG_ISO_H_POINT: atom may have exchangeable isotopic H */
//   AT_NUMBR      at_type;                  /* ATT_NONE, ATT_ACIDIC, etc. See InChI normalization code */
//   AT_NUMBR      component;                /* number of the structure component > 0 */
//   AT_NUMBR      endpoint;                 /* id of a tautomeric group */
//   AT_NUMBR      c_point;                  /* id of a positive charge group */
//   double        x;                        /* x coordinate */
//   double        y;                        /* y coordinate */
//   double        z;                        /* x coordinate */
//   /*---------  0D parities ----------*/
//   S_CHAR        bUsed0DParity;            /* bit=1 => stereobond; bit=2 => stereocenter */
//   /*-----  tetrahedral stereo parity */
//   S_CHAR        p_parity;                 /* tetrahedral (sp3) cml parity */
//   AT_NUMBR      p_orig_at_num[MAX_NUM_STEREO_ATOM_NEIGH]; /* orig_at_number of each neighbor > 0; 0=> no neighbor */
//   /*----- stereo bond (SB) parities */
//   S_CHAR        sb_ord[MAX_NUM_STEREO_BONDS];  /* neighbor[] index of another end of this SB, starts from 0 */
//   S_CHAR        sn_ord[MAX_NUM_STEREO_BONDS];  /* neighbor[] index of a bond that is not this SB; starts from 0;
//                                                 -1 means the neighbor is a removed explicit H */
//   /* atoms on both ends of a stereobond have same parity => trans/T/E/2, diff. parities => cis/C/Z/1 */
//   S_CHAR        sb_parity[MAX_NUM_STEREO_BONDS];       /* parities of stereobonds (sp2) incident to this atom */
//   AT_NUMBR      sn_orig_at_num[MAX_NUM_STEREO_BONDS];  /* orig_at_number of sn_ord[] neighbor > 0 */

// #if ( FIND_RING_SYSTEMS == 1 )
//   S_CHAR  bCutVertex;                    /* is the atom a cut-vertex or not */
//   AT_NUMBR nRingSystem;                  /* starts from 1; number of a ring system */
//   AT_NUMBR nNumAtInRingSystem;           /* number of atoms in a ring system to which this at belongs */
//   AT_NUMBR nBlockSystem;                 /* ambiguous if the atom is a cut-vertex: better apply this to bonds */

// #if ( FIND_RINS_SYSTEMS_DISTANCES == 1 )
//   AT_NUMBR nDistanceFromTerminal;        /* not used */
// #endif

// #endif
// } NORM_ATOM;



Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions