Soon after the first sequences of proteins and nucleic acids became available for comparative analysis, it became apparent that they can play a key role for reconstructing the evolution of life. The availability of the sequence of several proteins prompted the birth of the field of molecular evolution, which aims at both the reconstruction of the biochemical history of life and the understanding of the mechanisms of evolution at the molecular level through the analysis of the macromolecules of existing organisms. These ambitious goals can only be accomplished within a wide interdisciplinary approach that combines together experimental techniques of molecular biology, bioinformatics and mathematical modeling. Indeed, the huge amount.