The main goal of statistical phylogenetics is to reconstruct accurate phylogenies by means of comparison of nucleotide or protein sequences (i.e. DNA or Proteomics analysis). However, recent advances have shown that phylogenetics is not only related to taxonomy (i.e. data/species classification into categories) since different regions in nucleotide and protein sequences are subject to different evolutionary pressures or strains. Moreover, it is now apparent that different sequences accumulate substitutions at different rates (i.e. presence of inhomogeneities along sequences). Structural and functional constraints vary across sites of a protein. In other words, some protein sites may evolve slowly since most mutations ocurring at this particular site have low probabilities of being transmitted to descendants. For example, residues near the core of the molecule evolve under different processes than those exposed at the surface. The most dramatic example of this is related to the protein binding site dynamics, where the response of the cell depends on the binding nature of the cell receptors. In this case, one mutation in the core of the protein may turn an hallosterinc binding site into an orthosteric binding site and, therefore, the full response of the cell to a given receptor may be completely changed (for example, a severe infection turning into haemodynamic shock). From what has been said so far, it becomes apparent that the structural and functional constraints that shape protein evolution also affect substitution processes at the nucleotide level and vice versa. In this regard, two thirds of the nucleotide changes at the third codon position do not modify the amino acid translated (synonimous changes), whilst the mutations that take place at the second position systematically change the amino acid translated (non-synonimous changes). Also only 10\% of changes at the first codon position are synonimous so it can be concluded that evolutionary pressure varies depending on the constraints already present at the protein level. A simple approach to model this evolutionary feature is to allow the substition rates to vary across amino acid or nucleotide sites of the sequence. However, the estimation of the rate of change for each site of the alignment is impossible due to a combinatory explosion. In order to overcome this problem it is assumed that site rates are unknown but comply with a probabilistic distribution whose parameters or shape are estimated from the data. The structure of the genetic code is also responsible for other evolutionary patterns which are more complex than variations in rates across codon positions. Synonimous and non-synonimous mutations have varying probabilities of becoming `fixed' in a given population, which depends on the selective forces that act on the corresponding amino acids.