Evo2Sim is a multi-scale model of in silico experimental evolution.
C++ JavaScript Python HTML CMake R Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Evo2Sim 1.0.2

Evo2Sim is a multi-scale model of In Silico Experimental Evolution. The software is equipped with the whole tool case of experimental setups, competition assays, phylogenetic analysis, and allows for evolvable ecological interactions.

Digital organisms with an evolvable genome structure, encoding evolvable genetic regulation and metabolic networks are evolved for tens of thousands of generations in environments mimicking the dynamics of real controlled environments, including chemostat or batch culture. Evo2Sim was first developed during the EvoEvo project (http://www.evoevo.eu/), funded by the European Commission (FP7-ICT-610427).


• Rocabert, C., Knibbe, C., Consuegra, J., Schneider, D., & Beslon, G. (2017, Sept.). Environmental seasonality drives digital populations towards stable cross-feeding. Proceedings of the 14th European Conference on Artificial Life (ECAL) (Villeurbanne, France). (https://hal.archives-ouvertes.fr/hal-01569093/)
• Rocabert, C., Knibbe, C., Consuegra, J., Schneider, D., & Beslon, G. (2017). Beware batch culture: Seasonality and niche construction predicted to favor bacterial adaptive diversification. PLoS computational biology, 13(3), e1005459. (https://doi.org/10.1371/journal.pcbi.1005459)
• Rocabert, C., Knibbe, C., & Beslon, G. (2015, Jul.). Towards an Integrated Evolutionary Model to Study Evolution of Evolution. Proceedings of the EvoEvo Workshop, Satellite workshop of ECAL 2015 (York, UK). (https://hal.inria.fr/hal-01252796/)


Copyright © 2014-2018 Charles Rocabert, Carole Knibbe, Guillaume Beslon. All rights reserved


This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


Evo2Sim was first developed by Charles Rocabert, Carole Knibbe and Guillaume Beslon, under the EvoEvo project (2013-2016). The list of contributors is displayed in AUTHORS.md. You shall find more details on EvoEvo community at http://www.evoevo.eu/community/.

Installation instructions

Installation instructions are also available in the User Manual.

Download the latest release of Evo2Sim, and save it to a directory of your choice. Open a terminal and use the cd command to navigate to this directory. Then follow the steps below to compile and build the executables.

1. Supported platforms

Evo2Sim software has been successfully tested on Ubuntu 12.04 LTS, Ubuntu 14.04 LTS, OSX 10.9.5 (Maverick) and OSX 10.10.1 (Yosemite).

2. Required dependencies

  • A C++ compiler (GCC, LLVM, ...)
  • CMake (command line version)
  • zlib
  • GSL
  • TBB
  • R (packages ape and RColorBrewer are required)

3. Optional dependencies (for graphical outputs)

  • X11 (or XQuartz on latest OSX versions)
  • SFML 2
  • matplotlib (this python library is needed for the script track_cell.py, see below)

4. HTML viewer dependencies

  • Javascript must be activated in your favorite internet browser

Note, however, that Evo2Sim can be compiled without graphical outputs, and hence no needs for X and SFML libraries (see compilation instructions below for more information). This option is useful if you want to run Evo2Sim on a computer cluster, for example.

5. Software compilation

User mode

To compile Evo2Sim, run the following instructions on the command line:

cd cmake/


bash make.sh

To gain performances during large experimental protocols, or on computer cluster, you should compile the software without graphical outputs:

bash make_no_graphics.sh

Debug mode

To compile the software in DEBUG mode, use make_debug.sh script instead of make.sh:

bash make_debug.sh

When Evo2Sim is compiled in DEBUG mode, many tests are computed on the fly during a simulation (e.g. integrity tests on phylogenetic trees, or on the ODE solver . . . ). For this reason, this mode should only be used for test or development phases. Moreover, unitary and integrated tests must be ran in DEBUG mode (see below).

Executable files emplacement

Binary executable files are in build/bin folder.

Typical usage

Evo2Sim includes three main executables (evo2sim_create, evo2sim_bootstrap and evo2sim_run), and a set of executables dedicated to post-treatments, data recovery or tests.

Everything in Evo2Sim relies on an ad-hoc file organization where all the data for a simulation is stored: populations in the population directory, environments in environment, phylogenetic and lineage trees in tree and so on. It is not recommended to manually modify these files since this may cause some inconsistency leading to undefined behavior. Besides, most of these files are compressed.

Open a terminal and use the cd command to navigate to Evo2Sim directory. A typical parameters file is provided in the folder example (an exhaustive description of the parameters is available in the User Manual). Navigate to this folder using the cd command. Then follow the steps below for a first usage of the software.

1. Create a simulation

Create a fresh simulation from the parameters file (by default parameters.txt):


Several folders have been created. They mainly contain simulation backups (population, environment, trees, parameters, ...). Additional files and folders have also been created:

  • version.txt: this file indicates the version of the software. This information is useful to ensure that the code version is compatible with the backup files (e.g., in case of post-treatments).
  • track_cell.py: when executed, this python script displays on the fly the internal protein and metabolic concentrations of the cell at position 0 × 0 on the grid. This script is useful to get an idea of internal cell’s dynamics (metabolic fluxes, regulation,).
  • viewer folder: the viewer is central to the usage of Evo2Sim (see User Manual). To access the viewer, open the html page viewer/viewer.html in an internet browser.

2. Generate viable initial conditions with a bootstrap

Alternatively to the evo2sim_create executable, use a bootstrap to find a simulation with good initial properties from the parameters file:


A fresh simulation with an updated parameters file will be automatically created if a suitable seed is found.

3. Run a simulation

In Evo2Sim, running a simulation necessitates to load it from backup files. Here, we will run a simulation from freshly created backups (see above):

../build/bin/evo2sim_run -b 0 -t 10000 -g

with -b the date of the backup, here 0 (fresh simulation), -t the simulation time, here 10,000 time-steps. Option -g activates the graphical output (does not work if the software has been compiled with the no-graphics option). At any moment during the simulation, you can take a closer look at the evolution of the system by opening viewer/viewer.html in an internet browser. You can track internal cell’s dynamics by executing the script track_cell.py.

Other main executables are described in the User Manual (section “Main executables description”). You can also obtain help by running the executable with the -h option (e.g. evo2sim_create -h)