Class BondsCalculator


  • public class BondsCalculator
    extends java.lang.Object
    BondsCalculator is used to recreate the bonds and / or calculate the bonds orders based on the 3D coordinates of the atoms
    • Constructor Summary

      Constructors 
      Constructor Description
      BondsCalculator()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean aromatize​(Molecule3D mol, java.util.ArrayList<java.lang.Integer>[] atomToRings, RingCollection ringSet, java.util.Set<java.lang.Integer> aromaticAtoms, java.util.Set<java.lang.Integer> aromaticBonds)  
      static boolean aromatize​(Molecule3D mol, java.util.Set<java.lang.Integer> aromaticAtoms, java.util.Set<java.lang.Integer> aromaticBonds)  
      static void calculateBondOrders​(Molecule3D mol)
      Calculate the bond orders of the molecule (without knowing the hydrogens).
      static int connected​(StereoMolecule mol, int a, int atomicNo, int bondOrder)  
      static void createBonds​(Molecule3D mol, boolean lenient)
      Calculates the bonds of a molecule by checking the distance between all atoms.
      static int getMaximumIonCharge​(Molecule3D mol, int atom)  
      • Methods inherited from class java.lang.Object

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

      • BondsCalculator

        public BondsCalculator()
    • Method Detail

      • createBonds

        public static void createBonds​(Molecule3D mol,
                                       boolean lenient)
                                throws java.lang.Exception
        Calculates the bonds of a molecule by checking the distance between all atoms. The bond order is not set with this function. Complexity O(nAtoms) Memory O(nAtoms)
        Parameters:
        mol - The molecule for which the bonds should be calculated.
        lenient - Suppresses exceptions that would normally be raised due to chemical discrepancies found in the molecule.
        Throws:
        java.lang.Exception - Exception containing information about the exceeded maximum valence of an atom.
      • calculateBondOrders

        public static void calculateBondOrders​(Molecule3D mol)
        Calculate the bond orders of the molecule (without knowing the hydrogens). The calculation is based on the bond distance between each atoms. http://www.ccp14.ac.uk/ccp/web-mirrors/i_d_brown/valence.txt s = exp((Ro - R)/B) The implementation of this method is also most similar to the algorithm described in: http://www.daylight.com/meetings/mug01/Sayle/m4xbondage.html
        Parameters:
        mol - The molecule for which the bond orders should be calculated.
      • getMaximumIonCharge

        public static int getMaximumIonCharge​(Molecule3D mol,
                                              int atom)
      • connected

        public static int connected​(StereoMolecule mol,
                                    int a,
                                    int atomicNo,
                                    int bondOrder)
      • aromatize

        public static boolean aromatize​(Molecule3D mol,
                                        java.util.Set<java.lang.Integer> aromaticAtoms,
                                        java.util.Set<java.lang.Integer> aromaticBonds)
      • aromatize

        public static boolean aromatize​(Molecule3D mol,
                                        java.util.ArrayList<java.lang.Integer>[] atomToRings,
                                        RingCollection ringSet,
                                        java.util.Set<java.lang.Integer> aromaticAtoms,
                                        java.util.Set<java.lang.Integer> aromaticBonds)