Package pal.mep

Class MutationRateModel

java.lang.Object
pal.mep.MutationRateModel
All Implemented Interfaces:
Serializable, Cloneable, Parameterized, Report, Summarizable, Units
Direct Known Subclasses:
ConstantMutationRate, SteppedMutationRate, WindowedMutationRate

public abstract class MutationRateModel extends Object implements Units, Parameterized, Report, Cloneable, 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:
  • Field Details

  • Constructor Details

    • MutationRateModel

      protected MutationRateModel(int units, double maximumMutationRate)
    • MutationRateModel

      protected MutationRateModel(MutationRateModel toCopy)
  • Method Details

    • clone

      public abstract Object clone()
      Overrides:
      clone in class 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

      Returns:
      a TimeOrderCharacterData scaled to use EXPECTED_SUBSTITUTIONS based on this MutationRateModel
      Throws:
      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 - units
      the - maximumMutationRate that is allowable, given the units. This needs to be given intelligently.
      Throws:
      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 String toSingleLine()
    • generateFactory

      public abstract MutationRateModel.Factory generateFactory()