## org.biojava.bio.symbol
Interface TranslationTable

All Known Subinterfaces:
  ManyToOneTranslationTable, ReversibleTranslationTable

All Known Implementing Classes:
  AbstractManyToOneTranslationTable, AbstractReversibleTranslationTable, SimpleGeneticCodeTable, SimpleManyToOneTranslationTable, SimpleReversibleTranslationTable, SimpleTranslationTable

    public interface TranslationTable

Encapsulates the mapping from a source to a destination alphabet.

A TranslationTable is in effect a map or function with the source domain being getSourceAlphabet() and the target domain being getTargetAlphabet(). The method translate() maps a single symbol from source to target.

It is presumed that there will be some explicit declaration of the mapping for attomic symbols, and that the mapping for all other symbols will be infered from these.

If you wish to translate every symbol in a symbol list then use TranslatedSymbolList to automate the job. If you want to translate windowed regions then first construct a WindowedSymbolList from the original sequence and then build a TranslatedSymbolList from this windowed view.

There are a range of named tables available. Their names are specified by the public static final fields in this interface. Each table can be retrieved by calling the static method RNATools.getGeneticCode(name) which will return the appropriate TanslationTable instance.

Author:
  Matthew Pocock, Keith James

Field Summary
`static String` `ALT_YEAST_NUC` Translation table name for the alternative yeast nuclear genetic code.
`static String` `ASCID_MITO` Translation table name for the ascidian mitochondrial genetic code.
`static String` `BACTERIAL` Translation table name for the bacterial and plant plastid genetic code.
`static String` `BLEPH_MNUC` Translation table name for the blepharisma macronuclear genetic code.
`static String` `CHLORO_MITO` Translation table name for the chlorophycean mitochondrial genetic code.
`static String` `CILIATE_NUC` Translation table name for the ciliate nuclear genetic code.
`static String` `ECHIN_MITO` Translation table name for the echinoderm mitochondrial genetic code.
`static String` `EUPL_NUC` Translation table name for the euplotid nuclear genetic code.
`static String` `FWORM_MITO` Translation table name for the flatworm mitochondrial genetic code.
`static String` `INVERT_MITO` Translation table name for the invertebrate mitochondrial genetic code.
`static String` `MOLD_MITO` Translation table name for the mold mitochondrial genetic code.
`static String` `SCENE_MITO` Translation table name for the scenedesmus obliquus mitochondrial genetic code.
`static String` `TREMA_MITO` Translation table name for the trematode mitochondrial genetic code.
`static String` `UNIVERSAL` Translation table name for the universal genetic code.
`static String` `VERT_MITO` Translation table name for the vertebrate mitochondrial genetic code.
`static String` `YEAST_MITO` Translation table name for the yeast mitochondrial genetic code.

Method Summary
`Alphabet` `getSourceAlphabet()` The alphabet of Symbols that can be translated.
`Alphabet` `getTargetAlphabet()` The alphabet of Symbols that will be produced.
`Symbol` `translate(Symbol sym)` Translate a single symbol from source alphabet to the target alphabet.

Field Detail

### UNIVERSAL

    static final String UNIVERSAL

  Translation table name for the universal genetic code.

  See Also:
    Constant Field Values

### VERT_MITO

    static final String VERT_MITO

  Translation table name for the vertebrate mitochondrial genetic code.

  See Also:
    Constant Field Values

### YEAST_MITO

    static final String YEAST_MITO

  Translation table name for the yeast mitochondrial genetic code.

  See Also:
    Constant Field Values

### MOLD_MITO

    static final String MOLD_MITO

  Translation table name for the mold mitochondrial genetic code.

  See Also:
    Constant Field Values

### INVERT_MITO

    static final String INVERT_MITO

  Translation table name for the invertebrate mitochondrial genetic code.

  See Also:
    Constant Field Values

### CILIATE_NUC

    static final String CILIATE_NUC

  Translation table name for the ciliate nuclear genetic code.

  See Also:
    Constant Field Values

### ECHIN_MITO

    static final String ECHIN_MITO

  Translation table name for the echinoderm mitochondrial genetic code.

  See Also:
    Constant Field Values

### EUPL_NUC

    static final String EUPL_NUC

  Translation table name for the euplotid nuclear genetic code.

  See Also:
    Constant Field Values

### BACTERIAL

    static final String BACTERIAL

  Translation table name for the bacterial and plant plastid genetic code.

  See Also:
    Constant Field Values

### ALT_YEAST_NUC

    static final String ALT_YEAST_NUC

  Translation table name for the alternative yeast nuclear genetic code.

  See Also:
    Constant Field Values

### ASCID_MITO

    static final String ASCID_MITO

  Translation table name for the ascidian mitochondrial genetic code.

  See Also:
    Constant Field Values

### FWORM_MITO

    static final String FWORM_MITO

  Translation table name for the flatworm mitochondrial genetic code.

  See Also:
    Constant Field Values

### BLEPH_MNUC

    static final String BLEPH_MNUC

  Translation table name for the blepharisma macronuclear genetic code.

  See Also:
    Constant Field Values

### CHLORO_MITO

    static final String CHLORO_MITO

  Translation table name for the chlorophycean mitochondrial genetic code.

  See Also:
    Constant Field Values

### TREMA_MITO

    static final String TREMA_MITO

  Translation table name for the trematode mitochondrial genetic code.

  See Also:
    Constant Field Values

### SCENE_MITO

    static final String SCENE_MITO

  Translation table name for the scenedesmus obliquus mitochondrial genetic code.

  See Also:
    Constant Field Values

Method Detail

### getSourceAlphabet

    Alphabet getSourceAlphabet()

  The alphabet of Symbols that can be translated.

  Returns:
    the source Alphabet

### getTargetAlphabet

    Alphabet getTargetAlphabet()

  The alphabet of Symbols that will be produced.

  Returns:
    the target Alphabet

### translate

    Symbol translate(Symbol sym)
                     throws IllegalSymbolException

  Translate a single symbol from source alphabet to the target alphabet.

  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