DNA isn't the sole source code that makes a living organism what it is. There is another set of code that rides on top of the genome. Its called the epigenome and its not hard wired like DNA. Environment and lifestyle can change and are intergal to how your epigenome evolves. It explains why identical twins(genetic clones) grow more and more distinct as they age. I suspect it is also why a heterosexual may have a homosexual identical twin.
Nova had a little segment about the epigenome. Here is a
link.
Stu