Supporting and supplemental information for the paper "Genetic Regulatory Network models of Biological Clocks: Evolutionary history matters"
On this web page you will find lots of tables with all the results we could not fit into the paper. All the source code is available.

Schematic Protein / Genome / Environment interaction.

What is in the paper?
Abstract    We study the evolvability and dynamics of artificial genetic regulatory networks (GRNs), as active control systems, realizing simple models of biological clocks that have evolved to respond to periodic environmental stimuli of various kinds with appropriate periodic behaviors.
GRN models may differ in the evolvability of expressive regulatory dynamics. A new class of artificial GRNs with an evolvable number of complex cis-regulatory control sites - each involving a finite number of inhibitory and excitatory binding factors - is introduced, allowing realization of complex regulatory logic.
Previous work on biological clocks in nature has noted the capacity of clocks to oscillate in the absence of environmental stimuli, putting forth several candidate explanations for their observed behavior, related to anticipation of environmental conditions, compartmentation of activities in time, and robustness to perturbations of various kinds, or unselected accidents of neutral selection. Several of these hypotheses are explored by evolving GRNs with and without (gaussian) noise and "black out periods" for environmental stimulation. Robustness to certain types of perturbation appears to account for some, but not all, dynamical properties of the evolved networks. Unselected abilities, also observed for biological clocks, include the capacity to adapt to change in wavelength of environmental stimulus, and to clock resetting.
For copyright reasons this journal paper can only be put online here one year after publication. But you can read the slightly less detailed conference paper published earlier.

Java code
Please feel free to download the full source code of the simulation, in strongly commented Java. Structuring of the code in quite a few classes hopefully increases readability even more. More code, Linux scripts and Latex templates included for automatic evaluation of results. Please see the README.TXT file included in the zip archive for details.
All this software is distributed under the GNU General Public License (GNU GPL). So you are welcome to use the code free of charge as long as you make the resulting applications available under GNU GPL again and you mention the original work. There is no warranty of any kind.

Phase resetting experiments

Animation of phase resetting plots, within one plot the stimulus strength is increasing while between successive plots stimulus length is increasing.
[T]he most critical property of biological clocks - which rhythmically organize the processes of life - is their ability to be reset on cue.
This ability enables biological clocks to regain synchrony with a changing environment (as when we travel across time zones) or to maintain the alignment between certain physiological rhythms and the natural solar day. [...] reveals that each of these clocks has a vulnerable phase, a moment in each "turn of the dial" whena cueing stimulus of a particular intensity results in an abnormal, unpredictable resetting [...] A singular feature of the author's exploration of these phenomena is his use of a range of colors to represent the passage of cyclic time.
Winfree, A. T. The Timing of Biological Clocks. Scientific American Books, Inc., 1986
Not only do we find similar reset-stimulus reaction patterns, namely that a very strong signal will always reset the clock to a specific phase while a weak signal has almost no effect with a particular small interval inbetween being able to catapult the clock to almost any phase ("singularity"), but also have a pratical conclusion: When you travel through several time zones the best thing to minimize jet-lag is to get a lot of sun, instead of hiding in the conference rooms until after dark, to force your rhythm in sync again. (Admittedly this insight was there before our research, but at least we can support it :)
Note that due to problems with Gnuplot, which was used to generate the plots, sometimes areas where phases 0.0 and 1.0 meet get the wrong color. Due to the continuity of the color cycle there should be no sharp boundary, however Gnuplot takes the average and gives a value of around 0.5 - which is blueish instead of red!
Plots with varying stimulus strength (6.8MB) - as in the animation on the right
Plots with varying stimulus length (1.2MB)

Outcomes of evolutionary runs with varying environmental stimuli
Outcomes of runs evolving 9 gene GRNs, with the leftmost column depicting the environmental stimuli used and the topmost row the desired output behavior for every run. The data cells show the final deviation averaged over 10 repetitions with 250 generations each, plusminus its standard error and the best adapted GRNs deviation as well as a graph of it's lifetime behavior.
Table (pdf 0.25MB)

Results of applying special environmental stimuli to the best evolved GRNs
The data cells in this tables correspond to the ones used in the table showing the outcomes of the evolutionary runs in different conditions (see above). So "environmental input" and "desired behaviour" means that the GRN has been evolved in this setting while the headline of the data cell plots says what stimuli were applied to that GRN in addition to / modifying its "normal" environment stimuli and the plot shows the resulting system behavior. (For both files: pages 1-18: strange stimuli [phaseshifts, different wavelengths, very long blackouts] / pages 19-24: plus perturbations [noise, blackout] not seen in evolutionary history)
Table for 5 gene GRN runs (pdf 4.5MB)
Table for 9 gene GRN runs (pdf 4.7MB)

