Previous: Creating large networks with GENESIS Up: Table of Contents

Where do we go from here?

Here are some suggestions and resources for learning more advanced GENESIS programming techniques. Also see the advanced tutorials in this tutorial distribution with links to other longer tutorials on the GENESIS website.

Using implicit numerical methods

The default integration method (exponential Euler) is fine for simple models with just a few compartments. Models with many compartments should use an implicit method (e.g. Crank-Nicholson) with the Hines algorithm in order to avoid numerical instablilities. This is implemented, along with other speedups, in the GENESIS hsolve object. This is covered in BoG Chapter 20 and the GENESIS documentation for hsolve. For example scripts, see genesis/Scripts/examples/hines for examples. The advanced tutorial by Hugo Cornelis from the 2002 GENESIS Users Meeting Simulations with GENESIS using hsolve gives further examples.

Spike train objects in GENESIS

To understand single neuron computation it is desirable that realistic input patterns be given to model neurons in the study of the input-output function. Spike train objects can be used to generate input patterns in place of a full network model, which is often not available. Other GENESIS objects can be used to generate histograms of cross-correlations, auto-correlations, interspike intervals, and others. The WAM-BAMM 2005 Advanced Tutorial on "Simulating in vivo-like synaptic input patterns in multicompartmental models" (Edgerton, 2005) describes how realistic input patterns can be given to model neurons, using the tools available in GENESIS. The electronically published version may be viewed or downloaded at

Using GENESIS on parallel computers

Parallel GENESIS (PGENESIS) is an extension of GENESIS for use on parallel computers and networks of workstations. It is useful for simulations that must be run many times independently, such as parameter searching, and is used for large scale models that can benefit from the speed advantages of parallelism, especially large network models. The WAM-BAMM 2005 Advanced Tutorial on Parallel GENESIS presents in-depth example scripts, and discusses topics such as efficient network partitioning, sychronization issues, parallel I/O, parallel parameter searching, load balancing, scaling behavior, and debugging strategies. The electronically published version (Hood, 2005) may be viewed or downloaded at PGENESIS is also covered in considerable detail in BoG Chapter 21. The Mini-Tutorial Using Parallel GENESIS on PCs with Multicore Processors gives a "quick start" guide to intalling PGENESIS under Linux on PCs using the MPI environment.

Other examples and GENESIS features

For performing parameter searches to "tune" a model, see genesis/Scripts/param, and the documentation for the GENESIS Parameter Search Library given in the GENESIS Reference Manual. The WAM-BAMM 2005 Advanced Tutorial on Parameter Searching Tools in GENESIS at gives a good overview of parameter searching and a discussion of the issues involved, suggestions, hints, and pitfalls.

A demonstration of the use of GENESIS for modeling biochemical reactions such as occur in biochemical signaling pathways can be found in genesis/Scripts/kinetikit, and in the advanced tutorials on Modeling Calcium and Biochemical Reactions from WAM-BAMM 2005 and LASCON 2008. Some of the included example scripts use chemesis, a library of biochemical reaction objects for modeling calcium concentration, which is also included. The website for chemesis is Chapter 10 of the BoG provides an introduction to the biochemistry involved, and a tutorial on Kinetikit and the GENESIS kinetics library.

If you need to create your own new GENESIS objects and commands, see the documentation on Customizing GENESIS in the GENESIS Reference Manual.

The genesis/Scripts/examples directory has examples of other GENESIS capabilities such as hebbian and facilitating synapses, markovian channels, Ca diffusion in spines, and various types of device objects for input and output, or for applying stimuli to model neurons.

For a summary of all the objects that are available in GENESIS, see the Objects section in the GENESIS Reference Manual. To simply see a list of available objects, type "listobjects" from within GENESIS. To see a list of commands, type "listcommands".


Blackwell KT (2005) Modeling calcium concentration and biochemical reactions Brains, Minds, and Media. 1: bmm224. (

Edgerton J (2005) Simulating in vivo-like synaptic input patterns in multicompartmental models. Brains, Minds, and Media. 1: bmm225 (

Hood G (2005) Using P-GENESIS for parallel simulation of GENESIS models - A brief overview. Brains, Minds, and Media. 1: bmm227. (

Previous: Creating large networks with GENESIS Up: Table of Contents