org.biojava.bio.symbol
Interface AtomicSymbol

All Superinterfaces:
Annotatable, BasisSymbol, Changeable, Symbol
All Known Subinterfaces:
DotState, EmissionState, ModelInState, State
All Known Implementing Classes:
DoubleAlphabet.DoubleSymbol, FundamentalAtomicSymbol, IntegerAlphabet.IntegerSymbol, MagicalState, ProfileEmissionState, SimpleAtomicSymbol, SimpleDotState, SimpleEmissionState, SimpleModelInState

public interface AtomicSymbol
extends BasisSymbol

A symbol that is not ambiguous.

Atomic symbols are the real underlying elements that a SymbolList is meant to be composed of. DNA nucleotides are atomic, as are amino-acids. The getMatches() method should return an alphabet containing just the one Symbol.

The Symbol instances for single codons would be instances of AtomicSymbol as they can only be represented as a Set of symbols from their alphabet that contains just that one symbol.

AtomicSymbol instances guarantee that getMatches returns an Alphabet containing just that Symbol and each element of the List returned by getSymbols is also atomic.

Since:
1.1
Author:
Matthew Pocock

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.biojava.bio.Annotatable
Annotatable.AnnotationForwarder
 
Field Summary
 
Fields inherited from interface org.biojava.bio.Annotatable
ANNOTATION
 
Method Summary
 
Methods inherited from interface org.biojava.bio.symbol.BasisSymbol
getSymbols
 
Methods inherited from interface org.biojava.bio.symbol.Symbol
getMatches, getName
 
Methods inherited from interface org.biojava.bio.Annotatable
getAnnotation
 
Methods inherited from interface org.biojava.utils.Changeable
addChangeListener, addChangeListener, isUnchanging, removeChangeListener, removeChangeListener