Class SmilesStereo


  • public class SmilesStereo
    extends java.lang.Object
    This class relates to stereochemical issues
    • Method Detail

      • getChiralityClass

        private static int getChiralityClass​(java.lang.String xx)
      • getChiralClass

        public int getChiralClass​(SmilesAtom sAtom)
      • setChiralClass

        private int setChiralClass​(SmilesAtom sAtom)
      • normalizeClass

        private boolean normalizeClass​(SmilesAtom atom)
        re-order bonds to match standard @ and @@ types
        Parameters:
        atom -
        Returns:
        true if OK
      • getTopoMapPt

        private static boolean getTopoMapPt​(int[] map,
                                            int i,
                                            SmilesAtom atom,
                                            SmilesAtom cAtom,
                                            SmilesBond[] bonds,
                                            int n000)
        Parameters:
        map -
        i -
        atom -
        cAtom -
        bonds -
        n000 -
        Returns:
        true if found
      • getJmolAtom

        private Node getJmolAtom​(int i)
      • sortBondsByStereo

        void sortBondsByStereo​(SimpleNode atom,
                               SimpleNode atomPrev,
                               javajs.util.T3 ref,
                               SimpleEdge[] bonds,
                               javajs.util.V3 vTemp)
        Sort bond array as ccw rotation around the axis connecting the atom and the reference point (polyhedron center) as seen from outside the polyhedron looking in. Since we are allowing no branching, all atoms will appear as separate components with only numbers after them. These numbers will be processed and listed in this order.
        Parameters:
        atom -
        atomPrev -
        ref -
        bonds -
        vTemp -
      • checkStereoChemistry

        boolean checkStereoChemistry​(SmilesSearch search,
                                     VTemp v)
      • checkStereoForAtom

        public int checkStereoForAtom​(SmilesAtom pAtom,
                                      Node atom0,
                                      boolean isNot,
                                      boolean haveTopo)
      • addAlleneLonePair

        private void addAlleneLonePair​(SmilesAtom pAtom,
                                       Node[] jn,
                                       int k)
        for allenes, we must check for missing atoms
        Parameters:
        pAtom -
        jn -
        k -
      • getStereoFlag

        static java.lang.String getStereoFlag​(SimpleNode atom0,
                                              SimpleNode[] atoms,
                                              int nAtoms,
                                              VTemp v)
        Parameters:
        atom0 -
        atoms -
        nAtoms -
        v -
        Returns:
        String
      • getHandedness

        static int getHandedness​(SimpleNode a,
                                 SimpleNode b,
                                 SimpleNode c,
                                 SimpleNode pt,
                                 VTemp v)
        determine the winding of the circuit a--b--c relative to point pt
        Parameters:
        a -
        b -
        c -
        pt -
        v -
        Returns:
        1 for "@", 2 for "@@"
      • getPlaneNormals

        private static void getPlaneNormals​(javajs.util.P3 atom1,
                                            javajs.util.P3 atom2,
                                            javajs.util.P3 atom3,
                                            javajs.util.P3 atom4,
                                            VTemp v)