org.biojavax.ga.functions
Class MutationFunction.NoMutation

java.lang.Object
  extended by org.biojavax.ga.functions.MutationFunction.NoMutation
All Implemented Interfaces:
Changeable, MutationFunction
Enclosing interface:
MutationFunction

public static final class MutationFunction.NoMutation
extends Object
implements MutationFunction

Place Holder class that doesn't mutate its SymbolLists

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
MutationFunction.NoMutation()
           
 
Method Summary
 void addChangeListener(ChangeListener cl)
          Add a listener that will be informed of all changes.
 void addChangeListener(ChangeListener cl, ChangeType ct)
          Add a listener that will be informed of changes of a given type.
 double[] getMutationProbs()
           
 OrderNDistribution getMutationSpectrum()
           
 boolean isUnchanging(ChangeType ct)
           A particular ChangeType can never be raised by this Changeable.
 SymbolList mutate(SymbolList syml)
          Produces a new SymbolList by mutation.
 void removeChangeListener(ChangeListener c)
          Remove a listener that was interested in all types of changes.
 void removeChangeListener(ChangeListener cl, ChangeType ct)
          Remove a listener that was interested in a specific types of changes.
 void setMutationProbs(double[] muts)
          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 odn)
          Sets the Distribution of Symbols that will be selected from when a mutation occurs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MutationFunction.NoMutation

public MutationFunction.NoMutation()
Method Detail

getMutationProbs

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

getMutationSpectrum

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

mutate

public SymbolList mutate(SymbolList syml)
Description copied from interface: MutationFunction
Produces a new SymbolList by mutation. Each position i in the SymbolList seq is mutated with probability getMutationProbs[i]. The new residue is selected at random from the Distribution mutation. The use of an array of probabilities allows the modelling of mutational hotspots. 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:
mutate in interface MutationFunction
Parameters:
syml - the sequence to mutate
Returns:
The mutated sequence.

setMutationProbs

public void setMutationProbs(double[] muts)
                      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:
muts - an array of double values representing mutation probabilities
Throws:
ChangeVetoException - if a ChangeListener vetoes the change.

setMutationSpectrum

public void setMutationSpectrum(OrderNDistribution odn)
                         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:
odn - the Distribution of 'mutant' bases to choose from.
Throws:
ChangeVetoException - if a ChangeListener vetoes the change.

isUnchanging

public boolean isUnchanging(ChangeType ct)
Description copied from interface: Changeable

A particular ChangeType can never be raised by this Changeable.

If this returns true, then it is guaranteed that change events of this type (and all child types) can never under any circumstances be fired by this Changeable instance. If it returns false, that does not mean that this type of event will or even can be raised, but that it is worth registering listeners incase.

Specified by:
isUnchanging in interface Changeable
Parameters:
ct - the ChangeType to check
Returns:
true if ChangeEvents of this type are guaranteed to never be fired

removeChangeListener

public void removeChangeListener(ChangeListener c)
Description copied from interface: Changeable
Remove a listener that was interested in all types of changes.

Specified by:
removeChangeListener in interface Changeable
Parameters:
c - a ChangeListener to remove

addChangeListener

public void addChangeListener(ChangeListener cl)
Description copied from interface: Changeable
Add a listener that will be informed of all changes.

Specified by:
addChangeListener in interface Changeable
Parameters:
cl - the ChangeListener to add

addChangeListener

public void addChangeListener(ChangeListener cl,
                              ChangeType ct)
Description copied from interface: Changeable
Add a listener that will be informed of changes of a given type.

Specified by:
addChangeListener in interface Changeable
Parameters:
cl - the ChangeListener
ct - the ChangeType it is to be informed of

removeChangeListener

public void removeChangeListener(ChangeListener cl,
                                 ChangeType ct)
Description copied from interface: Changeable
Remove a listener that was interested in a specific types of changes.

Specified by:
removeChangeListener in interface Changeable
Parameters:
cl - a ChangeListener to remove
ct - the ChangeType that it was interested in