Package com.actelion.research.chem.phesa
Class PheSAAlignment
- java.lang.Object
-
- com.actelion.research.chem.phesa.PheSAAlignment
-
public class PheSAAlignment extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPheSAAlignment.axisstatic classPheSAAlignment.PheSAResult
-
Constructor Summary
Constructors Constructor Description PheSAAlignment(MolecularVolume refMolGauss, MolecularVolume molGauss)PheSAAlignment(MolecularVolume refMolGauss, MolecularVolume molGauss, double ppWeight)PheSAAlignment(StereoMolecule refMol, StereoMolecule mol)PheSAAlignment(StereoMolecule refMol, StereoMolecule mol, double ppWeight)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static MatrixcreateCanonicalOrientation(Conformer conf, MolecularVolume molGauss)double[]findAlignment(double[][] transforms)double[]findAlignment(double[][] transforms, boolean optimize)MolecularVolumegetMolGauss()MolecularVolumegetRefMolGauss()static voidgetRotationMatrix(double theta, Coordinates axis, double[][] r)doublegetSelfAtomOverlap(MolecularVolume molGauss)calculate the self-overlap of the base moleculedoublegetSelfAtomOverlapFit()doublegetSelfAtomOverlapRef()doublegetSelfPPOverlap(MolecularVolume molGauss)doublegetSelfPPOverlapFit()doublegetSelfPPOverlapRef()double[]getTotalAtomOverlap(double[] transform)calculate the Overlap of the two molecular volumes as a function a transform vector that is applied to the query molecule overlap Volume of two molecular Volumes formulated as a summed overlap of atomic Gaussians taken from Grant, Gallardo, Pickup, Journal of Computational Chemistry, 17, 1653-1666, 1996 returns a double[2]: the first double is the total overlap, whereas the second value is the specific contribution of additional volume gaussians (inclusion, exclusion)doublegetTotalPPOverlap(double[] transform)static double[][]initialTransform(int mode).static voidmultiplyInverseMatrix(double[][] r, double[][] s, double[][] rs)static voidmultiplyMatrix(double[][] r, double[][] s, double[][] rs)static MatrixpreProcess(Conformer conf, MolecularVolume molVol)Move COM of the molecular volume to the origin of the lab-frame and orient molecules so that their principal moments of inertia coincide with the 3 axis of the coordinate systemstatic voidrotateMol(Conformer conf, double[] transform)static voidrotateMol(Conformer conf, Matrix rotMat)static voidrotateMol(Conformer conf, Quaternion rotor, double[] transl)static voidrotateMol(StereoMolecule mol, double[] transform)static voidrotateMol(StereoMolecule mol, double[][] m)static voidrotateMol(StereoMolecule mol, Matrix rotMat)static voidrotateMol(StereoMolecule mol, Quaternion rotor, double[] transl)static voidtranslateMol(StereoMolecule mol, double[] translate)
-
-
-
Constructor Detail
-
PheSAAlignment
public PheSAAlignment(StereoMolecule refMol, StereoMolecule mol, double ppWeight)
-
PheSAAlignment
public PheSAAlignment(StereoMolecule refMol, StereoMolecule mol)
-
PheSAAlignment
public PheSAAlignment(MolecularVolume refMolGauss, MolecularVolume molGauss)
-
PheSAAlignment
public PheSAAlignment(MolecularVolume refMolGauss, MolecularVolume molGauss, double ppWeight)
-
-
Method Detail
-
getRefMolGauss
public MolecularVolume getRefMolGauss()
-
getMolGauss
public MolecularVolume getMolGauss()
-
preProcess
public static Matrix preProcess(Conformer conf, MolecularVolume molVol)
Move COM of the molecular volume to the origin of the lab-frame and orient molecules so that their principal moments of inertia coincide with the 3 axis of the coordinate system- Parameters:
mol-molVol-
-
createCanonicalOrientation
public static Matrix createCanonicalOrientation(Conformer conf, MolecularVolume molGauss)
-
initialTransform
public static double[][] initialTransform(int mode)
. generate initial orientations of the molecule: mode1: 4 orientations: initial orientation and 180 degree rotation about each axis mode2: mode1 and 90 degree rotations about each axis a transformation vector consists of 7 elements: the first 4 elements form a Quaternion and describe the rotation the last three elements are the translation vector- Parameters:
mode-- Returns:
-
getTotalAtomOverlap
public double[] getTotalAtomOverlap(double[] transform)
calculate the Overlap of the two molecular volumes as a function a transform vector that is applied to the query molecule overlap Volume of two molecular Volumes formulated as a summed overlap of atomic Gaussians taken from Grant, Gallardo, Pickup, Journal of Computational Chemistry, 17, 1653-1666, 1996 returns a double[2]: the first double is the total overlap, whereas the second value is the specific contribution of additional volume gaussians (inclusion, exclusion)- Parameters:
transform-- Returns:
-
getTotalPPOverlap
public double getTotalPPOverlap(double[] transform)
-
getSelfAtomOverlap
public double getSelfAtomOverlap(MolecularVolume molGauss)
calculate the self-overlap of the base molecule- Returns:
-
getSelfPPOverlap
public double getSelfPPOverlap(MolecularVolume molGauss)
-
getSelfAtomOverlapRef
public double getSelfAtomOverlapRef()
-
getSelfAtomOverlapFit
public double getSelfAtomOverlapFit()
-
getSelfPPOverlapRef
public double getSelfPPOverlapRef()
-
getSelfPPOverlapFit
public double getSelfPPOverlapFit()
-
rotateMol
public static void rotateMol(Conformer conf, Quaternion rotor, double[] transl)
-
rotateMol
public static void rotateMol(StereoMolecule mol, Quaternion rotor, double[] transl)
-
rotateMol
public static void rotateMol(StereoMolecule mol, double[][] m)
-
translateMol
public static void translateMol(StereoMolecule mol, double[] translate)
-
multiplyMatrix
public static void multiplyMatrix(double[][] r, double[][] s, double[][] rs)
-
multiplyInverseMatrix
public static void multiplyInverseMatrix(double[][] r, double[][] s, double[][] rs)
-
getRotationMatrix
public static void getRotationMatrix(double theta, Coordinates axis, double[][] r)
-
findAlignment
public double[] findAlignment(double[][] transforms)
-
findAlignment
public double[] findAlignment(double[][] transforms, boolean optimize)
-
rotateMol
public static void rotateMol(StereoMolecule mol, double[] transform)
-
rotateMol
public static void rotateMol(StereoMolecule mol, Matrix rotMat)
-
rotateMol
public static void rotateMol(Conformer conf, double[] transform)
-
-