Package pal.substmodel
Class CachedRateMatrix
- java.lang.Object
-
- pal.substmodel.CachedRateMatrix
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,NamedParameterized
,PalObjectListener
,Parameterized
,Report
,RateMatrix
public abstract class CachedRateMatrix extends java.lang.Object implements RateMatrix, PalObjectListener
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)- Version:
- $Id: CachedRateMatrix.java,v 1.13 2003/11/13 04:05:39 matt Exp $
- Author:
- Alexei Drummond
- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description CachedRateMatrix(CachedRateMatrix cachedRateMatrix)
CachedRateMatrix(RateMatrix rateMatrix, int maxCacheSize)
CachedRateMatrix(RateMatrix rateMatrix, DoubleKeyCache cache)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPalObjectListener(PalObjectListener pol)
Add a PalObjectListener to be notified of changes to the model.java.lang.Object
clone()
A non shallow implementation of clone()DataType
getDataType()
Get the data type of this rate matrixdouble
getDefaultValue(int n)
get default value of parameterint
getDimension()
double[]
getEquilibriumFrequencies()
double
getEquilibriumFrequency(int i)
double
getLowerLimit(int n)
get lower parameter limitint
getModelID()
get numerical code describing the model typeint
getNumParameters()
get number of parametersOrthogonalHints
getOrthogonalHints()
double
getParameter(int n)
get model parameterjava.lang.String
getParameterName(int i)
double[][]
getRelativeRates()
void
getTransitionProbabilities(double[][] probs)
A utility method for speed, transfers trans prob information quickly into storedouble
getTransitionProbability(int i, int j)
get transition probability for the preselected model and the previously specified distanceint
getTypeID()
get numerical code describing the data typejava.lang.String
getUniqueName()
double
getUpperLimit(int n)
get upper parameter limitvoid
parametersChanged(PalObjectEvent pe)
Signifies that parametric valued governing the state of this Object have changed.void
removePalObjectListener(PalObjectListener pol)
void
report(java.io.PrintWriter out)
print human readable report (e.g., on parameters and associated model)void
setDistance(double k)
set distance and corresponding computation transition probabilitiesvoid
setDistanceTranspose(double k)
Sets the distance (such as time/branch length) used when calculating the probabilities.void
setParameter(double param, int n)
set model parametervoid
setParameterSE(double paramSE, int n)
set standard errors for model parametervoid
structureChanged(PalObjectEvent pe)
Signifies that the structure of the object has changed (for example in trees to topology has changed)java.lang.String
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 Detail
-
CachedRateMatrix
public CachedRateMatrix(RateMatrix rateMatrix, DoubleKeyCache cache)
- Parameters:
model
- the underlying substitution modelcache
- the caching method used
-
CachedRateMatrix
public CachedRateMatrix(RateMatrix rateMatrix, int maxCacheSize)
- Parameters:
model
- the underlying substitution model
-
CachedRateMatrix
public CachedRateMatrix(CachedRateMatrix cachedRateMatrix)
- Parameters:
model
- the previous cached model.
-
-
Method Detail
-
report
public final void report(java.io.PrintWriter out)
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
public java.lang.String toString()
Return string representation of substitution model.- Overrides:
toString
in classjava.lang.Object
-
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
public final java.lang.String getParameterName(int i)
- 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
public final java.lang.Object clone()
A non shallow implementation of clone()- Specified by:
clone
in interfaceRateMatrix
- Overrides:
clone
in classjava.lang.Object
-
getDataType
public final DataType getDataType()
Description copied from interface:RateMatrix
Get the data type of this rate matrix- Specified by:
getDataType
in interfaceRateMatrix
-
getUniqueName
public final java.lang.String getUniqueName()
- Specified by:
getUniqueName
in interfaceRateMatrix
- Returns:
- a short unique human-readable identifier for this rate matrix.
-
structureChanged
public void structureChanged(PalObjectEvent pe)
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
public void parametersChanged(PalObjectEvent pe)
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
public void addPalObjectListener(PalObjectListener pol)
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
public void removePalObjectListener(PalObjectListener pol)
- Specified by:
removePalObjectListener
in interfaceRateMatrix
-
getOrthogonalHints
public OrthogonalHints getOrthogonalHints()
- Specified by:
getOrthogonalHints
in interfaceRateMatrix
- Returns:
- null
-
-