Class GapDistribution
- java.lang.Object
-
- org.biojava.utils.Unchangeable
-
- org.biojava.bio.dist.GapDistribution
-
- All Implemented Interfaces:
Serializable
,Distribution
,Changeable
public class GapDistribution extends Unchangeable implements Distribution, Serializable
This distribution emits gap symbols.It is a useful thing to have around for pair-wise alignment, as you can build a PairDistribution that emits gaps in one sequence and Symbols in the other. The GapDistriution will always emit with a probability of 1, as every symbol has a matches alphabet that contains the empty set. Or is this so?
- Since:
- 1.0
- Author:
- Matthew Pocock
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.biojava.bio.dist.Distribution
Distribution.NullModelForwarder
-
-
Field Summary
-
Fields inherited from interface org.biojava.bio.dist.Distribution
NULL_MODEL, WEIGHTS
-
-
Constructor Summary
Constructors Constructor Description GapDistribution(Alphabet alpha)
Get a GapDistribution for an alphabet.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Alphabet
getAlphabet()
The alphabet from which this spectrum emits symbols.Distribution
getNullModel()
Retrieve the null model Distribution that this Distribution recognizes.double
getWeight(Symbol sym)
Return the probability that Symbol s is emitted by this spectrum.void
registerWithTrainer(DistributionTrainerContext dtc)
Register this distribution with a training context.Symbol
sampleSymbol()
Sample a symbol from this state's probability distribution.void
setNullModel(Distribution nullModel)
Set the null model Distribution that this Distribution recognizes.void
setWeight(Symbol s, double w)
Set the probability or odds that Symbol s is emitted by this state.-
Methods inherited from class org.biojava.utils.Unchangeable
addChangeListener, addChangeListener, addForwarder, getForwarders, getListeners, isUnchanging, removeChangeListener, removeChangeListener, removeForwarder
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
-
-
-
-
Constructor Detail
-
GapDistribution
public GapDistribution(Alphabet alpha)
Get a GapDistribution for an alphabet.- Parameters:
alpha
- the Alphabet that this distribution is over
-
-
Method Detail
-
getWeight
public double getWeight(Symbol sym) throws IllegalSymbolException
Description copied from interface:Distribution
Return the probability that Symbol s is emitted by this spectrum.
If the symbol is ambiguou, then it is the sum of the probability that each one of the matching symbols was emitted.
- Specified by:
getWeight
in interfaceDistribution
- Parameters:
sym
- the Symbol emitted- Returns:
- the 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, UnsupportedOperationException
Description copied from interface:Distribution
Set the probability or odds that Symbol s is emitted by this state.- Specified by:
setWeight
in interfaceDistribution
- Parameters:
s
- the Symbol emittedw
- 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 caseUnsupportedOperationException
-
getAlphabet
public Alphabet getAlphabet()
Description copied from interface:Distribution
The alphabet from which this spectrum emits symbols.- Specified by:
getAlphabet
in interfaceDistribution
- Returns:
- the Alphabet associated with this spectrum
-
sampleSymbol
public Symbol sampleSymbol()
Description copied from interface:Distribution
Sample a symbol from this state's probability distribution.- Specified by:
sampleSymbol
in interfaceDistribution
- Returns:
- the symbol sampled
-
getNullModel
public Distribution getNullModel()
Description copied from interface:Distribution
Retrieve the null model Distribution that this Distribution recognizes.- Specified by:
getNullModel
in interfaceDistribution
- Returns:
- the apropriate null model
-
setNullModel
public void setNullModel(Distribution nullModel) throws IllegalAlphabetException, ChangeVetoException
Description copied from interface:Distribution
Set the null model Distribution that this Distribution recognizes.- Specified by:
setNullModel
in interfaceDistribution
- Parameters:
nullModel
- the new null model Distribution- Throws:
IllegalAlphabetException
- if the null model has the wrong alphabetChangeVetoException
- if this Distirbution doesn't support setting the null model, or if one of its listeners objects
-
registerWithTrainer
public void registerWithTrainer(DistributionTrainerContext dtc)
Description copied from interface:Distribution
Register this distribution with a training context.
This should be invoked from within dtc.addDistribution(). This method is responsible for constructing a suitable DistributionTrainer instance and registering it by calling dtc.registerDistributionTrainer(this, trainer). If the distribution is a view onto another distribution, it can force the other to be registered by calling dtc.addDistribution(other), and can then get on with registering it's own trainer.
- Specified by:
registerWithTrainer
in interfaceDistribution
- Parameters:
dtc
- the DistributionTrainerContext with witch to register a trainer
-
-