Programming the genome in embryonic and somatic stem cells