Ancestors
Class AncestralJoint

java.lang.Object
  extended by Ancestors.AncestralJoint
Direct Known Subclasses:
AncestralJointBB, AncestralJointDP

public abstract class AncestralJoint
extends java.lang.Object

Abstract class that the two different ways of doing ancestral reconstruction extend. By using the static method in tis class users can avoid worrying about whether their model has a single rate category.

Version:
1.0

Constructor Summary
AncestralJoint()
           
 
Method Summary
abstract  Alignment calculate(Parameters params)
          Calculates the reconstruction
static AncestralJoint newInstance(Model m, Alignment a, Tree t)
          Returns an object of this class that can be used for joint reconstruction.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AncestralJoint

public AncestralJoint()
Method Detail

calculate

public abstract Alignment calculate(Parameters params)
                             throws RateCategory.RateException,
                                    Model.ModelException,
                                    AncestralException,
                                    TreeException,
                                    Parameters.ParameterException,
                                    AlignmentException
Calculates the reconstruction

Parameters:
params - The parameters to be used in the reconstruction
Returns:
An alignment based on the original alignment but augmented with the reconstruction
Throws:
RateCategory.RateException - Thrown if there is an issue with a rate category in the model (e.g. a badly formatted rate).
Model.ModelException - Thrown if there is a problem with the model (e.g. the rate categories differ in their states)
AncestralException - Thrown if there is ambiguous data as these methods can't currently deasl with it
TreeException - Thrown if there is a problem with the tree.
Parameters.ParameterException - Thrown if there is a problem with the parameters (e.g. a requied parameter is not present)
AlignmentException - Thrown if there is a problem with the alignment

newInstance

public static AncestralJoint newInstance(Model m,
                                         Alignment a,
                                         Tree t)
Returns an object of this class that can be used for joint reconstruction. If the model has a single rate category it returns an object that will do reconstruction using the dynamic pogramming method of Pupko 2000, else an object that will use the branch and bound method of Pupoko 2002. *

Parameters:
a - The alignment
m - The model
t - The tree
Returns:
An object that can be used for reconstruction