Package org.biojava.bio.symbol
Class SimpleManyToOneTranslationTable
java.lang.Object
org.biojava.bio.symbol.AbstractManyToOneTranslationTable
org.biojava.bio.symbol.SimpleManyToOneTranslationTable
- All Implemented Interfaces:
Serializable,ManyToOneTranslationTable,TranslationTable
- Direct Known Subclasses:
SimpleGeneticCodeTable
public class SimpleManyToOneTranslationTable
extends AbstractManyToOneTranslationTable
implements Serializable
A no-frills implementation of a translation table that
maps between two alphabets. The mapping can be either
one-to-one or many-to-one.
- Author:
- David Huen
- 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
ConstructorsConstructorDescriptionSimpleManyToOneTranslationTable(FiniteAlphabet source, FiniteAlphabet target) Construct a new translation table. -
Method Summary
Modifier and TypeMethodDescriptionprotected SymboldoTranslate(Symbol sym) this method is expected to translate any symbol in the source alphabet.protected SetdoUntranslate(Symbol sym) this method is expected to reverse-translate any symbol in the source alphabet.The alphabet of Symbols that can be translated.The alphabet of Symbols that will be produced.voidsetTranslation(AtomicSymbol from, AtomicSymbol to) Alter the translation mapping.Translate a single symbol from source alphabet to the target alphabet.Methods inherited from class org.biojava.bio.symbol.AbstractManyToOneTranslationTable
untranslateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.biojava.bio.symbol.TranslationTable
translate
-
Constructor Details
-
SimpleManyToOneTranslationTable
Construct a new translation table.- Parameters:
source- the source FiniteAlphabettarget- the target FiniteAlphabet
-
-
Method Details
-
getSourceAlphabet
Description copied from interface:TranslationTableThe alphabet of Symbols that can be translated.- Specified by:
getSourceAlphabetin interfaceTranslationTable- Specified by:
getSourceAlphabetin classAbstractManyToOneTranslationTable- Returns:
- the source Alphabet
-
getTargetAlphabet
Description copied from interface:TranslationTableThe alphabet of Symbols that will be produced.- Specified by:
getTargetAlphabetin interfaceTranslationTable- Specified by:
getTargetAlphabetin classAbstractManyToOneTranslationTable- 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.
-
doUntranslate
Description copied from class:AbstractManyToOneTranslationTablethis method is expected to reverse-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.
- Specified by:
doUntranslatein classAbstractManyToOneTranslationTable
-
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:TranslationTableTranslate a single symbol from source alphabet to the target alphabet.- Specified by:
translatein 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
-