Class BondsCalculator
- java.lang.Object
-
- com.actelion.research.chem.io.pdb.converter.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)
-
-
-
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)
-
-