org.biojava.bio.dist
Class SimpleDistribution

java.lang.Object
  |
  +--org.biojava.bio.dist.AbstractDistribution
        |
        +--org.biojava.bio.dist.SimpleDistribution

public final class SimpleDistribution
extends AbstractDistribution
implements java.io.Serializable

A simple implementation of a distribution, which works with any finite alphabet.

Author:
Matthew Pocock, Thomas Down
See Also:
Serialized Form

Constructor Summary
SimpleDistribution(FiniteAlphabet alphabet)
           
 
Method Summary
 Alphabet getAlphabet()
          The alphabet from which this spectrum emits symbols.
 Distribution getNullModel()
          Retrieve the null model Distribution that this Distribution recognizes.
 double getWeight(Symbol s)
          Return the probability that Symbol s is emited by this spectrum.
 void registerWithTrainer(DistributionTrainerContext dtc)
          Register a simple trainer for this distribution.
 void setNullModel(Distribution nullModel)
          Assign a distribution to be the background null model.
 void setWeight(Symbol s, double w)
          Set the weight associated with the specified symbol in this distribution.
 
Methods inherited from class org.biojava.bio.dist.AbstractDistribution
getAmbiguityWeight, sampleSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleDistribution

public SimpleDistribution(FiniteAlphabet alphabet)
Method Detail

getAlphabet

public Alphabet getAlphabet()
Description copied from interface: Distribution
The alphabet from which this spectrum emits symbols.
Tags copied from interface: Distribution
Returns:
the Alphabet associated with this spectrum

getNullModel

public Distribution getNullModel()
Description copied from class: AbstractDistribution
Retrieve the null model Distribution that this Distribution recognizes.
Overrides:
getNullModel in class AbstractDistribution
Tags copied from class: AbstractDistribution
Returns:
the apropriate null model

setNullModel

public void setNullModel(Distribution nullModel)
                  throws IllegalAlphabetException
Assign a distribution to be the background null model.
Parameters:
nullModel - the distribution to act as the null model.

getWeight

public double getWeight(Symbol s)
                 throws IllegalSymbolException
Description copied from interface: Distribution
Return the probability that Symbol s is emited by this spectrum.

If the symbol is an AmbiguitySymbol, then it is the probability that exactly one of the symbols matching it was emitted.

Tags copied from interface: Distribution
Parameters:
s - the Symbol emitted
Returns:
the log probability of emitting that symbol
Throws:
IllegalSymbolException - if s is not from this state's alphabet

setWeight

public void setWeight(Symbol s,
                      double w)
               throws IllegalSymbolException
Set the weight associated with the specified symbol in this distribution.
Overrides:
setWeight in class AbstractDistribution
Tags copied from interface: Distribution
Parameters:
s - the Symbol emitted
w - the probability of emitting that symbol
Throws:
IllegalSymbolException - if s is not from this state's alphabet, or if it is an ambiguity symbol and the implementation can't handle this case
java.lang.UnsupportedOperationException - if this state does not allow weights to be tampered with

registerWithTrainer

public void registerWithTrainer(DistributionTrainerContext dtc)
Register a simple trainer for this distribution.
Overrides:
registerWithTrainer in class AbstractDistribution
Tags copied from interface: Distribution
Parameters:
dtc - the DistributionTrainerContext with witch to register a trainer