Encapsulates the mapping from a source to a destination alphabet.

Namespace:  BioSharp.Core.Bio.Symbol
Assembly:  BioSharp.Core (in BioSharp.Core.dll) Version: 0.1.3191.26120 (


public interface ITranslationTable


An ITranslationTable is in effect a map or function with the source domain being SourceAlphabet and the target domain being TargetAlphabet. 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 ITranslationTable instance.

Original BioJava version by Matthew Pocock and Keith James. Port to C# by Doug Swisher.

See Also