Background Material for the GENESIS Tutorials

Introduction to GENESIS - an overview of GENESIS

A series of GENESIS tutorials typically begins with a presentation that gives an overview of realistic neural modeling in general, followed by another that shows how the GENESIS simulator is used to implement these modeling paradigms. The tutorial Introduction to Realistic Neural Modeling with GENESIS is based on similar talks at past neural modeling courses.

GENESIS Tutorial 1 - Hands-on use of GENESIS

  1. Take a quick look at the first two parts of the GENESIS Modeling Tutorial.

  2. Run "genesis" in a console window and work through A basic tutorial on GENESIS.

GENESIS Tutorial 2 - Single cell modeling

  1. Work through Building a cell the easy way and modify your own copy of simplecell.g to make a more interesting cell. If you have time, do some of the exercises in Gtutorial2.html.

GENESIS Tutorial 3 - Modeling neural circuits and small networks

Study Making synaptic connections and connect two cells in an excitatory/inhibitory network. The exercise statement and initial scripts to modify are in Tutorials/exercises/simple-network.

GENESIS Tutorial 4 - Modeling large cortical networks

  1. Study enough of the Modeling Tutorial to understand Creating large networks with GENESIS, and the example scripts in Tutorials/networks/RSnet.

  2. Final goal: Modify the RSnet example to create a network of your own design. Some suggestions are at the end of the networks section, and in "Getting Started With Realistic Neural Modeling".

Project suggestions

The Tutorials/networks directory contains several network models that could be used as a starting point for new simulations.

Study the documentation and scripts for the ACnet2 auditory cortex model. The tutorial for the model lists several 'Experiments to try'. There are a large number of parameter variations that can be made to modify the behavior of this model. Most of these can be accomplished either through the GUI or with simple changes to option strings in the scripts.

Change the cells, connection algorithm, or the input model to represent a different cortical area. There are many cell models to choose from in the Tutorials/cells directory.

Develop an alternate input model to provide stimuli typical of that produced by Transcranial Magnetic Stimulation (TMS). This can be done using a 'script_out' object to provide the stimulus at clocked intervals. The procedure is illustrated with a simulation of effects of fMRI fields available at

NEURON users who want to compare the two simulators may want to try converting the ACnet2 model to NEURON and comparing the performance.

The Open Source Brain page for the Primary Auditory Cortex network has links for initial conversions of the model cells to neuroContruct and NeuroML. This would be a good starting point for learning how to to convert models between simulators.

The Open Source Brain page for the Traub et al. (2005) Thalamocortical network has the single cell models implemented in NeuroML, NEURON, GENESIS, and MOOSE. These models could be used for either a simplified or full implemention of this popular model in GENESIS.

The documentation for the VAnet2 model describes this efficient hsolved GENESIS version of the Vogels and Abbott (2005) model. It serves as a tutorial on the use of hsolve to achieve at least a factor of 10 speedup, in the context of a very simple model. The 'VAnet2-batch.g' script is intended to be extended for testing GENESIS spike timing dependent plasticity (STDP) implementations with hsolve. This script would be a good starting point for models that use more realistic cells and connections.

GENESIS Tutorial 5 - Using hsolve; synaptic plasticity

For background:

  1. Read BoG Chapter 20 - Last part: using hsolve
  2. Read BoG Chapter 15 - Section 15.4 - Learning and Synaptic Plasticity
  3. Look at the scripts and demos in genesis/Scripts/examples for facsynchan and hebb (the hebbsynchan).
  4. Study the demonstration scripts for the stdp_rules object in genesis/Scripts/stdp_rules, and the documentation on New Plasticity Objects. This describes a new GENESIS 2.4 object that allows spike timing dependent plasticity rules to be applied to synchan elements in a way that is compatible with hsolve.
  5. For more details on the use of hsolve, see the documentation for the hsolve object and the advanced tutorial Simulations with GENESIS using hsolve.
  6. Also see the exercise Gtut5.html.

After studying the ACnet2 or VAnet2 documentation and scripts

Make an hsolveable version of RScell and then of RSnet. Do some execution time comparisons with and without hsolve.

Modify RSnet to send Vm data and the Ex_channel Ik current to data files that may be visualized with gpython-tools/

The numerical calculations for the cells will be slightly more accurate when hsolve is used, and sequence of action potentials will be similar, but slightly different. How will you determine if your hsolved version of RSnet is producing the "correct" results?

Possible projects:

Create an efficient hsolved two-population cortical network model based on either VAnet2 or ACnet2, using different cells. Consider a different connection algorithm and different input models.

Implement the Song, Miller, and Abbott (2000) algorithm for spike timing dependent plasticity (STDP) for the VAnet2 model using the stdp_rules object. There are further suggestions in the ACnet2 documentation under "Experiments to try" and at end of the README file for VAnet2.

Back to Index of exercises

Return to the Ultimate GENESIS Tutorial Distribution main index

Last updated on: Thu Jul 17 13:57:03 MDT 2014