Skip navigation


A consumer guide to neuronal modeling software

15: 462-464, 1992
Copyright © Elsevier Science Publishers Ltd, (UK), 1992

E. De Schutter

Division of Biology 216-76, California Institute of Technology, Pasadena, CA 91125, USA


This review compares seven packages for simulating single neuron models, and discusses which software features should be considered when selecting a program.

Anyone who started modeling neurons in the early eighties faced a lack of modeling software. So several groups started writing programs, sometimes just for a specific model, but often `general purpose' neural simulators. The result is that prospective modelers can now choose among about 10 different packages, all with their own peculiarities!

All the software packages described here can simulate accurate models of single neurons and their ionic channels. They are all based on compartmental modeling (1,2), a popular method of representing the neuron. Compartmental modeling is derived from cable theory and uses discretization to simplify the differential equations involved (3). The consequence is that it is easy to represent neuronal morphology accurately and incorporate equations describing ionic and synaptic channels (4). A few packages can also simulate networks of such synaptically connected neurons, but these simulations often require powerful workstations because of the huge number of variables that need to be computed. Another class of programs which models neural networks consisting of simple threshold elements, euphemistically called neurons (5), is not the subject of this review.

Neuron simulation programs differ mainly in how the user interface is organized, how much physiological detail can be added to the model and how the integration is implemented (6). Relevant information about packages which have proven useful has been summarized in Table 1. Some programs have not been included, either because they have not yet been extensively used by the general community or because they are no longer supported (CAJAL (9), MANUEL (15), NEURODYNAMIX (16), SYNETSIM (17)). Most of the packages can be obtained free or for a small fee (a few hundred $), except SABER which is an expensive commercial package and the commercial versions of SPICE (13,14) (the user unfriendly basic version is described here). The table does not compare efficiency measures like computation speed and memory use of these programs, because no standardized, comparable numbers are currently available. Elsewhere in this TINS issue a new standard is proposed which will allow a more quantitative comparison between different simulators. It seems likely that differences in computation speed will be small because most fast packages (AXONTREE (7), GENESIS (8,9), NEMOSYS (9), NEURON (9,10) use implicit integration schemes based on the Hines method (18) (a method of reordering the matrices associated with the differential equations for passive current flow in the dendritic tree). Prospective users should realize that some important software features such as user interfaces cannot be quantitated. About half of the time spent on a typical simulation project involves creating and tuning the model. Thus, a good user interface may contribute more to the overall efficiency of a project than pure computation speed.

The first step in selecting a program is to define the user. Newcomers to neuronal modeling will have to learn both the program and the theory and practice of modeling itself. One should first learn modeling techniques(2,19) before selecting a software package, unless a preexisting model is going to be used. Most of the programs were written by computer hackers and, despite continuous improvements in the user interfaces, they demand considerable time to master. None of the packages described here require programming skills, but compilation of the source code may sometimes be necessary. Often the documentation is obtuse and incomplete, so that outside help might be useful. New users should try to find help locally from experienced modelers and consider using the same software. They should also check whether anyone has succeeded in running the selected program on the type of computer and system software that is going to be used. One cannot assume that a program that depends on the unix system will run without problems on any computer that uses unix. If modeling is going to be a prime research project for the coming years, then it will be worthwhile to invest time into learning the more powerful packages like GENESIS or NEURON. Otherwise NEMOSYS or NODUS (9,11) offer more accessible user interfaces, but less modeling options. A third alternative is to use a general simulation package like SABER (12) or SPICE, which can also model dynamical systems other than neurons.

There are three categories of user interfaces. Some packages let the user alternate between 2 user interface types. Older software like MANUEL and SPICE reads the complete model description from files and allows little interaction during run-time. Most packages allow interactive control over the model, either by menu-driven dialogs or scripts. Script interpreters offer a very flexible interface, but require learning of the script language. The newest user interfaces allow graphic control over model description and display. Detailed neuronal models have nowadays about 1000 compartments and multiple channels. This complexity requires flexible modes of specifying selections of single compartments or groups of compartments (like all compartments having a specific channel or property) for editing and display. GENESIS and NEMOSYS are more sophisticated in this regard. All packages can store the model description in a file, but only a few programs can import morphology files produced by different neuron tracing programs, which will often be the source of the morphological data. For complex models, automatic detection of errors in the model description (like loops in the dendritic tree or negative conductances) can be quite useful.

Modelers interested in the passive electronic structure of large neurons will find functions to automatically lump parts of the dendritic tree into single compartments helpful. Storage of intermediate values of parameters, to be used as initial values in a next run, can be useful when active membrane models are simulated.

It is also quite important to check whether the software has sufficient scope to handle the modeling project. While all the packages described here can model passive membrane models, they differ greatly in their ability to simulate ionic channels, ionic concentrations, plasticity and biochemical processes. Some programs developed for network simulations, like CAJAL and NEURODYNAMIX, force the use of simplified neuron models.

Finally the choice can be limited by the hardware that is available. In the near future complex models will run on parallel supercomputers, which have become faster than standard serial supercomputers (20). At present only GENESIS allows parallelized modeling of single neurons and networks on multiple-instruction-multiple-data parallel computers. Recently GENESIS users demonstrated a new type of scientific collaboration by running separate simulations on machines situated in different cities, connected to each other over computer networks so that one simulation provided synaptic input to the other one.

Computational neuroscience is continually evolving and at least 2 groups are working on new packages. While innovation can be useful, modelers need no longer write their own software from scratch. The available choice is wide and several programs can be extended by the user, so that new features can be incorporated.

(Note that this table is a bit outdated as it was made in 1992. I will provide a more up to date table soon)

Version 1.4 2.36 2.0 3.2 3.0 3.2
Author Y. Manor Caltech M. Hines UC Berkeley E. De Schutter Analogy Inc. UC Berkeley
Type neuron, axon circuit neuron + network neuron neuron neuron + network general simulator simulator
Operating system unix + X unix + X unix, PC, ... unix + X Macintosh VMS, unix, PC, ... VMS, unix, Mac, ...
Interface graphic script or graphic script + equations files + graphic dialogs + buttons script + equations file input
Source code yes (C) yes (C) yes (C) yes (C) no no yes (C)
User extensions no yes yes yes no yes no
Online graphics image XYgraph, image Xygraph XYgraph, image Xygraph no no
Docs minimal minimal minimal minimal yes yes yes
On line help no yes no yes no yes yes
Tutorials no yes yes no minimal no no
Import morphology minimal minimal minimal minimal yes no no
Integration method implicit implicit/expl implicit implicit explicit implicit/expl implicit/expl
Initial value storage yes yes no no yes yes no
Model error detection minimal minimal yes minimal yes no no
Automatic lumping dynamic no no no optional no no
Ionic channels only Hodgkin yes yes yes yes yes minimal Huxl.
Synaptic channels no yes yes yes yes yes minimal
Synapse plasticity no minimal yes no no yes no
Concentration pools no yes yes no yes yes no
Enzymatic kinetics no no yes no no yes no
Networks no yes minimal no minimal yes yes
Best features image, interface scripts, scope speed, scope graph interface user interface scripts, scope passive models

Table 1: Seven software packages for simulating single neurons

Contact addresses


I thank C. Wilson, F.H. Eeckman, M. Hines and I. Segev for providing useful information and M. Lyons for critically reading the manuscript.

Selected references

  1. Perkel, D. H., Mulloney, B. and Budelli, R. W. (1981) Neuroscience 4, 823- 837
  2. Koch, C. and Segev, I., ed. (1989) Methods in neuronal modeling: from synapses to networks, MIT Press
  3. Rall , W. in ref. 2, pp. 9-62
  4. Joyner, R. W., Westerfield, M., Moore, J. W. and Stockbridge, N. (1978) Biophys. J. 22, 155-170
  5. Hertz , J., Krogh, A. and Palmer, R.G., eds. (1991) Introduction to the theory of neural computation, Addison-Wesley Pub. Co.
  6. Mascagni, M. V. (1989) in ref. 2, pp. 439-484
  7. Manor, Y., Gonczarowski, J. and Segev, I. (1991) Biophys. J. 60, 1411- 1423
  8. Wilson, M. A., Bhalla, U. S., Uhley, J. D. and Bower, J. M. (1989) in Advances in neural information processing systems (Touretzky, D. , ed.), pp. 485-492, Morgan Kaufmann
  9. Eeckman, F. H., ed. (1993) Neural Systems: Analysis and Modeling, Kluwer Academic
  10. Hines, M. (1989) Int. J. Biomed. Comput. 24, 55-68
  11. De Schutter, E. (1989) Comput. Biol. Med. 19, 71-81
  12. Carnevale, N. T., Woolf, T. B. and Shepherd, G. M. (1990) J. Neurosci. Meth. 33, 135-148
  13. Segev, I., Fleshman, J. W., Miller, J. P. and Bunow, B. (1985) Biol. Cybern. 53, 27-40
  14. Bunow, B., Segev, I. and Fleshman, J. W. (1985) Biol. Cybern. 53, 41-56
  15. Perkel, D. H. and Watt, J. M. (1981) A manual for MANUEL, Stanford University
  16. Friesen, W.O. and Friesen, J.A. (1991) Abstr. Soc. Neurosci. 17, 522
  17. Hartline, D.K. (1989) IEEE Trans. Circ. Syst. 36, 653
  18. Hines, M. (1984) Int. J. Biomed. Comput. 15, 69-76
  19. MacGregor, R. J. (1987) Neural and brain modeling, Academic Press
  20. Nelson, M. E., Furmanski, W. and Bower, J. M. (1989) in ref. 2, pp. 397-438