pal.coalescent
Class DemographicClockTree

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

public class DemographicClockTree
extends ClockTree
implements DemographicTree

Provides parameter interface to a clock-like genealogy which is assumed to have some demographic pattern of theta (diversity) as well as branch parameters (the minimal node height differences at each internal node). Must be used in conjunction with DemographicLikelihoodFunction!

Author:
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
 
Fields inherited from class pal.tree.ClockTree
parameter
 
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, SAMPLE, SHORT_UNIT_NAMES, UNIT_NAMES, UNKNOWN, YEARS
 
Constructor Summary
DemographicClockTree(Tree t, DemographicModel model)
          take any tree and afford it with an interface suitable for a clock-like genealogy, under a certain demographic assumption.
 
Method Summary
 double computeDemoLogLikelihood()
          Returns the likelihood of the current demographic model, given the current branch lengths.
 DemographicModel getDemographicModel()
          Return the demographic model being used to optimize the likelihood of this tree.
 int getNumParameters()
          get number of parameters
protected  void heights2parameters()
           
protected  void parameters2Heights()
           
 
Methods inherited from class pal.tree.ClockTree
getCopy, getDefaultValue, getLowerLimit, getParameter, getParameterizationInfo, getParameterizedTreeFactory, getUpperLimit, setParameter, setParameterSE, update
 
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
 

Constructor Detail

DemographicClockTree

public DemographicClockTree(Tree t,
                            DemographicModel model)
take any tree and afford it with an interface suitable for a clock-like genealogy, under a certain demographic assumption.

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

Method Detail

computeDemoLogLikelihood

public double computeDemoLogLikelihood()
Returns the likelihood of the current demographic model, given the current branch lengths.

Specified by:
computeDemoLogLikelihood in interface DemographicTree

getNumParameters

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

Specified by:
getNumParameters in interface Parameterized
Overrides:
getNumParameters in class ClockTree
Returns:
number of parameters

parameters2Heights

protected void parameters2Heights()
Overrides:
parameters2Heights in class ClockTree

heights2parameters

protected void heights2parameters()
Overrides:
heights2parameters in class ClockTree

getDemographicModel

public DemographicModel getDemographicModel()
Return the demographic model being used to optimize the likelihood of this tree.

Specified by:
getDemographicModel in interface DemographicTree