Class ManyBodyOptions

java.lang.Object
ffx.algorithms.cli.ManyBodyOptions

public class ManyBodyOptions extends Object
Represents command line options for scripts that use a many-body expansion for global optimization.
Since:
1.0
Author:
Michael J. Schnieders, Mallory R. Tollefson
  • Constructor Details

    • ManyBodyOptions

      public ManyBodyOptions()
  • Method Details

    • initRotamerOptimization

      public void initRotamerOptimization(RotamerOptimization rotamerOptimization, MolecularAssembly activeAssembly)
      initRotamerOptimization.
      Parameters:
      rotamerOptimization - a RotamerOptimization object.
      activeAssembly - a MolecularAssembly object.
    • collectResidues

      public List<Residue> collectResidues(MolecularAssembly activeAssembly)
      Collect residues based on residue selection flags.
      Parameters:
      activeAssembly - a MolecularAssembly object.
    • getAlgorithm

      public RotamerOptimization.Algorithm getAlgorithm(int numResidues)
      Returns the user selected algorithm or one chosen based on number of residues.
      Returns:
      Returns the algorithm choice.
    • getUsingOriginalCoordinates

      public boolean getUsingOriginalCoordinates()
    • setOriginalCoordinates

      public void setOriginalCoordinates(boolean useOrig)
    • getApproximate

      public double getApproximate()
    • getRestartFile

      public File getRestartFile()
      Gets the restart file created during rotamer optimization.
      Returns:
      The restart file.
    • getRotamerLibrary

      public RotamerLibrary getRotamerLibrary(boolean reinit)
    • setAlgorithm

      public void setAlgorithm(int algorithm)
    • getLibrary

      public int getLibrary()
      Ponder and Richards (1) or Richardson (2) rotamer library.
      Returns:
      Returns the Rotamer library.
    • setLibrary

      public void setLibrary(int library)
    • getNaLibraryName

      public String getNaLibraryName()
      Nucleic acid library: currently only Richardson available.
      Returns:
      Returns a String for the nucleic acid library.
    • setNaLibraryName

      public void setNaLibraryName(String naLibraryName)
    • isDee

      public boolean isDee()
      Use dead-end elimination criteria instead of Goldstein criteria.
      Returns:
      Returns true if using DEE instead of Goldstein.
    • setDee

      public void setDee(boolean dee)
    • getChain

      public String getChain()
      Single character chain ID of the residues to optimize.
      Returns:
      Returns the Chain name.
    • setChain

      public void setChain(String chain)
    • getOnlyTitration

      public boolean getOnlyTitration()
    • setOnlyTitration

      public void setOnlyTitration(boolean onlyTitration)
    • getOnlyProtons

      public boolean getOnlyProtons()
    • setOnlyProtons

      public void setOnlyProtons(boolean onlyProtons)
    • getInterestedResidue

      public int getInterestedResidue()
    • setInterestedResidue

      public void setInterestedResidue(int interestedResidue)
    • getInclusionCutoff

      public double getInclusionCutoff()
    • setInclusionCutoff

      public void setInclusionCutoff(double inclusionCutoff)
    • getStart

      public int getStart()
      Starting residue to perform the optimization on (-1 exits). For box optimization, first box to optimize.
      Returns:
      Returns the starting index.
    • setStart

      public void setStart(int start)
    • getFinish

      public int getFinish()
      Final residue to perform the optimization on (-1 exits). For box optimization, final box to optimize.
      Returns:
      Returns the finish index.
    • setFinish

      public void setFinish(int finish)
    • getTwoBodyCutoff

      public double getTwoBodyCutoff()
      Cutoff distance for two-body interactions.
      Returns:
      Returns the 2-body cutoff.
    • setTwoBodyCutoff

      public void setTwoBodyCutoff(double twoBodyCutoff)
    • isThreeBody

      public boolean isThreeBody()
      -T or --threeBody Include 3-Body interactions in the elimination criteria.
      Returns:
      Returns true if 3-body interactions are being used.
    • setThreeBody

      public void setThreeBody(boolean threeBody)
    • getThreeBodyCutoff

      public double getThreeBodyCutoff()
      Cutoff distance for three-body interactions.
      Returns:
      Returns the 3-body cutoff.
    • setThreeBodyCutoff

      public void setThreeBodyCutoff(double threeBodyCutoff)
    • getPrune

      public int getPrune()
      Prune no clashes (0), only single clashes (1), or all clashes (2).
      Returns:
      Returns the pruning condition.
    • setPrune

      public void setPrune(int prune)
    • isRevert

      public boolean isRevert()
      Revert unfavorable changes.
      Returns:
      Returns true if unfavorable changes are reverted.
    • setRevert

      public void setRevert(boolean revert)
    • getEnergyRestart

      public String getEnergyRestart()
      Energy restart file from a previous run (requires that all parameters are the same).
      Returns:
      Returns the energy restart file to use.
    • setEnergyRestart

      public void setEnergyRestart(String energyRestart)
    • isNoOriginal

      public boolean isNoOriginal()
      Do not include starting coordinates as their own rotamer.
      Returns:
      Returns true if original side-chain coordinates should not be used as a rotamer.
    • setNoOriginal

      public void setNoOriginal(boolean noOriginal)
    • isDecompose

      public boolean isDecompose()
      -E or --decompose Print energy decomposition for the input structure (no optimization).
      Returns:
      Returns true if the input structure should undergo an energy decomposition.
    • setDecompose

      public void setDecompose(boolean decompose)
    • getListResidues

      public String getListResidues()
      Choose a list of individual residues to optimize (eg. A11,A24,B40).
      Returns:
      Returns the list of selected residues.
    • setListResidues

      public void setListResidues(String listResidues)
    • getMonteCarlo

      public int getMonteCarlo()
      Follow elimination criteria with 'n' Monte Carlo steps, or enumerate all remaining conformations, whichever is smaller.
      Returns:
      Returns the number of Monte Carlo optimization steps to apply.
    • setMonteCarlo

      public void setMonteCarlo(int monteCarlo)
    • isSaveOutput

      public boolean isSaveOutput()
      Save eliminated singles and eliminated pairs to a text file (global and box optimization).
      Returns:
      Returns true to Save eliminated rotamers to a file.
    • setSaveOutput

      public void setSaveOutput(boolean saveOutput)
    • getWindow

      public int getWindow()
      Size of the sliding window with respect to adjacent residues (default = 7).
      Returns:
      Returns the sliding window size.
    • setWindow

      public void setWindow(int window)
    • getIncrement

      public int getIncrement()
      Sliding window increment (default = 3).
      Returns:
      Returns the sliding window increment.
    • setIncrement

      public void setIncrement(int increment)
    • getCutoff

      public double getCutoff()
      The sliding window and box cutoff radius (Angstroms).
      Returns:
      Returns the sliding window cutoff radius.
    • setCutoff

      public void setCutoff(double cutoff)
    • getClashThreshold

      public double getClashThreshold()
      The threshold for pruning clashes. If two self-energies on the same residue have an energy difference greater than 25 kcal/mol, the high energy rotamers get pruned.
      Returns:
      Returns the clash threshold for self energies.
    • setClashThreshold

      public void setClashThreshold(double clashThreshold)
    • getPairClashThreshold

      public double getPairClashThreshold()
      The threshold for pruning clashes. If two pair-energies on the same residues have an energy difference greater than 25 kcal/mol, the high energy rotamers get pruned.
      Returns:
      Returns the clash threshold for pair energies.
    • setPairClashThreshold

      public void setPairClashThreshold(double pairClashThreshold)
    • getNumBoxes

      public String getNumBoxes()
      The number of boxes along X, Y, and Z (default: '3,3,3').
      Returns:
      Returns the number of boxes.
    • setNumBoxes

      public void setNumBoxes(String numBoxes)
    • getBoxBorderSize

      public double getBoxBorderSize()
      Extent of overlap between optimization boxes (default: 0.0 A).
      Returns:
      Returns the overlap between optimization boxes.
    • setBoxBorderSize

      public void setBoxBorderSize(double boxBorderSize)
    • getApproxBoxLength

      public double getApproxBoxLength()
      Approximate side lengths of boxes to be constructed (over-rides numXYZBoxes). Box sizes are rounded up to make a whole number of boxes along each axis (default of 0 disables this function).
      Returns:
      Returns the approximate box length.
    • setApproxBoxLength

      public void setApproxBoxLength(double approxBoxLength)
    • getBoxInclusionCriterion

      public int getBoxInclusionCriterion()
      Criterion to use for adding residues to boxes. (1) uses C alpha only (N1/9 for nucleic acids) (2) uses any atom. (3) uses any rotamer.
      Returns:
      Returns the Box inclusion criteria.
    • setBoxInclusionCriterion

      public void setBoxInclusionCriterion(int boxInclusionCriterion)
    • setTitrationPH

      public void setTitrationPH(double pH)
    • getTitrationPH

      public double getTitrationPH()
    • setPHRestraint

      public void setPHRestraint(double pHRestraint)
    • getPHRestraint

      public double getPHRestraint()
    • isTitrating

      public boolean isTitrating()
    • getTitration

      public boolean getTitration()
    • selectInclusionResidues

      public String selectInclusionResidues(List<Residue> residueList, int mutatingResidue, boolean onlyTitration, boolean onlyProtons, double inclusionCutoff)