Package org.biojava.bio.symbol
Class SimpleTranslationTable
java.lang.Object
org.biojava.bio.symbol.SimpleTranslationTable
- All Implemented Interfaces:
Serializable
,TranslationTable
A no-frills implementation of TranslationTable that uses a Map to map from
symbols in a finite source alphabet into a target alphabet.
- Author:
- Matthew Pocock, David Huen (refactoring)
- See Also:
-
Field Summary
Fields inherited from interface org.biojava.bio.symbol.TranslationTable
ALT_YEAST_NUC, ASCID_MITO, BACTERIAL, BLEPH_MNUC, CHLORO_MITO, CILIATE_NUC, ECHIN_MITO, EUPL_NUC, FWORM_MITO, INVERT_MITO, MOLD_MITO, SCENE_MITO, TREMA_MITO, UNIVERSAL, VERT_MITO, YEAST_MITO
-
Constructor Summary
ConstructorsConstructorDescriptionSimpleTranslationTable
(FiniteAlphabet source, Alphabet target) Create a new translation table that will translate symbols from source to target.SimpleTranslationTable
(FiniteAlphabet source, Alphabet target, Map transMap) Create a new translation table that will translate symbols from source to target. -
Method Summary
Modifier and TypeMethodDescriptiondoTranslate
(Symbol sym) this method is expected to translate any symbol in the source alphabet.The alphabet of Symbols that can be translated.The alphabet of Symbols that will be produced.void
setTranslation
(AtomicSymbol from, AtomicSymbol to) Alter the translation mapping.Translate a single symbol from source alphabet to the target alphabet.
-
Constructor Details
-
SimpleTranslationTable
Create a new translation table that will translate symbols from source to target.The source alphabet must be finite, as a Map object is used to associate a source Symbol with a target Symbol. The target alphabet need not be finite.
- Parameters:
source
- the FiniteAlphabet to translate fromtarget
- the Alphabet to translate into
-
SimpleTranslationTable
Create a new translation table that will translate symbols from source to target.The Map transMap should contain keys in the source alphabet with values in the target alphabet. However, this is not currently checked.
The source alphabet must be finite, as a Map object is used to associate a source Symbol with a target Symbol. The target alphabet need not be finite.
- Parameters:
source
- the FiniteAlphabet to translate fromtarget
- the Alphabet to translate into
-
-
Method Details
-
getSourceAlphabet
Description copied from interface:TranslationTable
The alphabet of Symbols that can be translated.- Specified by:
getSourceAlphabet
in interfaceTranslationTable
- Returns:
- the source Alphabet
-
getTargetAlphabet
Description copied from interface:TranslationTable
The alphabet of Symbols that will be produced.- Specified by:
getTargetAlphabet
in interfaceTranslationTable
- Returns:
- the target Alphabet
-
doTranslate
this method is expected to translate any symbol in the source alphabet. Failure can be indicated by returning a null if, for example, your method only handles AtomicSymbols and you want BasisSymbols to be taken apart. If you are sure the symbol is illegal, you can throw the IllegalSymbolException immediately to bypass further processing.As an optimisation, if your method is capable of immediately translating an ambiguity Symbol, just return it and the alternate route of establishing the translation through doing an ambiguity lookup will be avoided.
-
setTranslation
Alter the translation mapping.- Parameters:
from
- source AtomicSymbolto
- target AtomicSymbol to be returned by translate(from)- Throws:
IllegalSymbolException
- if either from is not in the source alphabet or to is not in the target alphabet
-
translate
Description copied from interface:TranslationTable
Translate a single symbol from source alphabet to the target alphabet.- Specified by:
translate
in interfaceTranslationTable
- Parameters:
sym
- the Symbol to translate (member of source alphabet)- Returns:
- the translated version of sym (member of target alphabet)
- Throws:
IllegalSymbolException
- if sym is not a member of the source alphabet
-