public interface Count extends Changeable
An encapsulation of a count over the Symbols within an alphabet.
A Count is effectively a vector of counts from an Alphabet.
Modifier and Type | Field and Description |
---|---|
static ChangeType |
COUNTS
Whenever a component count changes the values that would be returned by
getCount, they should fire a ChangeEvent with this object as the type.
|
Modifier and Type | Method and Description |
---|---|
Alphabet |
getAlphabet()
The alphabet from which this Count is over.
|
double |
getCount(AtomicSymbol s)
Return the counts for a given Symbol.
|
void |
increaseCount(AtomicSymbol s,
double c)
Set the probability or odds that Symbol s is emitted by this state.
|
void |
setCount(AtomicSymbol s,
double c)
Set the count for the Symbol s.
|
void |
setCounts(Count c)
Set the counts in this Counts to be equal to the counts in c.
|
void |
zeroCounts()
Reset all the counts to zero.
|
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
static final ChangeType COUNTS
Whenever a component count changes the values that would be returned by getCount, they should fire a ChangeEvent with this object as the type.
If the whole count changes, then the change and previous fields of the ChangeEvent should be left null. If only a single weight is modified, then change should be of the form Object[] { symbol, new Double(newVal) } and previous should be of the form Object[] { symbol, new Double(oldVal) }
Alphabet getAlphabet()
double getCount(AtomicSymbol s) throws IllegalSymbolException
s
- the SymbolIllegalSymbolException
- if s is not from this Count's alphabetvoid setCount(AtomicSymbol s, double c) throws IllegalSymbolException, ChangeVetoException
s
- the Symbol emittedc
- the new count for the SymbolIllegalSymbolException
- if s is not from this state's alphabet, or
if it is an ambiguity symbol and the implementation can't handle
this caseChangeVetoException
- if this distribution does not allow counts
to be tampered with, or if one of the listeners vetoed this changevoid increaseCount(AtomicSymbol s, double c) throws IllegalSymbolException, ChangeVetoException
s
- the Symbol emittedc
- the delta to add to the count for the SymbolIllegalSymbolException
- if s is not from this state's alphabet, or
if it is an ambiguity symbol and the implementation can't handle
this caseChangeVetoException
- if this Count does not allow counts
to be tampered with, or if one of the listeners vetoed this changevoid setCounts(Count c) throws IllegalAlphabetException, ChangeVetoException
c
- the Count object to copy the counts fromIllegalAlphabetException
- if c has a different Alphabet to this
CountChangeVetoException
- if this Count does not allow the counts to be
tampered with, or if one of the listeners vetoed this changevoid zeroCounts() throws ChangeVetoException
ChangeVetoException
- if this Count does not allow the counts to be
tampered with, or if one of the listeners vetoed this changeCopyright © 2014 BioJava. All rights reserved.