pal.substmodel
Class TwoStateModel

java.lang.Object
  extended by pal.substmodel.AbstractRateMatrix
      extended by pal.substmodel.TwoStateModel
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, ExternalParameterListener, NamedParameterized, Parameterized, Report, RateMatrix, XMLConstants

public class TwoStateModel
extends AbstractRateMatrix
implements RateMatrix, XMLConstants

implements the most general reversible rate matrix for two-state data

Version:
$Id: TwoStateModel.java,v 1.7 2003/11/13 04:05:39 matt Exp $
Author:
Korbinian Strimmer, Alexei Drummond
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
 
Field Summary
 
Fields inherited from class pal.substmodel.AbstractRateMatrix
format
 
Fields inherited from interface pal.util.XMLConstants
A_TO_C, A_TO_G, A_TO_T, ALIGNMENT, ALPHA, ANCESTRAL_MU_RATE, ANCESTRAL_POP_SIZE, ATTRIBUTE, BACKWARDS, BLOSUM62, C_TO_G, C_TO_T, COALESCENT, CONST_EXP_CONST, CONST_EXP_GROWTH, CONSTANT_MUTATION_RATE, CONSTANT_POPULATION, CPREV, CURRENT_POP_SIZE_DURATION, DATA_TYPE, DATA_TYPE_ID, DAYHOFF, DAYS, DEMOGRAPHIC_MODEL, DIRECTION, EDGE, EXPANDING_POPULATION, EXPONENTIAL_GROWTH, F81, F84, FREQUENCIES, G_TO_T, GAMMA_ALPHA, GAMMA_DISTRIBUTION, GENERATIONS, GROWTH_PHASE_DURATION, GROWTH_RATE, GTR, HEIGHT, HKY, ID, JC, JTT, KAPPA, LENGTH, MISSING, MODEL, MONTHS, MTREV24, MU_STEP_TIME, MUTATION_RATE, MUTATION_RATE_MODEL, MUTATIONS, NAME, NODE, NUMBER_CATEGORIES, OMEGA, ORIGIN, PARAMETER, POPULATION_SIZE, PYRIMIDINE_PURINE_RATIO, RATE_DISTRIBUTION, RATE_MATRIX, SEQUENCE, SPACES_PER_LEVEL, STEPPED_MUTATION_RATE, TIME, TIME_DATA, TN, TREE, TS_TV_RATIO, TWO_STATE, TYPE, UNIFORM, UNIFORM_RATE_DISTRIBUTION, UNITS, UNKNOWN, VALUE, VT, WAG, YANG_CODON_MODEL, YEARS
 
Constructor Summary
TwoStateModel(double[] f)
          constructor
 
Method Summary
 double getDefaultValue(int n)
          get default value of parameter
static TwoStateModel getInstance(double[] freq)
          create object using an instance method
 double getLowerLimit(int n)
          get lower parameter limit
 int getModelID()
          get numerical code describing the model type
 int getNumParameters()
          get number of parameters
 java.lang.String getParameterName(int i)
           
 java.lang.String getUniqueName()
           
 double getUpperLimit(int n)
          get upper parameter limit
protected  void rebuildRateMatrix(double[][] rate, double[] parameters)
           
 void report(java.io.PrintWriter out)
          print human readable report (e.g., on parameters and associated model)
 void setParameterSE(double paramSE, int n)
          set standard errors for model parameter
 
Methods inherited from class pal.substmodel.AbstractRateMatrix
addPalObjectListener, clone, fireParametersChangedEvent, fireParametersChangedEvent, getDataType, getDimension, getEquilibriumFrequencies, getEquilibriumFrequency, getFrequencies, getOrthogonalHints, getParameter, getRelativeRates, getTransitionProbabilities, getTransitionProbability, getTypeID, parameterChanged, printFrequencies, rebuild, removePalObjectListener, scale, setDataType, setDistance, setDistanceTranspose, setFrequencies, setParameter, setParameters, setParametersNoScale, updateMatrixExp
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface pal.substmodel.RateMatrix
addPalObjectListener, clone, getDataType, getDimension, getEquilibriumFrequencies, getEquilibriumFrequency, getOrthogonalHints, getRelativeRates, getTransitionProbabilities, getTransitionProbability, getTypeID, removePalObjectListener, scale, setDistance, setDistanceTranspose, setParametersNoScale
 
Methods inherited from interface pal.misc.Parameterized
getParameter, setParameter
 

Constructor Detail

TwoStateModel

public TwoStateModel(double[] f)
constructor

Parameters:
f - frequencies
Method Detail

getModelID

public int getModelID()
get numerical code describing the model type

Specified by:
getModelID in interface RateMatrix
Specified by:
getModelID in class AbstractRateMatrix
Returns:
0 (there is only one model)

getInstance

public static TwoStateModel getInstance(double[] freq)
create object using an instance method

Parameters:
freq - model frequencies
Returns:
rate matrix

report

public void report(java.io.PrintWriter out)
Description copied from interface: Report
print human readable report (e.g., on parameters and associated model)

Specified by:
report in interface Report
Parameters:
out - output stream

getNumParameters

public int getNumParameters()
Description copied from interface: Parameterized
get number of parameters

Specified by:
getNumParameters in interface Parameterized
Returns:
number of parameters

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

getParameterName

public java.lang.String getParameterName(int i)
Specified by:
getParameterName in interface NamedParameterized
Returns:
a short identifier for this parameter type. Should be the same for all instances of a given class!

getUniqueName

public java.lang.String getUniqueName()
Specified by:
getUniqueName in interface RateMatrix
Returns:
a short unique human-readable identifier for this rate matrix.

rebuildRateMatrix

protected final void rebuildRateMatrix(double[][] rate,
                                       double[] parameters)
Specified by:
rebuildRateMatrix in class AbstractRateMatrix