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.
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.
However, hsolve does more than provide efficient numerical integration for compartmental cell models. When cells that have been taken over by hsolve are used in a network simulation, spikes are delivered much more efficiently. This can result in speed increase of ten to twenty times when using the approach described in the "Networks of Cells" section of the hsolve tutorial. This is illustrated in the two simulations networks/VAnet2 and networks/ACnet2-GENESIS. VAnet2 serves as a tutorial on using hsolve with network models and the ACnet2-GENESIS simulation is a study of cortical waves in primary auditory cortex that evolved from the models used in these tutorials.
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 http://www.brains-minds-media.org/archive/225.
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 http://www.brains-minds-media.org/archive/227. 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.
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 http://genesis-sim.org/GENESIS/WB05-advanced-tutorials 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 documentation for the chemesis library, which has been incorporated into GENESIS 2.4. Chapter 10 of the BoG provides an introduction to the biochemistry involved, and a tutorial on Kinetikit and the GENESIS kinetics library.
chemesis is a library of objects for creating models of biochemical reactions, second messengers, and calcium dynamics, developed and contributed to the GENESIS 2.4 libraries by K. T. (Avrama) Blackwell. The main website for the latest chemesis source code, tutorials, simulation scripts, and lecture slides is http://krasnow1.gmu.edu/CENlab/software.html. The chemesis tutorial is in Scripts/chemesis/CalTut.html. The advanced tutorials on Modeling Calcium and Biochemical Reactions from WAM-BAMM 2005 and LASCON 2008 have example scripts that use both chemesis and kinetikit.
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. (http://www.brains-minds-media.org/)
Edgerton J (2005) Simulating in vivo-like synaptic input patterns in multicompartmental models. Brains, Minds, and Media. 1: bmm225 (http://www.brains-minds-media.org/)
Hood G (2005) Using P-GENESIS for parallel simulation of GENESIS models - A brief overview. Brains, Minds, and Media. 1: bmm227. (http://www.brains-minds-media.org/)