Class YangCodonModel.SimplePositiveSelection

  • All Implemented Interfaces:
    java.io.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:
    Serialized Form
    • Constructor Detail

      • 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 Detail

      • clone

        public java.lang.Object clone()
        Specified by:
        clone in interface SubstitutionModel
        Overrides:
        clone in class java.lang.Object
      • 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,
                                               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
      • toString

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

        public void report​(java.io.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