An old article but well worth reading
Our DNA—specifically the 25,000 genes identified by the Human Genome Project—is now widely regarded as the instruction book for the human body. But genes themselves need instructions for what to do, and where and when to do it. A human liver cell contains the same DNA as a brain cell, yet somehow it knows to code only those proteins needed for the functioning of the liver. Those instructions are found not in the letters of the DNA itself but on it, in an array of chemical markers and switches, known collectively as the epigenome, that lie along the length of the double helix. These epigenetic switches and markers in turn help switch on or off the expression of particular genes. Think of the epigenome as a complex software code, capable of inducing the DNA hardware to manufacture an impressive variety of proteins, cell types, and individuals.