Package pal.coalescent
Class ConstExpGrowth
java.lang.Object
pal.coalescent.DemographicModel
pal.coalescent.ConstantPopulation
pal.coalescent.ExponentialGrowth
pal.coalescent.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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
-
Field Summary
FieldsModifier and TypeFieldDescriptiondouble
ratio of pop.static final int
use alpha instead of N1 parameterizationdouble
standard error of time alphastatic final int
use lx instead of growth parameterizationdouble
ancestral pop.static final int
use N1 instead of alpha parameterizationdouble
standard error of ancestral pop.int
parameterization bit string:
first bit: 0 = ALPHA, 1 = N1
second bit: 0 = GROWTH RATE, 1 = LXFields inherited from class pal.coalescent.ExponentialGrowth
r, rSE
Fields inherited from class pal.coalescent.ConstantPopulation
N0, N0SE
Fields inherited from class pal.coalescent.DemographicModel
fo
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, SAMPLE, SHORT_UNIT_NAMES, UNIT_NAMES, UNKNOWN, YEARS
-
Constructor Summary
ConstructorsConstructorDescriptionConstExpGrowth
(double size, double growthParam, double ancestral, int units, int parameterization) Construct demographic model of an expanding population.ConstExpGrowth
(int units, int parameterization) Construct demographic model with default settings. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
clone()
double
returns ancestral parameter.double
returns ancestral population sizedouble
getDefaultValue
(int k) get default value of parameterdouble
getDemographic
(double t) Gets the value of the demographic function N(t) at time t.double
double
double
This method overrides superclass to check parameterization.double
getIntensity
(double t) Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).double
getInverseIntensity
(double x) Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).double
getLowerLimit
(int k) get lower parameter limitint
get number of parametersdouble
getParameter
(int k) get model parameterint
double
Gets the time of transition from ancestral constant phase to exponential phase.double
getUpperLimit
(int k) get upper parameter limitboolean
boolean
void
report
(PrintWriter out) print human readable report (e.g., on parameters and associated model)void
setAncestral
(double ancestral) Sets the ancestral parameter.void
setGrowthParam
(double g) Sets the growth parameter.void
setGrowthPhaseDuration
(double lx) Sets the length of the growth phase.void
setParameter
(double value, int k) set model parametervoid
setParameterization
(int p) Sets the parameterization.void
setParameterSE
(double value, int k) set standard errors for model parametertoString()
Methods inherited from class pal.coalescent.ExponentialGrowth
getSummaryTypes, getSummaryValue
Methods inherited from class pal.coalescent.ConstantPopulation
getN0
Methods inherited from class pal.coalescent.DemographicModel
computeLogLikelihood, computeLogLikelihood, getIntegral, getLogL, getSimulatedInterval, getUnits, setLogL, setUnits, testConsistency
-
Field Details
-
ALPHA_PARAMETERIZATION
public static final int ALPHA_PARAMETERIZATIONuse alpha instead of N1 parameterization- See Also:
-
N1_PARAMETERIZATION
public static final int N1_PARAMETERIZATIONuse N1 instead of alpha parameterization- See Also:
-
LX_PARAMETERIZATION
public static final int LX_PARAMETERIZATIONuse lx instead of growth parameterization- See Also:
-
parameterization
public int parameterizationparameterization bit string:
first bit: 0 = ALPHA, 1 = N1
second bit: 0 = GROWTH RATE, 1 = LX -
alpha
public double alpharatio of pop. sizes -
alphaSE
public double alphaSEstandard error of time alpha -
N1
public double N1ancestral pop. size -
N1SE
public double N1SEstandard 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
- Overrides:
clone
in classExponentialGrowth
-
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 classExponentialGrowth
-
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 classExponentialGrowth
-
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 classExponentialGrowth
-
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 classExponentialGrowth
-
getNumParameters
public int getNumParameters()Description copied from interface:Parameterized
get number of parameters- Specified by:
getNumParameters
in interfaceParameterized
- Overrides:
getNumParameters
in classExponentialGrowth
- Returns:
- number of parameters
-
getParameter
public double getParameter(int k) Description copied from interface:Parameterized
get model parameter- Specified by:
getParameter
in interfaceParameterized
- Overrides:
getParameter
in classExponentialGrowth
- 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 interfaceParameterized
- Overrides:
getUpperLimit
in classExponentialGrowth
- 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 interfaceParameterized
- Overrides:
getLowerLimit
in classExponentialGrowth
- 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 interfaceParameterized
- Overrides:
getDefaultValue
in classExponentialGrowth
- 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 interfaceParameterized
- Overrides:
setParameter
in classExponentialGrowth
- Parameters:
value
- parameter valuek
- 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 interfaceParameterized
- Overrides:
setParameterSE
in classExponentialGrowth
- Parameters:
value
- standard error of parameter valuek
- parameter number
-
toString
- Overrides:
toString
in classExponentialGrowth
-
report
Description copied from interface:Report
print human readable report (e.g., on parameters and associated model)- Specified by:
report
in interfaceReport
- Overrides:
report
in classExponentialGrowth
- Parameters:
out
- output stream
-