Class BondsCalculator
- java.lang.Object
-
- com.actelion.research.chem.io.pdb.converter.BondsCalculator
-
public class BondsCalculator extends java.lang.ObjectBondsCalculator 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 booleanaromatize(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 booleanaromatize(Molecule3D mol, java.util.Set<java.lang.Integer> aromaticAtoms, java.util.Set<java.lang.Integer> aromaticBonds)static voidcalculateBondOrders(Molecule3D mol)Calculate the bond orders of the molecule (without knowing the hydrogens).static intconnected(StereoMolecule mol, int a, int atomicNo, int bondOrder)static voidcreateBonds(Molecule3D mol, boolean lenient)Calculates the bonds of a molecule by checking the distance between all atoms.static intgetMaximumIonCharge(Molecule3D mol, int atom)
-
-
-
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)
-
-