org.biojava.bio.dist
Class IndexedCount

java.lang.Object
  extended by org.biojava.utils.AbstractChangeable
      extended by org.biojava.bio.dist.IndexedCount
All Implemented Interfaces:
Serializable, Count, Changeable

public final class IndexedCount
extends AbstractChangeable
implements Count, Serializable

An encapsulation of a count over the Symbols within a FiniteAlphabet using an AlphabetIndex object.

Since:
1.1
Author:
Matthew Pocock, Mark Schreiber (serialization), Thomas Down (more serialization...)
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.biojava.bio.dist.Count
COUNTS
 
Constructor Summary
IndexedCount(AlphabetIndex indexer)
          Get a new InexedCount for an alphabet indexer.
IndexedCount(FiniteAlphabet fa)
          Get a new IdexedCount for an alphabet using the default indexer.
 
Method Summary
 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.
 
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.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener
 

Constructor Detail

IndexedCount

public IndexedCount(FiniteAlphabet fa)
Get a new IdexedCount for an alphabet using the default indexer.

Parameters:
fa - the FiniteAlphabet to count

IndexedCount

public IndexedCount(AlphabetIndex indexer)
Get a new InexedCount for an alphabet indexer.

Parameters:
indexer - the AlphabetIndex used to map between symbols and indecies
Method Detail

getAlphabet

public Alphabet getAlphabet()
Description copied from interface: Count
The alphabet from which this Count is over.

Specified by:
getAlphabet in interface Count
Returns:
the Alphabet associated with this Count

getCount

public double getCount(AtomicSymbol s)
                throws IllegalSymbolException
Description copied from interface: Count
Return the counts for a given Symbol.

Specified by:
getCount in interface Count
Parameters:
s - the Symbol
Returns:
the number of counts for this symbol
Throws:
IllegalSymbolException - if s is not from this Count's alphabet

setCount

public void setCount(AtomicSymbol s,
                     double c)
              throws IllegalSymbolException,
                     ChangeVetoException
Description copied from interface: Count
Set the count for the Symbol s.

Specified by:
setCount in interface Count
Parameters:
s - the Symbol emitted
c - the new count for the 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
ChangeVetoException - if this distribution does not allow counts to be tampered with, or if one of the listeners vetoed this change

increaseCount

public void increaseCount(AtomicSymbol s,
                          double c)
                   throws IllegalSymbolException,
                          ChangeVetoException
Description copied from interface: Count
Set the probability or odds that Symbol s is emitted by this state.

Specified by:
increaseCount in interface Count
Parameters:
s - the Symbol emitted
c - the delta to add to the count for the 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
ChangeVetoException - if this Count does not allow counts to be tampered with, or if one of the listeners vetoed this change

setCounts

public void setCounts(Count c)
               throws IllegalAlphabetException,
                      ChangeVetoException
Description copied from interface: Count
Set the counts in this Counts to be equal to the counts in c.

Specified by:
setCounts in interface Count
Parameters:
c - the Count object to copy the counts from
Throws:
IllegalAlphabetException - if c has a different Alphabet to this Count
ChangeVetoException - if this Count does not allow the counts to be tampered with, or if one of the listeners vetoed this change

zeroCounts

public void zeroCounts()
                throws ChangeVetoException
Description copied from interface: Count
Reset all the counts to zero.

Specified by:
zeroCounts in interface Count
Throws:
ChangeVetoException - if this Count does not allow the counts to be tampered with, or if one of the listeners vetoed this change