As stated above, since we are interested in investigating the evolutionary behaviour of viruses in particular, we wish to work with a substitution model, which specifically accounts for the presence of multiple coding regions. For our evolutionary model E we use a model very similar to the one in de Groot et al. [1] . For the convenience of those not familiar with our earlier work, we include a description of it in the following. Most amino acids are encoded by several different codons, meaning that a mutation may often result in no change in amino acid. Regarding a certain nucleotide in a codon, depending on its context, we may generally divide it into the following degeneracy classes, where a substitution would result in • four times the same amino acid. Figure 6 Model Setup. A graphic representation of our method. As input, we give the 'ancestral' sequence S 1 , its gene structure G, our desired partition P and our region annotation R of the partition segments. We also input the 'descendent' sequence S 2 , as well as our seed parameters for , a, and b. From this we may generate both our seed emission matrix E and the typeannotation-array t = [t 1 , t 2 , t 3 ] belonging to each locus along the sequence S 1 . These then get input into our alignment procedure, which subsequently over the sum of all possible alignments, calculates the expected counts C of a certain substitution of a certain type in a certain region. This information gets transferred to our maximum-likelihood (ML) method, which generates our new parameter values, maximizing the expected observations C. The resulting emission matrix E gets fed back into our alignment procedure, and the loop continues until a change in parameters is below some given threshold.