Class ConstExpGrowth

All Implemented Interfaces:
Serializable, Cloneable, Parameterized, Report, Summarizable, Units
Direct Known Subclasses:
ConstExpConst

public class ConstExpGrowth extends ExponentialGrowth implements Report, Parameterized, Serializable
This class models a population that grows exponentially from an inital population size alpha N0 to a present-day size N0. (Parameters: N0=present-day population size; r=growth rate; alpha: ratio of population sizes). or (Parameters: N0=present-day population size; r=growth rate; N1: pre-growth ancestral population size). This model is nested with the exponential-growth model (alpha -> 0 or N1 = N0). It is similar but not identical to the model used in ExpandingPopulation.
Version:
$Id: ConstExpGrowth.java,v 1.10 2002/02/16 00:51:43 alexi Exp $
Author:
Alexei Drummond, Andrew Rambaut, Korbinian Strimmer
See Also:
  • Field Details

    • ALPHA_PARAMETERIZATION

      public static final int ALPHA_PARAMETERIZATION
      use alpha instead of N1 parameterization
      See Also:
    • N1_PARAMETERIZATION

      public static final int N1_PARAMETERIZATION
      use N1 instead of alpha parameterization
      See Also:
    • LX_PARAMETERIZATION

      public static final int LX_PARAMETERIZATION
      use lx instead of growth parameterization
      See Also:
    • parameterization

      public int parameterization
      parameterization bit string:
      first bit: 0 = ALPHA, 1 = N1
      second bit: 0 = GROWTH RATE, 1 = LX
    • alpha

      public double alpha
      ratio of pop. sizes
    • alphaSE

      public double alphaSE
      standard error of time alpha
    • N1

      public double N1
      ancestral pop. size
    • N1SE

      public double N1SE
      standard error of ancestral pop. size
  • Constructor Details

    • ConstExpGrowth

      public ConstExpGrowth(int units, int parameterization)
      Construct demographic model with default settings.
      Parameters:
      parameterization - is a combination of bits representing the parameterization. Valid values are:
      ALPHA_PARAMETERIZATION
      N1_PARAMETERIZATION
      ALPHA_PARAMETERIZATION | LX_PARAMETERIZATION
      N1_PARAMETERIZATION | LX_PARAMETERIZATION
    • ConstExpGrowth

      public ConstExpGrowth(double size, double growthParam, double ancestral, int units, int parameterization)
      Construct demographic model of an expanding population.
  • Method Details

    • clone

      public Object clone()
      Overrides:
      clone in class ExponentialGrowth
    • getTransitionTime

      public double getTransitionTime()
      Gets the time of transition from ancestral constant phase to exponential phase.
    • getAncestral

      public double getAncestral()
      returns ancestral parameter. This may be either N1 or alpha depending on the parameterization.
    • getGrowthParam

      public double getGrowthParam()
      Returns:
      the growth parameter. This may be either growth rate or growth phase duration depending on the parameterization.
    • getGrowthRate

      public double getGrowthRate()
      This method overrides superclass to check parameterization.
      Overrides:
      getGrowthRate in class ExponentialGrowth
    • setAncestral

      public void setAncestral(double ancestral)
      Sets the ancestral parameter. This may be either N1 or alpha depending on the parameterization.
    • setGrowthParam

      public void setGrowthParam(double g)
      Sets the growth parameter. This may be either growth rate (r) or growth pahse duration (lx) depending on the parameterization.
    • getAncestralN0

      public double getAncestralN0()
      returns ancestral population size
    • getGrowthPhaseDuration

      public double getGrowthPhaseDuration()
      Returns:
      the duration of the growth phase
    • setGrowthPhaseDuration

      public void setGrowthPhaseDuration(double lx)
      Sets the length of the growth phase. This method is only valid if ALPHA_LX_PARAMETERIZATION is used.
    • getParameterization

      public int getParameterization()
      Returns:
      parameterization
    • isLxParameterized

      public boolean isLxParameterized()
      Returns:
      true if using lx instead of growth rate.
    • isN1Parameterized

      public boolean isN1Parameterized()
      Returns:
      true if using N1 instead of alpha.
    • setParameterization

      public void setParameterization(int p)
      Sets the parameterization.
      Parameters:
      parameterization - is a combination of bits representing the parameterization. Valid values are:
      ALPHA_PARAMETERIZATION
      N1_PARAMETERIZATION
      ALPHA_PARAMETERIZATION | LX_PARAMETERIZATION
      N1_PARAMETERIZATION | LX_PARAMETERIZATION
    • calculateRFromLx

      protected void calculateRFromLx()
    • getDemographic

      public double getDemographic(double t)
      Description copied from class: DemographicModel
      Gets the value of the demographic function N(t) at time t.
      Overrides:
      getDemographic in class ExponentialGrowth
    • getIntensity

      public double getIntensity(double t)
      Description copied from class: DemographicModel
      Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).
      Overrides:
      getIntensity in class ExponentialGrowth
    • getInverseIntensity

      public double getInverseIntensity(double x)
      Description copied from class: DemographicModel
      Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).
      Overrides:
      getInverseIntensity in class ExponentialGrowth
    • getNumParameters

      public int getNumParameters()
      Description copied from interface: Parameterized
      get number of parameters
      Specified by:
      getNumParameters in interface Parameterized
      Overrides:
      getNumParameters in class ExponentialGrowth
      Returns:
      number of parameters
    • getParameter

      public double getParameter(int k)
      Description copied from interface: Parameterized
      get model parameter
      Specified by:
      getParameter in interface Parameterized
      Overrides:
      getParameter in class ExponentialGrowth
      Parameters:
      k - parameter number
      Returns:
      parameter value
    • getUpperLimit

      public double getUpperLimit(int k)
      Description copied from interface: Parameterized
      get upper parameter limit
      Specified by:
      getUpperLimit in interface Parameterized
      Overrides:
      getUpperLimit in class ExponentialGrowth
      Parameters:
      k - parameter number
      Returns:
      upper bound
    • getLowerLimit

      public double getLowerLimit(int k)
      Description copied from interface: Parameterized
      get lower parameter limit
      Specified by:
      getLowerLimit in interface Parameterized
      Overrides:
      getLowerLimit in class ExponentialGrowth
      Parameters:
      k - parameter number
      Returns:
      lower bound
    • getDefaultValue

      public double getDefaultValue(int k)
      Description copied from interface: Parameterized
      get default value of parameter
      Specified by:
      getDefaultValue in interface Parameterized
      Overrides:
      getDefaultValue in class ExponentialGrowth
      Parameters:
      k - parameter number
      Returns:
      default value
    • setParameter

      public void setParameter(double value, int k)
      Description copied from interface: Parameterized
      set model parameter
      Specified by:
      setParameter in interface Parameterized
      Overrides:
      setParameter in class ExponentialGrowth
      Parameters:
      value - parameter value
      k - parameter number
    • setParameterSE

      public void setParameterSE(double value, int k)
      Description copied from interface: Parameterized
      set standard errors for model parameter
      Specified by:
      setParameterSE in interface Parameterized
      Overrides:
      setParameterSE in class ExponentialGrowth
      Parameters:
      value - standard error of parameter value
      k - parameter number
    • toString

      public String toString()
      Overrides:
      toString in class ExponentialGrowth
    • report

      public void report(PrintWriter out)
      Description copied from interface: Report
      print human readable report (e.g., on parameters and associated model)
      Specified by:
      report in interface Report
      Overrides:
      report in class ExponentialGrowth
      Parameters:
      out - output stream