Class ProgressiveAlignmentOfCrystals

java.lang.Object
ffx.potential.utils.ProgressiveAlignmentOfCrystals

public class ProgressiveAlignmentOfCrystals extends Object
Class ProgressiveAlignmentOfCrystals holds the majority of the functionality necessary to quantify crystal similarity following the PAC method.
Since:
1.0
Author:
Okimasa OKADA, Aaron J. Nessler, and Michael J. Schnieders
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    final double[]
    Row of RMSD values (length = targetSize).
  • Constructor Summary

    Constructors
    Constructor
    Description
    ProgressiveAlignmentOfCrystals(SystemFilter baseFilter, SystemFilter targetFilter, boolean isSymmetric)
    Constructor for the ProgressiveAlignmentOfCrystals class.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addRotation(double[][] rot, double[][] totalTransform, boolean prepend)
    Accumulate rotations (matrix multiplication)
    static void
    addTranslation(double[] translation, double[][] totalTransform, boolean prepend)
    Accumulate translations (matrix multiplication)
    comparisons(int nAU, double inflationFactor, double matchTol, double hitTol, int zPrime, int zPrime2, String excludeAtomsA, String excludeAtomsB, boolean alphaCarbons, boolean includeHydrogen, boolean massWeighted, int crystalPriority, boolean strict, int saveClusters, double save, boolean restart, boolean write, boolean machineLearning, boolean inertia, boolean gyrationComponents, int linkage, double printSym, boolean lowMemory, boolean createFE, boolean appendSym, String pacFileName)
    Compare the crystals within the SystemFilters that were inputted into the constructor of this class.
    static String
    matrixToString(double[][] matrix, int index, String description)
    Parse values of a matrix into a string.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • distRow

      public final double[] distRow
      Row of RMSD values (length = targetSize).
  • Constructor Details

    • ProgressiveAlignmentOfCrystals

      public ProgressiveAlignmentOfCrystals(SystemFilter baseFilter, SystemFilter targetFilter, boolean isSymmetric)
      Constructor for the ProgressiveAlignmentOfCrystals class.
      Parameters:
      baseFilter - SystemFilter containing a set of crystal structures to compare.
      targetFilter - SystemFilter containing the other set of crystals to compare.
      isSymmetric - Whether the comparison can be limited to the upper triangle.
  • Method Details

    • comparisons

      public RunningStatistics comparisons(int nAU, double inflationFactor, double matchTol, double hitTol, int zPrime, int zPrime2, String excludeAtomsA, String excludeAtomsB, boolean alphaCarbons, boolean includeHydrogen, boolean massWeighted, int crystalPriority, boolean strict, int saveClusters, double save, boolean restart, boolean write, boolean machineLearning, boolean inertia, boolean gyrationComponents, int linkage, double printSym, boolean lowMemory, boolean createFE, boolean appendSym, String pacFileName)
      Compare the crystals within the SystemFilters that were inputted into the constructor of this class.
      Parameters:
      nAU - Number of asymmetric units to compare.
      inflationFactor - Specify safety factor when generating replicates crystal.
      matchTol - Tolerance to determine whether two AUs are the same (increases efficiency).
      zPrime - Number of asymmetric units in first crystal (default attempts detection).
      zPrime2 - Number of asymmetric units in second crystal (default attempts detection).
      excludeAtomsA - List of atoms specific to first crystal.
      excludeAtomsB - List of atoms specific to second crystal.
      alphaCarbons - Perform comparisons on only alpha carbons.
      includeHydrogen - Include hydrogen.
      massWeighted - Perform comparisons with mass weighted coordinates (center of mass instead of geometric center).
      crystalPriority - Prioritize most dense (0), least dense (1), or first inputted file (2).
      strict - More intensive, but less efficient version of PAC.
      saveClusters - Save out files of the resulting superposition.
      restart - Try to restart from a previous job.
      write - Save out a PAC RMSD file.
      machineLearning - Save out CSV files for machine learning input (saves PDBs as well).
      inertia - Compute moments of inertia for final clusters.
      gyrationComponents - Compute axial components for radius of gyration of final clusters.
      linkage - Prioritize entities based on single, average, or complete linkage.
      printSym - Print final symmetry operator used to superimpose mobile assembly onto static assembly.
      lowMemory - Crystals will be read in as needed (slower performance, but less memory intensive)
      pacFileName - The filename to use.
      Returns:
      RunningStatistics Statistics for comparisons performed.
    • addRotation

      public void addRotation(double[][] rot, double[][] totalTransform, boolean prepend)
      Accumulate rotations (matrix multiplication)
      Parameters:
      rot - Rotation matrix to add.
      totalTransform - Array to be updated with rotation (4x4).
      prepend - If true prepend translation, false append to end.
    • addTranslation

      public static void addTranslation(double[] translation, double[][] totalTransform, boolean prepend)
      Accumulate translations (matrix multiplication)
      Parameters:
      translation - Translation matrix to add.
      totalTransform - Array to be updated with translation (4x4).
      prepend - If true prepend translation, false append to end.
    • matrixToString

      public static String matrixToString(double[][] matrix, int index, String description)
      Parse values of a matrix into a string.
      Parameters:
      matrix - Values to present
      index - Identifier
      description - Identifier
      Returns:
      String of values.