Interface BasisSymbol

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

public interface BasisSymbol extends Symbol

A symbol that can be represented as a string of Symbols.

BasisSymbol instances can always be represented uniquely as a single List of BasisSymbol instances. The symbol N is a BasisSymbol - it can be uniquely represented by N. It matches {a, g, c, t}. Similarly, the symbol atn is a BasisSymbol, as it can be uniquely represented with a single list of symbols [a, t, n]. Its getMatches will return the set {ata, att, atg, atc}.

The getSymbols method returns the unique list of BasisSymbol instances that this is composed from. For example, the codon ambiguity symbol atn will have a getSymbols method that returns the list [a, t, n]. The getMatches method will return an Alphabet containing each AtomicSymbol that can be made by expanding the list of BasisSymbol instances.

Since:
1.1
Author:
Matthew Pocock
  • Method Details

    • getSymbols

      The list of symbols that this symbol is composed from.

      In the usual case, this list will contain just this single symbol. In the case where a symbol represents an ordered combination of other symbols, the list will contain each of these BasisSymbols.

      Returns:
      the List of Symbols that this Symbol is built from