GeNES - Gene Network Evolution System


Main program
GeNES uses and bundles part of the Colt library. Colt License Agreement:

Copyright (c) 1999 CERN - European Organization for Nuclear Research.

Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. CERN makes no representations about the suitability of this software for any purpose. It is provided "as is" without expressed or implied warranty.


To execute the program open a command line, change to the directory where you saved the GeNES.jar file and type:
    java -jar GeNES.jar [options]
where [options] are:

    -exp [Evolution, Random]   - Type of experiment [Default Evolution]
    -mtx <text>                - Founder matrix file(s) to load network(s) and initial
                                 state(s) from [Default ""]
    -G <int>                   - No. generations [Default 5000]
    -N <int>                   - No. genes (*) [Default 10]
    -M <int>                   - Population size (*) [Default 500]
    -c <double>                - Network complexity (*) [Default 0.75]
    -a <int>                   - Rate of change in activation function (*)
                                 [Default 100]
    -tau <int>                 - Time interval (*) [Default 10]
    -i <int>                   - Iterations until equilibrium [Default 100]
    -sigma <double>            - Strength of stabilizing selection
                                 (* if -displayPerturbedFitness is true) [Default 1.0E9]
    -mu <double>               - Mutation probability [mu/(cN^2)] [Default 0.1]
    -eta <double>              - Environmental change probability [eta/N] [Default 0.0]
    -asexual                   - Asexual reproduction [Default false]
    -perturb <int>             - No. perturbations (*) [Default 100]
    -perturbrounds <int>       - No. perturbation rounds (*) [Default 1]
    -displayPerturbedFitness   - Display the mean fitness of perturbed individuals (*)
                                 [Default false]
    -uniform                   - Use uniform random values for matrix elements.
                                 [Default false]
    -heterogenous <int>        - No. of mutations per founder individual (heterogenous
                                 founder population) [Default 0]
    -autostophet               - Stop the simulation when the population becomes
                                 homogenous (Useful for heterogenous runs with zero mu)
                                 [Default false]
    -runs <int>                - No. runs (*) [Default 1]
    -runsstart <int>           - Run number to start with [Default 0]
    -rep <int>                 - No. replicates over the same founder [Default 1]
    -period <int>              - Generation period for analyzing perturbations
                                 [Default 500]
    -decplaces <int>           - Number of decimal places for output (*) [Default 5]

    Only options with (*) are used for Random experiment

For a more detailed description of some of the options see Azevedo et al., 2006 and accompanied Supplementary Information.


To run evolutionary simulations similar to the ones presented in Azevedo et al., 2006, Fig. 3a use the following commands (on one line):

Sexual reproduction, high mutation rates:
    java -jar GeNES.jar -perturbrounds 5 -runs 50
Asexual reproduction, high mutation rates:
    java -jar GeNES.jar -perturbrounds 5 -runs 50 -asexual

Sexual reproduction, low mutation rates:
    java -jar GeNES.jar -mu 0.002 -perturbrounds 5 -runs 50
Asexual reproduction, low mutation rates:
    java -jar GeNES.jar -mu 0.002 -perturbrounds 5 -runs 50 -asexual

Results File Description

The data generated by one evolutionary simulation (called "run") is saved in a directory named genes_exp_# (where # is a unique experiment identifier). The main data file of the simulation is results.txt. It contains population statistics for each generation, one generation per line. Each line contains the following statistics as tab-delimited columns:
    Gen                  Generation number
    H                    Genetic variation
    Mortality            Mortality

    Unstable#            Percentage of unstable perturbed individuals 
                         (# = pertubation round number)