Class ShapeVolume

  • Direct Known Subclasses:
    MolecularVolume

    public class ShapeVolume
    extends java.lang.Object
    • 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​(Conformer conf)
      • 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()
      • createCanonicalOrientation

        public Matrix createCanonicalOrientation​(Conformer conf)
      • isCanonicalOrientation

        protected boolean isCanonicalOrientation()
      • 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)