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>
atomicGaussians
protected Coordinates
com
protected 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 void
addAtomVolume(AtomicGaussian atomGaussian)
void
addPharmacophorePoint(PPGaussian ppGaussian)
void
calcCOM()
Matrix
createCanonicalOrientation(Conformer conf)
static ShapeVolume
decode(java.lang.String s)
java.lang.String
encode()
java.util.List<AtomicGaussian>
getAtomicGaussians()
Coordinates
getCOM()
Matrix
getCovarianceMatrix()
java.util.List<PPGaussian>
getExitVectorGaussians()
java.util.List<PPGaussian>
getPPGaussians()
double
getSelfAtomOverlap()
calculate the self-overlap of the base moleculedouble
getSelfPPOverlap()
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)double
getTotalPPOverlap(double[] transform, ShapeVolume fitVol)
protected boolean
isCanonicalOrientation()
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 systemvoid
removeRings()
protected void
rotate180DegreeAroundAxis(PheSAAlignment.axis a)
protected static void
rotateGaussian(java.util.List<? extends Gaussian3D> gaussians, double[][] rot)
protected static void
rotateGaussians180DegreeAroundAxis(java.util.List<? extends Gaussian3D> gaussians, PheSAAlignment.axis a)
void
setAtomicGaussians(java.util.List<AtomicGaussian> atomicGaussians)
void
setPPGaussians(java.util.List<PPGaussian> ppGaussians)
void
transform(Transformation transform)
protected void
transformGaussians(Transformation transform)
protected static void
transformGaussians(java.util.List<? extends Gaussian3D> gaussians, Transformation transform)
void
translateToCOM(Coordinates com)
void
update(Conformer conf)
void
update(StereoMolecule mol)
protected void
updateCoordinates(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)
-
-