wiki:WikiStart

Version 8 (modified by henrik, 10 years ago) (diff)

--

Welcome to the Organism-Tissue Simulator software page

The Organism-Tissue Simulator is a C++ software for simulating biological systems. It mainly focuses on systems with multiple cells/compartments, and includes biochemical as well as mechanical and cell proliferation rules for numerically simulating the system dynamics.

The software is currently divided into two separate codes:

Organism : used for simulating cells with geometries that can be described by a fixed number of variables and parameters. Examples are cells described by Spheres, Capped cylinders for rod-shaped cells, and Budding (yeast) shapes. It also can be used for simulations on geometries extracted from confocal data, where it uses information on cell volumes cell-cell connections (walls) and their areas. Example papers using these different approaches are:

Jönsson et al (2006) PNAS

Cho, Jönsson et al (2006) PLoS Biology

Jönsson and Levchenko (2005) Multiscale Modeling and Simulation

Gruel et al (2016) Science Advances

Tissue : used for simulating vertex-based cell geometries including finite element mechanical models. A cell wall (cell in 2.5D) is defined by a list of vertices defining a polygon. Example papers using this software are:

Hamant, Heisler, Jönsson et al (2008) Science

Bozorg et al (2014) PLoS Comp Biol

Features

Some of the features of the Organism-Tissue software are:

  • It includes several numerical solvers for the ordinary differential equations, also with noise, and for stochastic simulations (Organism).
  • It includes a library of common biochemical, growth, division and mechanical rules.
  • Models are defined within a specific model file - no need for recompilation when models are changed.
  • The code is compartmentalised such that it should be easy for a programmer to define

additional user-specific reaction- division- etc. rules.

  • It is and has been used to simulate growing plant tissue, and yeast and

bacterial cell colonies.

  • It includes visualisation and analysis tools.
  • it includes an optimisation environment where data from multiple mutants can be used to define a cost function (only Organism).

Development

The software is mainly developed at the Computational Biology & Biological Physics group at Lund University and the Computational Morphodynamics group at the Sainsbury Laboratory, University of Cambridge. Contact: henrik.jonsson@….

Binaries

There are three main binaries. simulator which is simulating a single organism-tissue model. For the Organism code there is an optimizer binary which is used to optimise model parameters towards a data template, and newman which is used to visualise model output. For the Tissue code, the preferred viualisation tool is Paraview.

Simulator

The simulator uses three input files:

  • model file: this file defines the model. Information of its format can be

found in the documentation of Organism::readModel().

  • init file: this file holds the initial variable values. Information of

its structure can be found at the documentation for Organism::readInit().

  • solver parameter file: With this file parameters for the solver is

provided. Information of its structure can be found in BaseSolver::getSolver().

These three files are required to be included among the command line arguments and in correct order. In addition different flags to the simulator can be set, either on the command line or in a file $HOME/.organism. Information on these additional flags can be found in the documentation for the namespace myConfig.

A common command line execution of the simulator binary is then:

$ORGANISM/bin/simulator example.model example.init example.rk5 > example.data

which generates the system output in the file example.data.

Optimizer

The optimizer uses three input files:

  • model file: this file defines the model. Information of its format can be

found in the documentation of Organism::readModel().

  • solver parameter file: In this file parameters for the solver is

provided. Information of its structure can be found in BaseSolver::getSolver().

  • optimizer parameter file: Information about the optimizer to be used is

given, including parameters to be optimized, template file(s) to be compared to, and cost function to be used. There is more documentation on the file content in the documentation for the class BaseOptimizer? and its sub-classes.

Compilation

The code can be compiled by using make. A Makefile can be found in the $ORGANISM/src directory. The code is ANSI-compatible and has been tested to compile on Linux (default for the provided Makefile), Mac OS X and Windows (using Cygwin) platforms. It is dependent on boost and for plotting OpenGL.

Download

The source code is freely available upon request (henrik.jonsson@…).