1. A method for reconstructing evolutionary data of a set of genomic data, comprising the steps of: obtaining a set of genomic data; determining a chronological order of one or more mutations within the set of genomic data; determining a chronological order of one or more recombinations within the set of genomic data; determining a position of each recombination within the set of genomic data; and combining the chronological order of the one or more mutations, the chronological order of the one or more recombinations and the position of each recombination to reconstruct evolutionary data of the set of genomic data.