org.biojavax.ga.functions
Class AbstractMutationFunction

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojavax.ga.functions.AbstractMutationFunction
All Implemented Interfaces:
Changeable, MutationFunction
Direct Known Subclasses:
SimpleMutationFunction, SwapMutationFunction

public abstract class AbstractMutationFunction
extends AbstractChangeable
implements MutationFunction

Abstract implementation of MutationFunction all custom implementations should inherit from here.

Since:
1.5
Version:
1.0
Author:
Mark Schreiber

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojavax.ga.functions.MutationFunction
MutationFunction.NoMutation
 
Field Summary
 
Fields inherited from interface org.biojavax.ga.functions.MutationFunction
DEFAULT_MUTATION_PROBS, MUTATION_PROBS, MUTATION_SPECTRUM, NO_MUTATION
 
Constructor Summary
protected AbstractMutationFunction()
           
 
Method Summary
 double[] getMutationProbs()
           
 OrderNDistribution getMutationSpectrum()
           
 void setMutationProbs(double[] mutationProbs)
          Set the probability of a mutation occuring at a certain position Position 0 in the array corresponds to the probability of the first residue of seq mutating.
 void setMutationSpectrum(OrderNDistribution mutationSpectrum)
          Sets the Distribution of Symbols that will be selected from when a mutation occurs.
 
Methods inherited from class org.biojava.utils.AbstractChangeable
addChangeListener, addChangeListener, generateChangeSupport, getChangeSupport, hasListeners, hasListeners, isUnchanging, removeChangeListener, removeChangeListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.biojavax.ga.functions.MutationFunction
mutate
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

AbstractMutationFunction

protected AbstractMutationFunction()
Method Detail

setMutationProbs

public final void setMutationProbs(double[] mutationProbs)
                            throws ChangeVetoException
Description copied from interface: MutationFunction
Set the probability of a mutation occuring at a certain position Position 0 in the array corresponds to the probability of the first residue of seq mutating. If the length of the array defined in getMutationProbs() is shorter than the length of the sequence the default behaivour of implementations will be to apply the last probability to each subsequence residue. A single member array will mutate all bases with equal probability.

Specified by:
setMutationProbs in interface MutationFunction
Parameters:
mutationProbs - an array of double values representing mutation probabilities
Throws:
ChangeVetoException - if a ChangeListener vetoes the change.

getMutationProbs

public final double[] getMutationProbs()
Specified by:
getMutationProbs in interface MutationFunction

setMutationSpectrum

public final void setMutationSpectrum(OrderNDistribution mutationSpectrum)
                               throws ChangeVetoException
Description copied from interface: MutationFunction
Sets the Distribution of Symbols that will be selected from when a mutation occurs. An OrderNDistribution is used so that you can model a situation where the identity of the 'mutant' Symbol is dependent on the original Symbol. The primary use is to prevent Symbols mutating to themselves. Another use would be to model transitions and transversions.

Specified by:
setMutationSpectrum in interface MutationFunction
Parameters:
mutationSpectrum - the Distribution of 'mutant' bases to choose from.
Throws:
ChangeVetoException - if a ChangeListener vetoes the change.

getMutationSpectrum

public final OrderNDistribution getMutationSpectrum()
Specified by:
getMutationSpectrum in interface MutationFunction
Returns:
null if the Distribution has not been set.