Class TorsionDetail


  • public class TorsionDetail
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      TorsionDetail()
      This creates an empty torsion classification detail, which multiply can be used to classify the environment of a rotatable bond.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean classify​(StereoMolecule mol, int bond)
      Determines uniquely an identifying name for the rotatable bond and its vicinity.
      int getAlkyneAtomCount()  
      int getCentralAtom​(int no)
      Returns one of the atoms of the torsion fragment's central rotatable bond.
      StereoMolecule getFragment()
      Returns the direct surrounding of the previously classified rotatable bond.
      java.lang.String getID()
      Returns the torsion identifier that resulted from the most previous classification.
      int getRearAtom​(int no)
      Returns that neighbor atom of a central atom that lies in the rotatable bond axis.
      int getReferenceAtom​(int no)
      Returns the reference atom of one part of the torsion fragment.
      boolean isValid()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TorsionDetail

        public TorsionDetail()
        This creates an empty torsion classification detail, which multiply can be used to classify the environment of a rotatable bond. The result is an identifier for this torsion situation that may serve to lookup probable torsion angles for this rotatable bond form a torsion library. Along with the identifier a 4-atom-chain is uniquely determined, to which torsion angles should refer to.
    • Method Detail

      • isValid

        public boolean isValid()
        Returns:
        whether the previous classification created a valid result and ID
      • getID

        public java.lang.String getID()
        Returns the torsion identifier that resulted from the most previous classification.
        Returns:
        a valid ID or null, if the classification failed
      • getCentralAtom

        public int getCentralAtom​(int no)
        Returns one of the atoms of the torsion fragment's central rotatable bond. Two central and two terminal atoms define the strand that torsion angles refer to. If the rotatable bond is extended by (a) triple bond(s) then the central atom is one of the first non-sp atoms at the end of the linear atom strand.
        Parameters:
        no - 0 or 1; 0 refers to the higher ranking central atom
        Returns:
      • getRearAtom

        public int getRearAtom​(int no)
        Returns that neighbor atom of a central atom that lies in the rotatable bond axis. Usually this is the other atom of the rotatable bond. However, if the rotatable bond is extended by (a) triple bond(s) then getRearAtom(no) returns that sp-atom, which is attached to the atom returned by getCentralAtom(no).
        Parameters:
        no - 0 or 1; 0 refers to that atom being connected to central atom 0
        Returns:
      • getReferenceAtom

        public int getReferenceAtom​(int no)
        Returns the reference atom of one part of the torsion fragment. Two central and two terminal reference atoms define the strand that torsion angles refer to.
        Parameters:
        no - 0 or 1; 0 refers to the side with higher ranking central bond atom
        Returns:
      • getAlkyneAtomCount

        public int getAlkyneAtomCount()
        Returns:
        count of linear strand of sp-hybridized atoms between torsion atoms (usually 0)
      • getFragment

        public StereoMolecule getFragment()
        Returns the direct surrounding of the previously classified rotatable bond. This fragment may contain query features to describe characteristics, which have an influence on torsion angles, but are beyond its atom and bond types (e.g. aromaticity and ring membership). Stereo centers and ESR attributes are normalized. Thus, atom parities may be inverted to the source molecule.
        Returns:
      • classify

        public boolean classify​(StereoMolecule mol,
                                int bond)
        Determines uniquely an identifying name for the rotatable bond and its vicinity. If the bond is not a single bond, is aromatic, is a member of a <=5-membered ring, if one of its atoms has 0,3 or more neighbours other than the other bond atom, or if one of its atoms is a stereo center with unknown parity, then the classification fails. The four atoms, that define the torsion angle, are determined and are available through getReferenceAtom(0 or 1) and getCentralAtom(0 or 1). A fragment being unique for the this particular torsion situation is determined. If one of the bond's atoms is a stereo center, this fragment may be inverted for normalization, which would be represented with a trailing '<'. A trailing '>' indicates a non-inverted stereo center. If bond is part of a consecutive sp-sp atom chain, then the classifying fragment covers all linear atoms plus two end atoms not being member of the linear sp-atom strand. If a TorsionDetail is passed, then this will be filled.
        Parameters:
        mol -
        bond - the rotatable bond
        Returns:
        true if a valid torsion identifier could be determined