I’ve been putting off describing my model of gene networks because I don’t really know how to separate what it is from the much larger question of why we made it this way. To me, modeling is an essentially creative exercise. Just as a visual artist can represent the human form with a single line, or a writer can capture a personality in a single detail, the modeler aims to capture something complex with a few broad strokes. A model can be bad for reasons that are immediately obvious. For example, a model of the trajectory of a cannonball that pays careful attention to tidal effects from Jupiter, but ignores air resistance, is clearly crappy. But a model is good only if it leads somewhere useful, so judging the worth of a model often requires that one spends some time exploring where it might lead.
This exploration is largely the purpose of this blog, and the last four posts have started to fill in the map of where this model might lead. Other models of the evolution of gene networks, like the much simpler and very influential model by Andreas Wagner , have shed light on these same basic questions: interactions between mutations, the role of duplications and deletions, and the bases of evolvability. Why make a new, more complicated model? Well, we thought that there were several key features of genes that could be readily captured in a simulation, and might shape how genes evolve in important ways.
The first of these key features is the noisiness of the signals produced by genes in a cell. Noise in gene expression is a huge subject right now; it seems to me to be emerging as the first big question of systems biology. Our version is pretty simple: we consider a single cell and explicitly model the transcription of each molecule of messenger RNA from each gene, the translation of each protein molecule from those mRNAs, and the decay of both mRNA and proteins. These events are stochastic, driven by the underlying randomness of molecules diffusing and colliding, and we treat them as such using a version of the Gillespie algorithm . The expression of a gene, measured as the abundance of its protein in the cell, therefore fluctuates over time, and any process that protein regulates, like the expression of another gene or the growth of some trait, is influenced by this noisiness.
This probably sounds pretty sophisticated, but there’s quite a catch: simulating stochastic chemical systems is slow, and making it faster is an art in itself. Let’s say that the time to run a simulation scales with the number of cells you model, the number of genes, and the window of time you want to look at:
computation time = # of cells X # of genes X length of time
But that’s the just the equation to model a single organism: we want to model an evolving population. Actually, not just one population, but a set of replicates. So the relevant equation looks like:
computation time = # of cells X # of genes X length of time X # of individuals X # of generations X # of replicates
To see the kinds of subtle adaptive changes that happen in evolution in nature, or even in the lab, we probably need at least 10,000 individuals per generation, and many thousands of generations — let’s say 50,000 generations, to roughly match with Rich Lenski’s E. coli experiment. The Lenski experiment has twelve replicates; let’s round ours up to a set of twenty. So our equation is now:
computation time = # of cells X # of genes X length of time X 10,000,000,000
In other words, our stochastic simulation of an organism needs to run about 10 billion times. That’s before you multiply by the number of treatment groups, but you get the picture.
This calculation explains in large part why evolutionary modelers often need to program their own tools. Odds are good that any systems biologist or biophysicist that codes a gene network model is going to be aiming at a question that requires orders of magnitudes fewer runs of the simulations, and so the model they design will probably be orders of magnitude too complex for our purposes. We model a handful of genes in one cell for about ten hours, at a level of precision which is laughably poor in comparison to the state of the art simulations, because we want to focus on both the cellular level, and the evolutionary level.
Now you might be asking if the effort required to capture some of the effects of this kind if cellular noise matter is worth it: what difference does this make to evolutionary questions? Next week we’ll look at what these noisy phenotypes look like to start to answer that exact question.
 Wagner, Andreas. “Does evolutionary plasticity evolve?.” Evolution (1996): 1008-1023.
 Gillespie, Daniel T. “Exact stochastic simulation of coupled chemical reactions.” The journal of physical chemistry 81.25 (1977): 2340-2361.