Class TitrationUtils

java.lang.Object
ffx.potential.parameters.TitrationUtils

public class TitrationUtils extends Object
Utilities for interpolating between Amino Acid protonation and tautomer states.
Since:
1.0
Author:
Michael Schnieders, Andrew Thiel
  • Constructor Details

    • TitrationUtils

      public TitrationUtils(ForceField forceField)
    • TitrationUtils

      public TitrationUtils(ForceField forceField, double proteinDielectric, boolean tanhCorrection)
  • Method Details

    • testResidueTypes

      public boolean testResidueTypes(Residue residue)
    • updateResidueParameters

      public void updateResidueParameters(Residue residue, Rotamer rotamer)
      Update force field parameters for the side-chain atoms of the given residue based on the rotamer amino acid type.
      Parameters:
      residue - Residue to update.
      rotamer - Rotamer that contains the amino acid residue identity.
    • getMultipole

      public double[] getMultipole(Atom atom, double titrationLambda, double tautomerLambda, double[] multipole)
    • getMultipoleTitrationDeriv

      public double[] getMultipoleTitrationDeriv(Atom atom, double titrationLambda, double tautomerLambda, double[] multipole)
    • getMultipoleTautomerDeriv

      public double[] getMultipoleTautomerDeriv(Atom atom, double titrationLambda, double tautomerLambda, double[] multipole)
    • getPolarizability

      public double getPolarizability(Atom atom, double titrationLambda, double tautomerLambda, double defaultPolarizability)
    • getPolarizabilityTitrationDeriv

      public double getPolarizabilityTitrationDeriv(Atom atom, double titrationLambda, double tautomerLambda)
    • getPolarizabilityTautomerDeriv

      public double getPolarizabilityTautomerDeriv(Atom atom, double titrationLambda, double tautomerLambda)
    • isTitratingHydrogen

      public static boolean isTitratingHydrogen(AminoAcidUtils.AminoAcid3 aminoAcid3, Atom atom)
    • isTitratingHeavy

      public static boolean isTitratingHeavy(AminoAcidUtils.AminoAcid3 aminoAcid3, Atom atom)
      Used to keep track of heavy atoms with changing polarizability. Only affects carboxylic oxygen and sulfur.
      Parameters:
      aminoAcid3 - The amino acid type.
      atom - The atom to check.
      Returns:
      True if the atom is a heavy atom with changing polarizability.
    • getTitratingHydrogenDirection

      public static int getTitratingHydrogenDirection(AminoAcidUtils.AminoAcid3 aminoAcid3, Atom atom)
    • setRotamerPhBias

      public void setRotamerPhBias(double temperature, double pH)
    • getRotamerPhBias

      public double getRotamerPhBias(AminoAcidUtils.AminoAcid3 AA3)
    • getTotalRotamerPhBias

      public double getTotalRotamerPhBias(Rotamer[] rotamers)
    • predictHillCoeffandPka

      public static double[] predictHillCoeffandPka(double[] pHScale, double[] residueFractions)
      Predict pKa from a set of residue fractions (deprotonated / (deprotonated + protonated)). This method minimizes the L2 loss between the the measured residue fractions and various pKa/Hill-coefficient values to get pKa/Hill- coefficient predictions.
      Parameters:
      pHScale - pH values at which the residue fractions were measured
      residueFractions - a sorted array of residue fractions (deprotonated / (deprotonated + protonated))
      Returns:
      {n, pKa}