Package pal.substmodel
Class GeneralREVRateMatrix
- java.lang.Object
-
- pal.substmodel.GeneralREVRateMatrix
-
- All Implemented Interfaces:
java.io.Serializable,NeoRateMatrix
public class GeneralREVRateMatrix extends java.lang.Object implements NeoRateMatrix
A general rate matrix class for REV style rate matrices (GTR but for all data types) Includes the ability for arbitarily constraints- Author:
- Matthew Goode
- 11 May 2004 - Created file - will add parameter decoding and reporting later...
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GeneralREVRateMatrix(int dimension)The general constructor for a fully specified REV modelGeneralREVRateMatrix(int dimension, double[] specifiedDefaultParameters)The general constructor for a fully specified REV modelGeneralREVRateMatrix(int dimension, int[] constraints)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)GeneralREVRateMatrix(int dimension, int[] constraints, double[] specifiedDefaultParameters)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)GeneralREVRateMatrix(int dimension, int[] constraints, double[] specifiedDefaultParameters, int fixedConstraintValue)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GeneralREVRateMatrixcreateGTR()Create a rate matrix equivalent to the GTR modelstatic GeneralREVRateMatrixcreateGTR(double[] defaultParameters)Create a rate matrix equivalent to the GTR modelstatic GeneralREVRateMatrixcreateGTR(double a, double b, double c, double d, double e)Create a rate matrix equivalent to the GTR model Parameters laid out *-> + A C G T A * a b c C * * d e G * * * 1 T * * * *static GeneralREVRateMatrixcreateHKY()Create a rate matrix equivalent to the HKY model, the one parameter will be kappastatic GeneralREVRateMatrixcreateHKY(double defaultKappa)Create a rate matrix equivalent to the HKY model, the one parameter will be kappavoidcreateRelativeRates(double[][] rateStore, double[] rateParameters, int startIndex)Create the relative rates arrayvoidgetDefaultRateParameters(double[] store, int startIndex)intgetDimension()intgetNumberOfRateParameters()doublegetRateParameterLowerBound(int parameter)doublegetRateParameterUpperBound(int parameter)java.lang.StringgetUniqueName()booleanisDataTypeCompatible(DataType dt)Check the compatibility of a data type to be used with the rate matrixbooleanisReversible()Is the relative rate matrix described by this rate matrix meant to represent a reversible process? If true only the upper part of the rate matrix needs to be filled in (eg in matrix[i][j], for all where j > i );
-
-
-
Constructor Detail
-
GeneralREVRateMatrix
public GeneralREVRateMatrix(int dimension)
The general constructor for a fully specified REV model- Parameters:
dimension- the dimension of the data type
-
GeneralREVRateMatrix
public GeneralREVRateMatrix(int dimension, double[] specifiedDefaultParameters)The general constructor for a fully specified REV model- Parameters:
dimension- the dimension of the data typespecifiedDefaultParameters- the defaultParameters (potentially used as the starting parameters by a SubstitutionModel)
-
GeneralREVRateMatrix
public GeneralREVRateMatrix(int dimension, int[] constraints)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)- Parameters:
dimension- the dimension of the data typeconstraints- the contraints, organised such that if constraints[i]==constraints[j] then transitions i and j will always be the same. The constraints are ordered like usual.
-
GeneralREVRateMatrix
public GeneralREVRateMatrix(int dimension, int[] constraints, double[] specifiedDefaultParameters)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)- Parameters:
dimension- the dimension of the data typeconstraints- the contraints, organised such that if constraints[i]==constraints[j] then transitions i and j will always be the same. The constraints are ordered like usual. The last constrained item is fixed at 1.specifiedDefaultParameters- the defaultParameters (potentially used as the starting parameters by a SubstitutionModel)
-
GeneralREVRateMatrix
public GeneralREVRateMatrix(int dimension, int[] constraints, double[] specifiedDefaultParameters, int fixedConstraintValue)The general constructor
Constraint ordering example, for nucleotide data-> + A C G T A * 0 1 2 C * * 3 4 G * * * 5 T * * * *if constraints were {0,1,1,0,0,1} then would be constrained so a-c = c-g = c-t and a-g = a-t = g-t (and there would be only one parameter)- Parameters:
dimension- the dimension of the data typeconstraints- the contraints, organised such that if constraints[i]==constraints[j] then transitions i and j will always be the same. The constraints are ordered like usual.specifiedDefaultParameters- the defaultParameters (potentially used as the starting parameters by a SubstitutionModel)fixedConstraintValue- the value of the constraint (in the constraints array) of the fixed constraint (that is, for which all related parts of the rate matrix are set to 1)
-
-
Method Detail
-
getUniqueName
public java.lang.String getUniqueName()
- Specified by:
getUniqueNamein interfaceNeoRateMatrix- Returns:
- a short unique human-readable identifier for this rate matrix.
-
isReversible
public boolean isReversible()
Description copied from interface:NeoRateMatrixIs the relative rate matrix described by this rate matrix meant to represent a reversible process? If true only the upper part of the rate matrix needs to be filled in (eg in matrix[i][j], for all where j > i );- Specified by:
isReversiblein interfaceNeoRateMatrix- Returns:
- true
-
getDimension
public int getDimension()
- Specified by:
getDimensionin interfaceNeoRateMatrix- Returns:
- the dimension of this rate matrix. (as for construction)
-
isDataTypeCompatible
public boolean isDataTypeCompatible(DataType dt)
Check the compatibility of a data type to be used with the rate matrix- Specified by:
isDataTypeCompatiblein interfaceNeoRateMatrix- Parameters:
dt- the data type to test- Returns:
- true if data type state count is equal to dimension
-
createRelativeRates
public void createRelativeRates(double[][] rateStore, double[] rateParameters, int startIndex)Description copied from interface:NeoRateMatrixCreate the relative rates array- Specified by:
createRelativeRatesin interfaceNeoRateMatrix- Parameters:
rateStore- The place where the relative rates are stored (should be assumed to be large enough - based on dimension)rateParameters- The parameters to be used to construct the rate storestartIndex- The index into the rateParameters to start reading parameters
-
getNumberOfRateParameters
public int getNumberOfRateParameters()
- Specified by:
getNumberOfRateParametersin interfaceNeoRateMatrix
-
getRateParameterLowerBound
public double getRateParameterLowerBound(int parameter)
- Specified by:
getRateParameterLowerBoundin interfaceNeoRateMatrix
-
getRateParameterUpperBound
public double getRateParameterUpperBound(int parameter)
- Specified by:
getRateParameterUpperBoundin interfaceNeoRateMatrix
-
getDefaultRateParameters
public void getDefaultRateParameters(double[] store, int startIndex)- Specified by:
getDefaultRateParametersin interfaceNeoRateMatrix
-
createGTR
public static final GeneralREVRateMatrix createGTR()
Create a rate matrix equivalent to the GTR model- Returns:
- appropriate rate matrix
-
createGTR
public static final GeneralREVRateMatrix createGTR(double[] defaultParameters)
Create a rate matrix equivalent to the GTR model- Parameters:
defaultParameters- the default parameters of the model- Returns:
- appropriate rate matrix
-
createGTR
public static final GeneralREVRateMatrix createGTR(double a, double b, double c, double d, double e)
Create a rate matrix equivalent to the GTR model Parameters laid out *-> + A C G T A * a b c C * * d e G * * * 1 T * * * *- Parameters:
a- the default a parameter of the modelb- the default a parameter of the modelc- the default a parameter of the modeld- the default a parameter of the modele- the default a parameter of the model- Returns:
- appropriate rate matrix
-
createHKY
public static final GeneralREVRateMatrix createHKY()
Create a rate matrix equivalent to the HKY model, the one parameter will be kappa- Returns:
- appropriate rate matrix
-
createHKY
public static final GeneralREVRateMatrix createHKY(double defaultKappa)
Create a rate matrix equivalent to the HKY model, the one parameter will be kappa- Parameters:
defaultKappa- the default kappa value- Returns:
- appropriate rate matrix
-
-