Package com.actelion.research.chem.phesa
Class ShapeVolume
- java.lang.Object
-
- com.actelion.research.chem.phesa.ShapeVolume
-
- Direct Known Subclasses:
MolecularVolume
public class ShapeVolume extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<AtomicGaussian>atomicGaussiansprotected Coordinatescomprotected java.util.List<PPGaussian>ppGaussians
-
Constructor Summary
Constructors Constructor Description ShapeVolume()ShapeVolume(ShapeVolume original)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAtomVolume(AtomicGaussian atomGaussian)voidaddPharmacophorePoint(PPGaussian ppGaussian)voidcalcCOM()MatrixcreateCanonicalOrientation(Conformer conf)static ShapeVolumedecode(java.lang.String s)java.lang.Stringencode()java.util.List<AtomicGaussian>getAtomicGaussians()CoordinatesgetCOM()MatrixgetCovarianceMatrix()java.util.List<PPGaussian>getExitVectorGaussians()java.util.List<PPGaussian>getPPGaussians()doublegetSelfAtomOverlap()calculate the self-overlap of the base moleculedoublegetSelfPPOverlap()double[]getTotalAtomOverlap(double[] transform, ShapeVolume fitVol)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, ShapeVolume fitVol)protected booleanisCanonicalOrientation()RotationpreProcess(Conformer conf)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 systemvoidremoveRings()protected voidrotate180DegreeAroundAxis(PheSAAlignment.axis a)protected static voidrotateGaussian(java.util.List<? extends Gaussian3D> gaussians, double[][] rot)protected static voidrotateGaussians180DegreeAroundAxis(java.util.List<? extends Gaussian3D> gaussians, PheSAAlignment.axis a)voidsetAtomicGaussians(java.util.List<AtomicGaussian> atomicGaussians)voidsetPPGaussians(java.util.List<PPGaussian> ppGaussians)voidtransform(Transformation transform)protected voidtransformGaussians(Transformation transform)protected static voidtransformGaussians(java.util.List<? extends Gaussian3D> gaussians, Transformation transform)voidtranslateToCOM(Coordinates com)voidupdate(Conformer conf)voidupdate(StereoMolecule mol)protected voidupdateCoordinates(java.util.List<? extends Gaussian3D> gaussians, Coordinates[] coords)
-
-
-
Field Detail
-
ppGaussians
protected java.util.List<PPGaussian> ppGaussians
-
atomicGaussians
protected java.util.List<AtomicGaussian> atomicGaussians
-
com
protected Coordinates com
-
-
Constructor Detail
-
ShapeVolume
public ShapeVolume()
-
ShapeVolume
public ShapeVolume(ShapeVolume original)
-
-
Method Detail
-
addPharmacophorePoint
public void addPharmacophorePoint(PPGaussian ppGaussian)
-
addAtomVolume
public void addAtomVolume(AtomicGaussian atomGaussian)
-
update
public void update(StereoMolecule mol)
-
update
public void update(Conformer conf)
-
transform
public void transform(Transformation transform)
-
preProcess
public Rotation preProcess(Conformer conf)
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-
-
removeRings
public void removeRings()
-
isCanonicalOrientation
protected boolean isCanonicalOrientation()
-
getCOM
public Coordinates getCOM()
-
calcCOM
public void calcCOM()
-
updateCoordinates
protected void updateCoordinates(java.util.List<? extends Gaussian3D> gaussians, Coordinates[] coords)
-
transformGaussians
protected void transformGaussians(Transformation transform)
-
transformGaussians
protected static void transformGaussians(java.util.List<? extends Gaussian3D> gaussians, Transformation transform)
-
rotateGaussian
protected static void rotateGaussian(java.util.List<? extends Gaussian3D> gaussians, double[][] rot)
-
rotateGaussians180DegreeAroundAxis
protected static void rotateGaussians180DegreeAroundAxis(java.util.List<? extends Gaussian3D> gaussians, PheSAAlignment.axis a)
-
rotate180DegreeAroundAxis
protected void rotate180DegreeAroundAxis(PheSAAlignment.axis a)
-
encode
public java.lang.String encode()
-
decode
public static ShapeVolume decode(java.lang.String s)
-
getExitVectorGaussians
public java.util.List<PPGaussian> getExitVectorGaussians()
-
getPPGaussians
public java.util.List<PPGaussian> getPPGaussians()
-
setPPGaussians
public void setPPGaussians(java.util.List<PPGaussian> ppGaussians)
-
getAtomicGaussians
public java.util.List<AtomicGaussian> getAtomicGaussians()
-
setAtomicGaussians
public void setAtomicGaussians(java.util.List<AtomicGaussian> atomicGaussians)
-
getCovarianceMatrix
public Matrix getCovarianceMatrix()
-
getSelfAtomOverlap
public double getSelfAtomOverlap()
calculate the self-overlap of the base molecule- Returns:
-
getSelfPPOverlap
public double getSelfPPOverlap()
-
getTotalAtomOverlap
public double[] getTotalAtomOverlap(double[] transform, ShapeVolume fitVol)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, ShapeVolume fitVol)
-
translateToCOM
public void translateToCOM(Coordinates com)
-
-