Network dynamics visualization with a Java Applet

You don't see the network? Java VM is disabled, to old or not even installed.
Click here to download the newest Java VM now
Note the input is "pulse +blackouts +noise", so there is a peak missing sometimes and noise all the time.
The Java Applet below shows a well adapted network from one of the hardest environments we had: The red graph shows environmental input to the network, it corresponds to the setting "pulse +blackouts +noise". The green graph shows the network's output.
Click on other nodes to see their output plotted. Note that the green graph does not correspond to a single node's output as several nodes produce the output protein.
Round nodes are of induced type (default 'off') and square ones are constituitive (default 'on'); the one node with rounded corners represents environmental input to the gene. The lighter a node is colored the more active it is.
Red connections are activatory, blue ones are inhibitory. N.B.: The grouping of links into modules is not shown in this visualization!
The source code for this applet can be found with in the section "Java code".

More experiments
We ran lots of additional experiments within the described basic framework to answer questions concerning robustness and the evolvability of the system.
Note that each pdf file below has a size of around 5MB.

Genomes used for figure 10 of the paper (Heterochronic control)

Reproduction of the heterochronicity figure, see paper for details.
Heterochronic control is, generally speaking, changes in the timing of gene expression without affecting the general dynamics (see e.g. Wikipedia for details).
The 9 genes are the same for all genomes used: {1,1,0,0,2,1,0,2,1,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,0,3, 1,1,0,0,2,2,1,0,1,1,0,0,2,2,0,1,0,1,2,1,0,1,0,0,2,2,1,0,2,2,0,0,0,0,3, 0,0,0,1,2,0,0,1,0,1,1,2,1,1,1,0,1,1,0,1,3, 0,1,1,1,1,1,1,1,0,3, 1,3, 1,1,0,0,1,1,0,0,0,2,0,0,1,1,1,1,0,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,1,3, 3, 1,1,0,0,2,1,0,0,1,0,1,2,1,1,0,0,3, 1,1,0,1,0,0,2,0,2,1,1,0,2,0,0,1,1,0,1,0,1,2,1,1,1,0,1,0,3,
But changing the protein decays and binding proportion a little proved to be useful (first "wild type" and then slightly mutated versions):
0,1,1,1, 1,0,0,1, 1,1,1,0, 0,0,0,1, 0,1,0,1, 0,1,0,1, 1,0,0,0, 1,0,1,0, 0,0,1, 1,1,0,1};
0,1,0,0, 1,0,0,1, 1,1,1,0, 0,0,0,1, 0,1,0,1, 0,1,0,1, 1,0,0,0, 1,0,1,0, 0,0,1, 1,1,0,1};
0,1,1,1, 1,0,0,1, 1,1,1,0, 0,0,0,1, 0,1,0,1, 1,0,0,1, 1,0,0,0, 1,0,1,0, 0,0,1, 1,1,0,1};
0,1,1,1, 1,0,0,1, 1,1,1,0, 0,0,0,1, 0,1,0,1, 0,1,0,1, 1,0,0,0, 1,0,1,0, 0,1,1, 1,1,0,1};

Reference / Bibtex
Knabe, J. F., Nehaniv, C. L. and Schilstra, M. J. Genetic Regulatory Network models of Biological Clocks: Evolutionary history matters. In Artificial Life, 14 (1): 135-148, 2008.

 @article{extendedBioClockGRNs,
    author = {Johannes F. Knabe and Chrystopher L. Nehaniv and Maria J. Schilstra},
    title = {Genetic Regulatory Network models of Biological Clocks: Evolutionary history matters.},
    journal = {Artificial Life},
    year = {2008},
    volume = {14},
    number = {1},
    publisher = {MIT Press},
    address = {Cambridge, MA, USA},
    pages = {135--148},
    doi = {10.1162/artl.2008.14.1.135},
    ee = {http://www.mitpressjournals.org/doi/abs/10.1162/artl.2008.14.1.135},
    url = {http://panmental.de/GRNclocks}
 }


2006-04-10; University of Hertfordshire, Hatfield AL10 9AB, UK; Version 1.0
2006-04-20; University of Hertfordshire, Hatfield AL10 9AB, UK; Version 1.1 (source code made available)
2006-05-03; University of Hertfordshire, Hatfield AL10 9AB, UK; Version 1.2 (added phase resetting plots)
2006-09-27; University of Hertfordshire, Hatfield AL10 9AB, UK; Version 1.3 (added Java Applet)
You might want to visit Johannes Knabe's homepage and other publications as well.