Package pal.mep
Class MutationRateModel
- java.lang.Object
-
- pal.mep.MutationRateModel
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Parameterized,Report,Summarizable,Units
- Direct Known Subclasses:
ConstantMutationRate,SteppedMutationRate,WindowedMutationRate
public abstract class MutationRateModel extends java.lang.Object implements Units, Parameterized, Report, java.lang.Cloneable, java.io.Serializable, Summarizable
This abstract class contains methods that are of general use for modelling mutation rate changes over time.- Version:
- $Id: MutationRateModel.java,v 1.12 2004/08/02 05:22:04 matt Exp $
- Author:
- Alexei Drummond
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceMutationRateModel.FactoryAn interface for objects which generate fresh MutationRAteModels-
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 protected FormattedOutputfo-
Fields inherited from interface pal.misc.Units
DAYS, EXPECTED_SUBSTITUTIONS, GENERATIONS, MONTHS, SAMPLE, SHORT_UNIT_NAMES, UNIT_NAMES, UNKNOWN, YEARS
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedMutationRateModel(int units, double maximumMutationRate)protectedMutationRateModel(MutationRateModel toCopy)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract java.lang.Objectclone()abstract MutationRateModel.FactorygenerateFactory()abstract MutationRateModelgetCopy()abstract doublegetEndTime(double expectedSubs, double startTime)Return the end time at which expected substitutions has occurred, given we start at start timeabstract doublegetExpectedSubstitutions(double t)Returns integral of mutation rate function (= integral mu(x) dx from 0 to t).doublegetExpectedSubstitutions(double start, double finish)Calculates the integral 1/mu(x) dx between start and finish.protected doublegetMaximumMutationRate()abstract doublegetMutationRate(double t)Gets the mutation rate, value of mu(t) at time t.OrthogonalHintsgetOrthogonalHints()Overide if there is any orthogonal hint information availabledoublegetTime(double expectedSubs)Return the time at which expected substitutions has occurred.intgetUnits()returns units of measurement.abstract voidscale(double scale)Linearly scales this mutation rate model.TimeOrderCharacterDatascale(TimeOrderCharacterData toScale)voidsetUnits(int u, double maximumMutationRate)sets units of measurement.abstract java.lang.StringtoSingleLine()-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface pal.misc.Parameterized
getDefaultValue, getLowerLimit, getNumParameters, getParameter, getUpperLimit, setParameter, setParameterSE
-
Methods inherited from interface pal.misc.Summarizable
getSummaryTypes, getSummaryValue
-
-
-
-
Field Detail
-
fo
protected FormattedOutput fo
-
-
Constructor Detail
-
MutationRateModel
protected MutationRateModel(int units, double maximumMutationRate)
-
MutationRateModel
protected MutationRateModel(MutationRateModel toCopy)
-
-
Method Detail
-
clone
public abstract java.lang.Object clone()
- Overrides:
clonein classjava.lang.Object
-
getCopy
public abstract MutationRateModel getCopy()
-
getMutationRate
public abstract double getMutationRate(double t)
Gets the mutation rate, value of mu(t) at time t.
-
getExpectedSubstitutions
public abstract double getExpectedSubstitutions(double t)
Returns integral of mutation rate function (= integral mu(x) dx from 0 to t).
-
getTime
public double getTime(double expectedSubs)
Return the time at which expected substitutions has occurred.
-
getEndTime
public abstract double getEndTime(double expectedSubs, double startTime)Return the end time at which expected substitutions has occurred, given we start at start time
-
scale
public abstract void scale(double scale)
Linearly scales this mutation rate model.- Parameters:
scale- getExpectedSubstitutions should return scale instead of 1.0 at time t.
-
getExpectedSubstitutions
public double getExpectedSubstitutions(double start, double finish)Calculates the integral 1/mu(x) dx between start and finish.
-
scale
public TimeOrderCharacterData scale(TimeOrderCharacterData toScale)
- Returns:
- a TimeOrderCharacterData scaled to use EXPECTED_SUBSTITUTIONS based on this MutationRateModel
- Throws:
java.lang.IllegalArgumentException- if units of this Model doenot match the units of the TimeOrderCharacterData object (toScale).
-
setUnits
public final void setUnits(int u, double maximumMutationRate)sets units of measurement.- Parameters:
u- unitsthe- maximumMutationRate that is allowable, given the units. This needs to be given intelligently.- Throws:
java.lang.IllegalArgumentException- if units are ExpectedSubstitutions
-
getMaximumMutationRate
protected final double getMaximumMutationRate()
- Returns:
- the maximum mutation rate as indicated by the user
-
getUnits
public int getUnits()
returns units of measurement.
-
getOrthogonalHints
public OrthogonalHints getOrthogonalHints()
Overide if there is any orthogonal hint information available- Returns:
- null
-
toSingleLine
public abstract java.lang.String toSingleLine()
-
generateFactory
public abstract MutationRateModel.Factory generateFactory()
-
-