When aligning DNA sequences, most algorithms only consider the best alignment for the nucleotide residues. The process of codon alignment considers the reading frame of the translated protein and adjusts the nucleotide alignment so that the protein alignment stays in frame.
Specifically, this tool may make the following adjustments to your input alignment:
All 3 of these adjustments are illustrated in the example below. This input alignment has an open reading frame that begins in Frame 1, but is not codon-aligned:
Reference ATG-AGAGTGAAGGAG--CAGGAAGAATTATCAGCACTTGTGGAGATGGT-GGTG Sequence2 ATG-AGAGTCAAGGGG--CAGGAAGAATTATCAGCACTTGTGGAGATGGT-GGTG Sequence3 ATGAAGAGTGAAGGAGATCAGGAAGAAATATCAG------TGGAGATGGTGGGTG
This is the output from the Codon Alignment tool, produced with default parameters:
Reference ATG---AGAGTGAAGGAGCAGGAAGAATTATCAGCACTTGTGGAGATGGTG---GTG _M__-__R__V__K__E__Q__E__E__L__S__A__L__V__E__M__V__-__V_ Sequence2 ATG---AGAGTCAAGGGGCAGGAAGAATTATCAGCACTTGTGGAGATGGTG---GTG _M__-__R__V__K__G__Q__E__E__L__S__A__L__V__E__M__V__-__V_ Sequence3 ATGAAGAGTGAAGGAGATCAGGAAGAAATATCA------GTGGAGATGGTGG--GTG _M__K__S__E__G__D__Q__E__E__I__S__-__-__V__E__M__V__#__V_
This option allows you to choose the starting reading frame. This frame is based on the first (master) sequence in the alignment.
This option instructs the program to choose the best reading frame. This option can only be used if the input alignment is 50 base pairs or more in length. The best reading frame is chosen based on the longest open reading frame (ORF). If another reading frame has an ORF that has a length within 30% of the length of the longest ORF, this reading frame will also be offered in the output.
A compensating mutation is an insertion or deletion (indel) that can be combined with another nearby indel to produce a multiple of 3 and thus preserve an intact reading frame.
In the example shown above, the first two gaps in the Reference sequence are 4 codons apart. If the "Allow #" is set at 4 or above, they will be combined into a single 3-base pair gap, as shown above. If the value is set to 3 or less, they will not be combined, and each gap will be adjusted to preserve the reading frame.
The output will provide: