Package pal.coalescent
Class ExponentialGrowth
- java.lang.Object
-
- pal.coalescent.DemographicModel
-
- pal.coalescent.ConstantPopulation
-
- pal.coalescent.ExponentialGrowth
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Cloneable
,Parameterized
,Report
,Summarizable
,Units
- Direct Known Subclasses:
ConstExpGrowth
,ExpandingPopulation
public class ExponentialGrowth extends ConstantPopulation implements Report, Parameterized, java.io.Serializable, Summarizable
This class models an exponentially growing (or shrinking) population (Parameters: N0=present-day population size; r=growth rate). This model is nested with the constant-population size model (r=0). Parts of this class were inspired by C++ code generously provided by Oliver Pybus.- Version:
- $Id: ExponentialGrowth.java,v 1.10 2001/07/12 12:17:43 korbinian Exp $
- Author:
- Alexei Drummond, Korbinian Strimmer
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface pal.misc.Parameterized
Parameterized.Null, Parameterized.ParameterizedBase, Parameterized.ParameterizedUser, Parameterized.Utils
-
-
Field Summary
Fields Modifier and Type Field Description double
r
growth rate rdouble
rSE
standard error of growth rate r-
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
Constructors Constructor Description ExponentialGrowth(double size, double growth, int units)
Construct demographic model of an exponentially growing populationExponentialGrowth(int units)
Construct demographic model with default settings
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
double
getDefaultValue(int k)
get default value of parameterdouble
getDemographic(double t)
Gets the value of the demographic function N(t) at time t.double
getGrowthRate()
returns growth rate.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
getNumParameters()
get number of parametersdouble
getParameter(int k)
get model parameterjava.lang.String[]
getSummaryTypes()
double
getSummaryValue(int summaryType)
double
getUpperLimit(int k)
get upper parameter limitvoid
report(java.io.PrintWriter out)
print human readable report (e.g., on parameters and associated model)void
setParameter(double value, int k)
set model parametervoid
setParameterSE(double value, int k)
set standard errors for model parameterjava.lang.String
toString()
-
Methods inherited from class pal.coalescent.ConstantPopulation
getN0
-
Methods inherited from class pal.coalescent.DemographicModel
computeLogLikelihood, computeLogLikelihood, getIntegral, getLogL, getSimulatedInterval, getUnits, setLogL, setUnits, testConsistency
-
-
-
-
Method Detail
-
getSummaryTypes
public java.lang.String[] getSummaryTypes()
- Specified by:
getSummaryTypes
in interfaceSummarizable
- Overrides:
getSummaryTypes
in classConstantPopulation
-
getSummaryValue
public double getSummaryValue(int summaryType)
- Specified by:
getSummaryValue
in interfaceSummarizable
- Overrides:
getSummaryValue
in classConstantPopulation
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classConstantPopulation
-
getGrowthRate
public double getGrowthRate()
returns growth rate.
-
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 classConstantPopulation
-
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 classConstantPopulation
-
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 classConstantPopulation
-
getNumParameters
public int getNumParameters()
Description copied from interface:Parameterized
get number of parameters- Specified by:
getNumParameters
in interfaceParameterized
- Overrides:
getNumParameters
in classConstantPopulation
- 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 classConstantPopulation
- 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 classConstantPopulation
- 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 classConstantPopulation
- 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 classConstantPopulation
- 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 classConstantPopulation
- 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 classConstantPopulation
- Parameters:
value
- standard error of parameter valuek
- parameter number
-
toString
public java.lang.String toString()
- Overrides:
toString
in classConstantPopulation
-
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 interfaceReport
- Overrides:
report
in classConstantPopulation
- Parameters:
out
- output stream
-
-