Also, it's well established that there are plenty of feedback loops here. An active gene can code for the production of a protein that activates or inactivates other genes. There are numerous pathways by which external stimuli can amplify or inhibit all of these feedback loops, so external conditions often result in changes to which genes are tagged.
As you can imagine, the state-space of all of this is immense; far larger than just the number and type of genes that you have. Mapping it all is a vast project that might easily take thousands of years.