Package pal.substmodel
Class AbstractRateMatrix
java.lang.Object
pal.substmodel.AbstractRateMatrix
- All Implemented Interfaces:
Serializable
,Cloneable
,ExternalParameterListener
,NamedParameterized
,Parameterized
,Report
,RateMatrix
- Direct Known Subclasses:
AminoAcidModel
,CodonModel
,NucleotideModel
,TwoStateModel
public abstract class AbstractRateMatrix
extends Object
implements RateMatrix, ExternalParameterListener
abstract base class for all rate matrices
- Version:
- $Id: AbstractRateMatrix.java,v 1.30 2004/04/05 05:14:39 matt Exp $
- Author:
- Korbinian Strimmer, Alexei Drummond
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Add a PalObjectListener to be notified of changes to the model.clone()
protected void
protected void
Get the data type of this rate matrixint
double[]
double
getEquilibriumFrequency
(int i) protected final double[]
abstract int
get numerical code describing the model typefinal double
getParameter
(int parameter) get model parameterdouble[][]
final void
getTransitionProbabilities
(double[][] probabilityStore) A utility method for speed, transfers trans prob information quickly into storedouble
getTransitionProbability
(int fromState, int toState) Returns the probability of going from one state to another given the current distanceint
get numerical code describing the data typevoid
For the external parameter interface.protected void
final void
rebuild()
protected abstract void
rebuildRateMatrix
(double[][] rate, double[] parameters) void
void
scale
(double scale) protected final void
setDataType
(DataType dt) final void
setDistance
(double distance) Sets the distance (such as time/branch length) used when calculating the probabilities.final void
setDistanceTranspose
(double distance) Sets the distance (such as time/branch length) used when calculating the probabilities.protected void
setFrequencies
(double[] f) final void
setParameter
(double value, int parameter) set model parametervoid
setParameters
(double[] parameters) double
setParametersNoScale
(double[] parameters) protected void
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface pal.misc.NamedParameterized
getParameterName
Methods inherited from interface pal.misc.Parameterized
getDefaultValue, getLowerLimit, getNumParameters, getUpperLimit, setParameterSE
Methods inherited from interface pal.substmodel.RateMatrix
getUniqueName
-
Field Details
-
format
-
-
Constructor Details
-
AbstractRateMatrix
protected AbstractRateMatrix(int dim)
-
-
Method Details
-
getTypeID
public int getTypeID()get numerical code describing the data type- Specified by:
getTypeID
in interfaceRateMatrix
- Returns:
- integer code identifying a data type
-
getModelID
public abstract int getModelID()get numerical code describing the model type- Specified by:
getModelID
in interfaceRateMatrix
- Returns:
- integer code identifying a substitution model
-
getDimension
public int getDimension()- Specified by:
getDimension
in interfaceRateMatrix
- Returns:
- the dimension of this rate matrix.
-
getEquilibriumFrequencies
public double[] getEquilibriumFrequencies()- Specified by:
getEquilibriumFrequencies
in interfaceRateMatrix
- Returns:
- stationary frequencies (sum = 1.0)
-
getEquilibriumFrequency
public double getEquilibriumFrequency(int i) - Specified by:
getEquilibriumFrequency
in interfaceRateMatrix
- Returns:
- stationary frequencie (sum = 1.0) for ith state
-
getDataType
Description copied from interface:RateMatrix
Get the data type of this rate matrix- Specified by:
getDataType
in interfaceRateMatrix
-
setDataType
-
getRelativeRates
public double[][] getRelativeRates()- Specified by:
getRelativeRates
in interfaceRateMatrix
- Returns:
- rate matrix (transition: from 1st index to 2nd index)
-
getTransitionProbability
public double getTransitionProbability(int fromState, int toState) Returns the probability of going from one state to another given the current distance- Specified by:
getTransitionProbability
in interfaceRateMatrix
- Parameters:
fromState
- The state from which we are startingtoState
- The resulting state- Returns:
- the probability of going from one state to another given the current distance
-
rebuild
public final void rebuild() -
setDistance
public final void setDistance(double distance) Sets the distance (such as time/branch length) used when calculating the probabilities.- Specified by:
setDistance
in interfaceRateMatrix
-
setDistanceTranspose
public final void setDistanceTranspose(double distance) Sets the distance (such as time/branch length) used when calculating the probabilities.- Specified by:
setDistanceTranspose
in interfaceRateMatrix
-
getTransitionProbabilities
public final void getTransitionProbabilities(double[][] probabilityStore) A utility method for speed, transfers trans prob information quickly into store- Specified by:
getTransitionProbabilities
in interfaceRateMatrix
-
scale
public void scale(double scale) - Specified by:
scale
in interfaceRateMatrix
-
printFrequencies
-
setFrequencies
protected void setFrequencies(double[] f) -
setParametersNoScale
public double setParametersNoScale(double[] parameters) - Specified by:
setParametersNoScale
in interfaceRateMatrix
-
setParameters
public void setParameters(double[] parameters) -
setParameter
public final void setParameter(double value, int parameter) Description copied from interface:Parameterized
set model parameter- Specified by:
setParameter
in interfaceParameterized
- Parameters:
value
- parameter valueparameter
- parameter number
-
getParameter
public final double getParameter(int parameter) Description copied from interface:Parameterized
get model parameter- Specified by:
getParameter
in interfaceParameterized
- Parameters:
parameter
- parameter number- Returns:
- parameter value
-
rebuildRateMatrix
protected abstract void rebuildRateMatrix(double[][] rate, double[] parameters) -
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
-
fireParametersChangedEvent
protected void fireParametersChangedEvent() -
fireParametersChangedEvent
-
updateMatrixExp
protected void updateMatrixExp() -
parameterChanged
For the external parameter interface. This can be ignored unless you want to use this Rate Matrix as an external parameter listener This method does two things.First it sets a flag indicating that rebuild method should be called the next time a setDistance method is called, and then it notifies any PalObject listeners that a parameter has changed- Specified by:
parameterChanged
in interfaceExternalParameterListener
-
clone
- Specified by:
clone
in interfaceRateMatrix
- Overrides:
clone
in classObject
-
getOrthogonalHints
- Specified by:
getOrthogonalHints
in interfaceRateMatrix
- Returns:
- null
-
getFrequencies
protected final double[] getFrequencies()
-