pal.substmodel
Class YangCodonModel.SimplePositiveSelection

java.lang.Object
  extended by pal.misc.PalObjectListener.EventGenerator
      extended by pal.substmodel.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

Nested Class Summary
 
Nested classes/interfaces inherited from interface pal.substmodel.SubstitutionModel
SubstitutionModel.Utils
 
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser
 
Constructor Summary
  YangCodonModel.SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega)
           
  YangCodonModel.SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega, double p0, double p1)
           
  YangCodonModel.SimplePositiveSelection(CodonTable translator, double[] codonProbabilities, double startingKappa, double startingFreeOmega, double p0, double p1, double p2)
           
protected YangCodonModel.SimplePositiveSelection(YangCodonModel.SimplePositiveSelection toCopy)
           
 
Method Summary
 java.lang.Object clone()
           
 SubstitutionModel getCopy()
           
 DataType getDataType()
           
 double getDefaultValue(int n)
          get default value of parameter
 double[] getEquilibriumFrequencies()
          Should return a double[] array of the related equilibrium frequencies.
 double getLowerLimit(int n)
          get lower parameter limit
 int getNumberOfTransitionCategories()
           
 int getNumParameters()
          Five parameters, three proportions, kappa, omega.
 OrthogonalHints getOrthogonalHints()
          May return null
 double getParameter(int n)
          get model parameter
 double[] getTransitionCategoryProbabilities()
           
 double getTransitionCategoryProbability(int category)
           
 void getTransitionProbabilities(double branchLength, double[][][] tableStore)
          Table is organized as [transition_group][from][to]
 void getTransitionProbabilities(double branchLength, int category, double[][] tableStore)
          Table is organized as [tree_group][from][to]
 void getTransitionProbabilitiesTranspose(double branchLength, double[][][] tableStore)
          Table is organized as [tree_group][to][from]
 void getTransitionProbabilitiesTranspose(double branchLength, int category, double[][] tableStore)
          Table is organized as [to][from]
 double getUpperLimit(int n)
          get upper parameter limit
 void report(java.io.PrintWriter pw)
          print human readable report (e.g., on parameters and associated model)
 void setParameter(double param, int n)
          set model parameter
 void setParameterSE(double paramSE, int n)
          set standard errors for model parameter
 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)
 java.lang.String toString()
           
 
Methods inherited from class pal.misc.PalObjectListener.EventGenerator
addPalObjectListener, fireParametersChangedEvent, fireParametersChangedEvent, fireStructureChangedEvent, fireStructureChangedEvent, removePalObjectListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pal.substmodel.SubstitutionModel
addPalObjectListener, removePalObjectListener
 

Constructor Detail

YangCodonModel.SimplePositiveSelection

protected YangCodonModel.SimplePositiveSelection(YangCodonModel.SimplePositiveSelection toCopy)

YangCodonModel.SimplePositiveSelection

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

YangCodonModel.SimplePositiveSelection

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

YangCodonModel.SimplePositiveSelection

public YangCodonModel.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

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