Package pal.substmodel
Class CachedRateMatrix
java.lang.Object
pal.substmodel.CachedRateMatrix
- All Implemented Interfaces:
Serializable
,Cloneable
,NamedParameterized
,PalObjectListener
,Parameterized
,Report
,RateMatrix
a cached rate matrix.
This model caches transition probabilities by distance in order
to increase speed of likelihood calculations for repeated calls with same/similar
branch lengths.
AS OF 11 November 2003 this class has been made abstract and will be removed at a later point (as it never really helped much)
AS OF 11 November 2003 this class has been made abstract and will be removed at a later point (as it never really helped much)
- Version:
- $Id: CachedRateMatrix.java,v 1.13 2003/11/13 04:05:39 matt Exp $
- Author:
- Alexei Drummond
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface pal.misc.PalObjectListener
PalObjectListener.EventGenerator
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
-
Constructor Summary
ConstructorsConstructorDescriptionCachedRateMatrix
(CachedRateMatrix cachedRateMatrix) CachedRateMatrix
(RateMatrix rateMatrix, int maxCacheSize) CachedRateMatrix
(RateMatrix rateMatrix, DoubleKeyCache cache) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a PalObjectListener to be notified of changes to the model.final Object
clone()
A non shallow implementation of clone()final DataType
Get the data type of this rate matrixfinal double
getDefaultValue
(int n) get default value of parameterfinal int
final double[]
final double
getEquilibriumFrequency
(int i) final double
getLowerLimit
(int n) get lower parameter limitfinal int
get numerical code describing the model typefinal int
get number of parametersfinal double
getParameter
(int n) get model parameterfinal String
getParameterName
(int i) final double[][]
final void
getTransitionProbabilities
(double[][] probs) A utility method for speed, transfers trans prob information quickly into storefinal double
getTransitionProbability
(int i, int j) get transition probability for the preselected model and the previously specified distancefinal int
get numerical code describing the data typefinal String
final double
getUpperLimit
(int n) get upper parameter limitvoid
Signifies that parametric valued governing the state of this Object have changed.void
final void
report
(PrintWriter out) print human readable report (e.g., on parameters and associated model)final void
setDistance
(double k) set distance and corresponding computation transition probabilitiesfinal void
setDistanceTranspose
(double k) Sets the distance (such as time/branch length) used when calculating the probabilities.final void
setParameter
(double param, int n) set model parameterfinal void
setParameterSE
(double paramSE, int n) set standard errors for model parametervoid
Signifies that the structure of the object has changed (for example in trees to topology has changed)toString()
Return string representation of substitution model.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface pal.substmodel.RateMatrix
scale, setParametersNoScale
-
Constructor Details
-
CachedRateMatrix
- Parameters:
model
- the underlying substitution modelcache
- the caching method used
-
CachedRateMatrix
- Parameters:
model
- the underlying substitution model
-
CachedRateMatrix
- Parameters:
model
- the previous cached model.
-
-
Method Details
-
report
Description copied from interface:Report
print human readable report (e.g., on parameters and associated model) -
getTypeID
public final int getTypeID()Description copied from interface:RateMatrix
get numerical code describing the data type- Specified by:
getTypeID
in interfaceRateMatrix
- Returns:
- integer code identifying a data type
-
getModelID
public final int getModelID()Description copied from interface:RateMatrix
get numerical code describing the model type- Specified by:
getModelID
in interfaceRateMatrix
- Returns:
- integer code identifying a substitution model
-
getDimension
public final int getDimension()- Specified by:
getDimension
in interfaceRateMatrix
- Returns:
- the dimension of this rate matrix.
-
getEquilibriumFrequencies
public final double[] getEquilibriumFrequencies()- Specified by:
getEquilibriumFrequencies
in interfaceRateMatrix
- Returns:
- stationary frequencies (sum = 1.0)
-
getEquilibriumFrequency
public final double getEquilibriumFrequency(int i) - Specified by:
getEquilibriumFrequency
in interfaceRateMatrix
- Returns:
- stationary frequency (sum = 1.0) for ith state Preferred method for infrequent use.
-
getRelativeRates
public final double[][] getRelativeRates()- Specified by:
getRelativeRates
in interfaceRateMatrix
- Returns:
- rate matrix (transition: from 1st index to 2nd index)
-
toString
Return string representation of substitution model. -
getNumParameters
public final int getNumParameters()Description copied from interface:Parameterized
get number of parameters- Specified by:
getNumParameters
in interfaceParameterized
- Returns:
- number of parameters
-
setParameter
public final void setParameter(double param, int n) Description copied from interface:Parameterized
set model parameter- Specified by:
setParameter
in interfaceParameterized
- Parameters:
param
- parameter valuen
- parameter number
-
getParameter
public final double getParameter(int n) Description copied from interface:Parameterized
get model parameter- Specified by:
getParameter
in interfaceParameterized
- Parameters:
n
- parameter number- Returns:
- parameter value
-
setParameterSE
public final void setParameterSE(double paramSE, int n) Description copied from interface:Parameterized
set standard errors for model parameter- Specified by:
setParameterSE
in interfaceParameterized
- Parameters:
paramSE
- standard error of parameter valuen
- parameter number
-
getLowerLimit
public final double getLowerLimit(int n) Description copied from interface:Parameterized
get lower parameter limit- Specified by:
getLowerLimit
in interfaceParameterized
- Parameters:
n
- parameter number- Returns:
- lower bound
-
getUpperLimit
public final double getUpperLimit(int n) Description copied from interface:Parameterized
get upper parameter limit- Specified by:
getUpperLimit
in interfaceParameterized
- Parameters:
n
- parameter number- Returns:
- upper bound
-
getDefaultValue
public final double getDefaultValue(int n) Description copied from interface:Parameterized
get default value of parameter- Specified by:
getDefaultValue
in interfaceParameterized
- Parameters:
n
- parameter number- Returns:
- default value
-
getParameterName
- Specified by:
getParameterName
in interfaceNamedParameterized
- Returns:
- a short identifier for this parameter type. Should be the same for all instances of a given class!
-
setDistance
public final void setDistance(double k) set distance and corresponding computation transition probabilities- Specified by:
setDistance
in interfaceRateMatrix
- Parameters:
k
- distance
-
setDistanceTranspose
public final void setDistanceTranspose(double k) Description copied from interface:RateMatrix
Sets the distance (such as time/branch length) used when calculating the probabilities.- Specified by:
setDistanceTranspose
in interfaceRateMatrix
-
getTransitionProbability
public final double getTransitionProbability(int i, int j) get transition probability for the preselected model and the previously specified distance- Specified by:
getTransitionProbability
in interfaceRateMatrix
- Parameters:
i
- start statej
- end state- Returns:
- transition probability
-
getTransitionProbabilities
public final void getTransitionProbabilities(double[][] probs) Description copied from interface:RateMatrix
A utility method for speed, transfers trans prob information quickly into store- Specified by:
getTransitionProbabilities
in interfaceRateMatrix
-
clone
A non shallow implementation of clone()- Specified by:
clone
in interfaceRateMatrix
- Overrides:
clone
in classObject
-
getDataType
Description copied from interface:RateMatrix
Get the data type of this rate matrix- Specified by:
getDataType
in interfaceRateMatrix
-
getUniqueName
- Specified by:
getUniqueName
in interfaceRateMatrix
- Returns:
- a short unique human-readable identifier for this rate matrix.
-
structureChanged
Description copied from interface:PalObjectListener
Signifies that the structure of the object has changed (for example in trees to topology has changed)- Specified by:
structureChanged
in interfacePalObjectListener
-
parametersChanged
Description copied from interface:PalObjectListener
Signifies that parametric valued governing the state of this Object have changed. Parameters don't have to be visible ones For example, in trees the branch lengths have changed.- Specified by:
parametersChanged
in interfacePalObjectListener
-
addPalObjectListener
Description copied from interface:RateMatrix
Add a PalObjectListener to be notified of changes to the model. Only the parametersChanged method will generally be called- Specified by:
addPalObjectListener
in interfaceRateMatrix
-
removePalObjectListener
- Specified by:
removePalObjectListener
in interfaceRateMatrix
-
getOrthogonalHints
- Specified by:
getOrthogonalHints
in interfaceRateMatrix
- Returns:
- null
-