pal.coalescent
Class SkylinePlot

java.lang.Object
  |
  +--pal.coalescent.SkylinePlot
All Implemented Interfaces:
Report, java.io.Serializable, Units

public class SkylinePlot
extends java.lang.Object
implements Report, Units, java.io.Serializable

Skyline plot derived from a strictly bifurcating tree or a coalescent interval. This class provides the "classic" skyline plot method by Pybus, Rambaut and Harvey .2000. Genetics 155:1429-1437, as well as the "generalized" skyline plot method described in Strimmer and Pybus. 2001. MBE submitted.

See Also:
Serialized Form

Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, YEARS
 
Constructor Summary
SkylinePlot(CoalescentIntervals ci, double epsilon)
          Construct skyline plot from given coalescent intervals
SkylinePlot(Tree tree, double epsilon)
          Construct skyline plot from tree
 
Method Summary
 void computeClassic()
          Compute classic skyline plot
 void computeGeneralized(double epsilon)
          Compute generalized skyline plot
 double findInterval(double time)
          Find interval corresponding to a specific time
 double getAICC()
          Compute AICC-corrected log-likelihood
 double getEpsilon()
          Returns epsilon
 CoalescentIntervals getIntervals()
          Returns the coalescent intervals in this skyline plot.
 double getLogLikelihood()
          Compute log-likelihood
 double getMaxPopulationSize()
          Returns the largest estimate of population size.
 double getMaxTime()
          Returns the largest value of time defined in this plot (= maximum value for epsilon)
 int getParameterCount()
          Returns the number of composite intervals (=number of parameters).
 double getPopulationSize(int i)
          Returns the population size in interval i.
 int getSize()
          Returns the number of intervals in this skyline plot.
 int getUnits()
          Returns unit of time.
 void optimize()
          Optimize generalized skyline plot
 void report(java.io.PrintWriter out)
          print human readable report (e.g., on parameters and associated model)
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SkylinePlot

public SkylinePlot(Tree tree,
                   double epsilon)
Construct skyline plot from tree
Parameters:
epsilon - smoothing parameter (if set < 0 then epsilon will be optimized)

SkylinePlot

public SkylinePlot(CoalescentIntervals ci,
                   double epsilon)
Construct skyline plot from given coalescent intervals
Parameters:
epsilon - smoothing parameter (if set < 0 then epsilon will be optimized)
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

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
Following copied from interface: pal.misc.Report
Parameters:
out - output stream

computeClassic

public void computeClassic()
Compute classic skyline plot

computeGeneralized

public void computeGeneralized(double epsilon)
Compute generalized skyline plot

optimize

public void optimize()
Optimize generalized skyline plot

getLogLikelihood

public double getLogLikelihood()
Compute log-likelihood

getAICC

public double getAICC()
Compute AICC-corrected log-likelihood

findInterval

public double findInterval(double time)
Find interval corresponding to a specific time

getMaxTime

public double getMaxTime()
Returns the largest value of time defined in this plot (= maximum value for epsilon)

getMaxPopulationSize

public double getMaxPopulationSize()
Returns the largest estimate of population size.

getIntervals

public CoalescentIntervals getIntervals()
Returns the coalescent intervals in this skyline plot.

getSize

public int getSize()
Returns the number of intervals in this skyline plot.

getParameterCount

public int getParameterCount()
Returns the number of composite intervals (=number of parameters).

getEpsilon

public double getEpsilon()
Returns epsilon

getPopulationSize

public double getPopulationSize(int i)
Returns the population size in interval i.

getUnits

public int getUnits()
Returns unit of time.