MATLAB: Does the function NT2AA translate the nucleotide sequence incorrectly

Bioinformatics Toolbox

When I execute the command
nt2aa('ctg')
the resulting translation is 'M', however, the nucleotide sequence 'ctg' should map to the amino acid leucine ('L') in the standard genetic code.

Best Answer

The reason that 'CTG' at the beginning of a sequence results in the translation 'M' is that 'CTG' is an alternative start sequence in the standard genetic code (<http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi?mode=c>). You may have observed that executing the command
nt2aa('ctgctg')
results in the amino acid sequence
ML
The value of the 'AlternativeStartCodons' input parameter is used to control the use of alternative start codons by the NT2AA function. By default, if the first codon of a sequence corresponds to a known alternative start codon, the codon is translated to methionine. If this option is set to false, then alternatives start codons at the start of a sequence are translated to their corresponding amino acids for the code that is being used.
To ignore alternative start codons when converting your nucleotide sequence to an amino acid sequence, please execute the following command:
nt2aa('ctg', 'AlternativeStartCodons', false)
In this case, the resulting translation is 'L', as you had expected.