Jump to http://genomics.iab.keio.ac.jp/


GeNESiS, which stands for GEne Network Evolution SImulation Software, is a software for simulating the evolution of arbitrary gene regulatory networks. It is composed essentially of two parts: The front-end graphical user interface (GUI) written in Java and the backend algorithm written in C. The algorithm itself is parallel in nature and has been built using the GNU Scientific Library (GSL) and the parallel genetic algorithm package (PGAPACK). A slight change was made in the data structure of PGAPACK in order to pass parameters from one subroutine to another. Moreover, since PGAPACK uses the Message Passing Interface (MPI) in order to run parallely across multiple processors, the algorithm requires the presence of some MPI implementation and has been tested using both, MPICH and OpenMPI.

If you are using GeNESiS and want to cite it, please use this publication:
Anton Kratz, Masaru Tomita, Arun Krishnan: "GeNESiS: gene network evolution simulation software", BMC Bioinformatics, Vol. 9, No. 1. (2008)
[Highly accessed, Open Access]


The algorithm is described in Arun Krishnan, Alessandro Giuliani and Masaru Tomita, "Evolution of Gene Regulatory Networks: Robustness as an emergent property of evolution", Physica A 387:2170-2186


GeNESiS v1.1

GeNESiS is published under the GNU Public License.

User Manual


Installation Instructions

Software Dependencies

a). GNU Scientific Library (GSL): http://www.gnu.org/software/gsl/#downloading
b). MPI (any distribution):
OPENMPI: http://www.open-mpi.org/software/ompi/v1.1/
MPICH: http://www-unix.mcs.anl.gov/mpi/mpich2/
c). GraphViz - Graph Visualization Software: http://www.graphviz.org/

1. Download this package from http://genomics.iab.keio.ac.jp/genesis_www_page/downloads/GeNESiS.tar.gz (see link above)

2. tar and unzip the package using
tar zxf GeNESiS_Package.tar.gz

3. Change directory to the main directory
cd GeNESiS_v1.0

4. Run the install script
perl install_genesis.pl

5. You will be asked a series of questions
a) Do you want to install a parallel version of the program? [Y/N] (Default = Y)
b) Do you have MPI installed? [Y/N] (Default = Y)
c) Please enter full path of the GSL lib directory
d) Please enter full path of the GSL include directory
e) Where would you like to have PGA installed?
f) Please enter the path of the MPI library file
g) Please enter the path of the MPI include dir
(give full pathnames for the directories)

Remark: in openmpi, the library file is called libmpi.so.0

6. That should be enough to compile the executables.

7. You can run the GUI using
java -jar Genesis_GUI.jar

Installation Problems

  1. Please note that the LD_LIBRARY_PATH variable must be set so that the Genesis core engine can find the MPI and GSL lib directories. If it is not set, you can do this manually before running Genesis (after installing it). In BASH the LD_LIBRARY_PATH can be set similar to this (your pathnames will be different, though): export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/username/MPI/lib:/home/username/GSL/lib
  2. This software has been tested with OpenMPI and MPICH. If you have problems getting it to run with other versions, I can't really help you. However, if you manage to get it working with the other versions, please let me know.
  3. I have tested this on the MacOSX and Linux (Fedora Core and Redhat). Unless someone can get GSL, OpenMPI and PGAPack working on Windows, this can't work on Windows. Sorry Bill Gates!


GeNESiS has a graphical user interface for interactive usage. The following sections describe command line usage only. Please see the manual for a full explanation of the software.

mpirun -np <# of processors> -G <# of genes> -P <# of Proteins> -R <# of RNAP-cofactor complexes> -I <$ of Inputs> -c <# of generations> -G <# of generations to converge> -S <seed type> <OPTIONS>

Command Line Options

Provides a list of options

Model Options

# of genes, default: 4

# of Proteins, default: 4

# of RNAP-cofactor complexes, default: 4

# of Inputs, default: 2

--D_INIT, -U
Initial # of molecules for each Genem default: 1

--P_INIT, -V
Initial # of molecules for each Protein, default: 0

--R_INIT, -W
Initial \# of molecules for each RNAP-cofactor complex, default: 30

--I_INIT, -X
Initial # of molecules for each Input, default: 10

--T_INIT, -T
Initial # of PTM causing molecules

--K1, -a
Rate constant for promoter binding, default: 0.12

Rate constant for promoter unbinding, default:0.12

--K2, -b
Rate constant for RNAP-DNA promoter binding, default: 0.038

Rate constant for RNAP-DNA promoter unbinding, default: 0.038

--K3, -e
Transcription rate, default: 0.0039

--K4, -E
Translation rate, default: 0.0043

--K5, -i
mRNA decay rate, default: 0.0039

--K6, -j
Protein decay rate, default: 0.0007

--SIM_TIME, -s
Simulation time, default: 300 (seconds)

--DT, -t
Simulation step time, default: 0.001 (second)

Sampling time, default: 1

Input step size, default: 10

Input step length, default: 200

Input step type, default: YES
This option does not take a value
Input step type, default: NO
This option does not take a value

Input step type, default: NO
This option does not take a value

Evolution Options

# of Generations to evolve, default: 100

# of generations for results to remain constant to converge to solution, default: 50

# of generations to LOG, default: 1

--POP_SIZE, -m
Population size, default: 40

Objective Type: There are four different objective functions provided.
Biomass: 0
Stability: 1
Total: 2
Biomass + Min Links: 3
default: 0

The Restart frequency, default: 50

Whether to restart the population or not: default no restart
This option does not take any value

Population replacement size, default: 30

Fitness Type: PGAPack provides three different fitness types:
raw fitness: 0
normal fitness: 1
ranking fitness: 2
default: 2

--MUT_PROB, -v
Mutation Probability, default: 0.8

Crossover Type, PGAPack provides three different types of crossov
er: default: 2 (two point crossover)

Crossover Probability, default: 0.85

Option to explicitly prohibit self regulation
default: YES (that is self regulation is allowed)
This option does not take a value.

Contact & Credits

The GeNESiS core engine has been written by Dr. Arun Krishnan.
The GUI-Frontend has been written by Dipl.-Inf. Anton Kratz.

Please contact Anton Kratz for any further questions, comments, or suggestions.

last update: 3 January 2009 | location: http://genomics.iab.keio.ac.jp/genesis.html