Class YangCodonModel.SimplePositiveSelection

java.lang.Object
pal.misc.PalObjectListener.EventGenerator
pal.substmodel.YangCodonModel.SimplePositiveSelection
All Implemented Interfaces:
Serializable, Parameterized, Report, SubstitutionModel
Enclosing class:
YangCodonModel

public static class YangCodonModel.SimplePositiveSelection extends PalObjectListener.EventGenerator implements SubstitutionModel
A Substitution Model which can be used to implment the Postitive Selection (with out continuous rate stuff) Codon model of [1] which uses the weighted sum of a three base Codon model where omega=0, omega=1 and omega=free
[1] Nielsen, R., Yang Z., 1998 Likelihood Models for Detecting Positively Selected Amino Acid Sites and Applications to the HIV-1 Envelope Gene. Genetics 148: 929-936.
See Also:
  • Constructor Details

    • SimplePositiveSelection

      protected SimplePositiveSelection(YangCodonModel.SimplePositiveSelection toCopy)
    • SimplePositiveSelection

      public SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega)
    • SimplePositiveSelection

      public SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega, double p0, double p1)
    • SimplePositiveSelection

      public SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega, double p0, double p1, double p2)
  • Method Details

    • clone

      public Object clone()
      Specified by:
      clone in interface SubstitutionModel
      Overrides:
      clone in class Object
    • getCopy

      public SubstitutionModel getCopy()
    • getDataType

      public DataType getDataType()
      Specified by:
      getDataType in interface SubstitutionModel
    • getNumberOfTransitionCategories

      public int getNumberOfTransitionCategories()
      Specified by:
      getNumberOfTransitionCategories in interface SubstitutionModel
      Returns:
      3
    • getTransitionCategoryProbability

      public double getTransitionCategoryProbability(int category)
      Specified by:
      getTransitionCategoryProbability in interface SubstitutionModel
    • getTransitionCategoryProbabilities

      public double[] getTransitionCategoryProbabilities()
      Specified by:
      getTransitionCategoryProbabilities in interface SubstitutionModel
      Returns:
      all the category probabilites for each category respectively.
    • getEquilibriumFrequencies

      public double[] getEquilibriumFrequencies()
      Description copied from interface: SubstitutionModel
      Should return a double[] array of the related equilibrium frequencies. As a rule, callers should not alter the returned array (it may be used internally)
      Specified by:
      getEquilibriumFrequencies in interface SubstitutionModel
    • getTransitionProbabilities

      public void getTransitionProbabilities(double branchLength, double[][][] tableStore)
      Description copied from interface: SubstitutionModel
      Table is organized as [transition_group][from][to]
      Specified by:
      getTransitionProbabilities in interface SubstitutionModel
    • getTransitionProbabilities

      public void getTransitionProbabilities(double branchLength, int category, double[][] tableStore)
      Table is organized as [tree_group][from][to]
      Specified by:
      getTransitionProbabilities in interface SubstitutionModel
    • getTransitionProbabilitiesTranspose

      public void getTransitionProbabilitiesTranspose(double branchLength, double[][][] tableStore)
      Table is organized as [tree_group][to][from]
      Specified by:
      getTransitionProbabilitiesTranspose in interface SubstitutionModel
    • getTransitionProbabilitiesTranspose

      public void getTransitionProbabilitiesTranspose(double branchLength, int category, double[][] tableStore)
      Table is organized as [to][from]
      Specified by:
      getTransitionProbabilitiesTranspose in interface SubstitutionModel
    • setTransitionCategoryProbabilities

      public final void setTransitionCategoryProbabilities(double p0, double p1, double p2)
      We use three parameters instead of two to make opimisation easier (there are effectively only *two* parameters though)
      Parameters:
      p0 -
      p1 -
      p2 -
    • getNumParameters

      public int getNumParameters()
      Five parameters, three proportions, kappa, omega. Even though the probabilities could be represented by two parameters we use three for ease of optimisation
      Specified by:
      getNumParameters in interface Parameterized
      Returns:
      number of parameters
    • setParameter

      public void setParameter(double param, int n)
      Description copied from interface: Parameterized
      set model parameter
      Specified by:
      setParameter in interface Parameterized
      Parameters:
      param - parameter value
      n - parameter number
    • getParameter

      public double getParameter(int n)
      Description copied from interface: Parameterized
      get model parameter
      Specified by:
      getParameter in interface Parameterized
      Parameters:
      n - parameter number
      Returns:
      parameter value
    • setParameterSE

      public void setParameterSE(double paramSE, int n)
      Description copied from interface: Parameterized
      set standard errors for model parameter
      Specified by:
      setParameterSE in interface Parameterized
      Parameters:
      paramSE - standard error of parameter value
      n - parameter number
    • getLowerLimit

      public double getLowerLimit(int n)
      Description copied from interface: Parameterized
      get lower parameter limit
      Specified by:
      getLowerLimit in interface Parameterized
      Parameters:
      n - parameter number
      Returns:
      lower bound
    • getUpperLimit

      public double getUpperLimit(int n)
      Description copied from interface: Parameterized
      get upper parameter limit
      Specified by:
      getUpperLimit in interface Parameterized
      Parameters:
      n - parameter number
      Returns:
      upper bound
    • getDefaultValue

      public double getDefaultValue(int n)
      Description copied from interface: Parameterized
      get default value of parameter
      Specified by:
      getDefaultValue in interface Parameterized
      Parameters:
      n - parameter number
      Returns:
      default value
    • getOrthogonalHints

      public OrthogonalHints getOrthogonalHints()
      Description copied from interface: SubstitutionModel
      May return null
      Specified by:
      getOrthogonalHints in interface SubstitutionModel
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • report

      public void report(PrintWriter pw)
      Description copied from interface: Report
      print human readable report (e.g., on parameters and associated model)
      Specified by:
      report in interface Report
      Parameters:
      pw - output stream