Algorithms for decoding cancer genomes : phylogenetic inference and haplotype assembly