Class Mutation
Object
Mutation
- Direct Known Subclasses:
Mutation.Continuous, Mutation.Discrete
The abstract superclass to implement mutations in IBS models with discrete or
continuous traits.
- Author:
- Christoph Hauert
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classThe class to implement mutations in continuous IBS models.static classThe class to implement mutations in discrete IBS models. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) Module<?> The module using this mutation.(package private) doubleThe probability of mutations.doubleThe range of mutations.protected RNGDistributionConvenience field: the shared random number generator to ensure reproducibility of results.booleanThe flag to indicate whether mutations arise uniformly distributed (cosmic rays) or are tied to reproduction events (temperature mutations).Mutation type. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleandoMutate()Check if a mutation arises.doubleGet the probability of mutations.doublemutate(double trait) Mutate traittraitin IBS models according to the type of mutation.intmutate(int trait) Mutate traittraitin IBS models according to the type of mutation.voidsetProbability(double probability) Set the probability of mutations.
-
Field Details
-
module
Module<?> moduleThe module using this mutation. -
rng
Convenience field: the shared random number generator to ensure reproducibility of results. Currently only used for IBS models.- See Also:
-
type
-
probability
double probabilityThe probability of mutations. -
range
public double rangeThe range of mutations. -
temperature
public boolean temperatureThe flag to indicate whether mutations arise uniformly distributed (cosmic rays) or are tied to reproduction events (temperature mutations).
-
-
Constructor Details
-
Mutation
Instantiate new mutation.- Parameters:
module- the map to use as template
-
-
Method Details
-
getProbability
public double getProbability()Get the probability of mutations.- Returns:
- the mutation probability
-
setProbability
public void setProbability(double probability) Set the probability of mutations.- Parameters:
probability- the mutation probability
-
doMutate
public abstract boolean doMutate()Check if a mutation arises.- Returns:
trueif a mutation should be performed
-
mutate
public int mutate(int trait) Mutate traittraitin IBS models according to the type of mutation.- Parameters:
trait- the trait to mutate- Returns:
- the mutated trait
- See Also:
-
mutate
public double mutate(double trait) Mutate traittraitin IBS models according to the type of mutation.- Parameters:
trait- the trait to mutate- Returns:
- the mutated trait
- See Also:
-