pal.tree
Class ClockTree

java.lang.Object
  extended by pal.tree.ParameterizedTree.ParameterizedTreeBase
      extended by pal.tree.ClockTree
All Implemented Interfaces:
java.io.Serializable, IdGroup, Parameterized, Units, UnitsProvider, ParameterizedTree, Tree
Direct Known Subclasses:
DemographicClockTree

public class ClockTree
extends ParameterizedTree.ParameterizedTreeBase
implements ParameterizedTree

provides parameter interface to a clock tree (parameters are the minimal node height differences at each internal node)

Version:
$Id: ClockTree.java,v 1.16 2003/06/04 03:17:52 matt Exp $
Author:
Korbinian Strimmer, Alexei Drummond
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface pal.tree.ParameterizedTree
ParameterizedTree.Factory, ParameterizedTree.ParameterizedTreeBase
 
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
 
Nested classes/interfaces inherited from interface pal.tree.Tree
Tree.TreeBase
 
Field Summary
protected  double[] parameter
           
 
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, SAMPLE, SHORT_UNIT_NAMES, UNIT_NAMES, UNKNOWN, YEARS
 
Constructor Summary
ClockTree()
           
ClockTree(Tree t)
          take any tree and afford it with an interface suitable for a clock-like tree (parameters are the minimal node height differences at each internal node).
 
Method Summary
 Tree getCopy()
          The cheapy copy that just creates a SimpleTree
 double getDefaultValue(int n)
          get default value of parameter
 double getLowerLimit(int n)
          get lower parameter limit
 int getNumParameters()
          get number of parameters
 double getParameter(int n)
          get model parameter
 java.lang.String getParameterizationInfo()
           
static ParameterizedTree.Factory getParameterizedTreeFactory()
          Obtain a ParameterizedTree.Factory for generating Clock trees
 double getUpperLimit(int n)
          get upper parameter limit
protected  void heights2parameters()
           
protected  void parameters2Heights()
           
 void setParameter(double param, int n)
          set model parameter
 void setParameterSE(double paramSE, int n)
          set standard errors for model parameter
 void update()
          make clocktree consistent with branch lengths
 
Methods inherited from class pal.tree.ParameterizedTree.ParameterizedTreeBase
createNodeList, getAttribute, getBaseTree, getExternalNode, getExternalNodeCount, getIdCount, getIdentifier, getInternalNode, getInternalNodeCount, getNodeCount, getOrthogonalHints, getRoot, getUnits, setAttribute, setBaseTree, setIdentifier, setRoot, toString, whichIdNumber
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface pal.tree.ParameterizedTree
getOrthogonalHints
 
Methods inherited from interface pal.tree.Tree
createNodeList, getAttribute, getExternalNode, getExternalNodeCount, getInternalNode, getInternalNodeCount, getRoot, getUnits, setAttribute, setRoot
 
Methods inherited from interface pal.misc.IdGroup
getIdCount, getIdentifier, setIdentifier, whichIdNumber
 

Field Detail

parameter

protected double[] parameter
Constructor Detail

ClockTree

public ClockTree()

ClockTree

public ClockTree(Tree t)
take any tree and afford it with an interface suitable for a clock-like tree (parameters are the minimal node height differences at each internal node).

This parameterisation of a clock-tree, ensuring that all parameters are independent of each other is due to Andrew Rambaut (personal communication).

Method Detail

update

public void update()
make clocktree consistent with branch lengths


getNumParameters

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

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

setParameter

public void setParameter(double param,
                         int n)
Description copied from interface: Parameterized
set model parameter

Specified by:
setParameter in interface Parameterized
Parameters:
param - parameter value
n - parameter number

getParameter

public double getParameter(int n)
Description copied from interface: Parameterized
get model parameter

Specified by:
getParameter in interface Parameterized
Parameters:
n - parameter number
Returns:
parameter value

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

parameters2Heights

protected void parameters2Heights()

heights2parameters

protected void heights2parameters()

getCopy

public Tree getCopy()
Description copied from class: ParameterizedTree.ParameterizedTreeBase
The cheapy copy that just creates a SimpleTree

Specified by:
getCopy in interface Tree
Overrides:
getCopy in class ParameterizedTree.ParameterizedTreeBase
Returns:
a clone of this tree

getParameterizationInfo

public java.lang.String getParameterizationInfo()
Specified by:
getParameterizationInfo in interface ParameterizedTree

getParameterizedTreeFactory

public static final ParameterizedTree.Factory getParameterizedTreeFactory()
Obtain a ParameterizedTree.Factory for generating Clock trees