Class ConstExpGrowth

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, Parameterized, Report, Summarizable, Units
    Direct Known Subclasses:
    ConstExpConst

    public class ConstExpGrowth
    extends ExponentialGrowth
    implements Report, Parameterized, java.io.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:
    Serialized Form
    • Field Detail

      • ALPHA_PARAMETERIZATION

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

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

        public static final int LX_PARAMETERIZATION
        use lx instead of growth parameterization
        See Also:
        Constant Field Values
      • 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 Detail

      • 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 Detail

      • 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()
      • 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
      • 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
        Overrides:
        report in class ExponentialGrowth
        Parameters:
        out - output stream