Package ffx.potential.utils
Class ProgressiveAlignmentOfCrystals
java.lang.Object
ffx.potential.utils.ProgressiveAlignmentOfCrystals
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
Modifier and TypeFieldDescriptionfinal double[]
Row of RMSD values (length = targetSize). -
Constructor Summary
ConstructorDescriptionProgressiveAlignmentOfCrystals
(SystemFilter baseFilter, SystemFilter targetFilter, boolean isSymmetric) Constructor for the ProgressiveAlignmentOfCrystals class. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.
-
Field Details
-
distRow
public final double[] distRowRow 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
Parse values of a matrix into a string.- Parameters:
matrix
- Values to presentindex
- Identifierdescription
- Identifier- Returns:
- String of values.
-