NEURON is intended to be a flexible framework for handling problems in
which membrane properties are spatially inhomogeneous and where membrane
currents are complex. Since it was designed specifically to simulate the
equations that describe nerve cells, NEURON has three important advantages over
general purpose simulation programs. First, the user is not required to
translate the problem into another domain, but instead is able to deal directly
with concepts that are familiar at the neuroscience level. Second, NEURON
contains functions that are tailored specifically for controlling the
simulation and graphing the results of real neurophysiological problems.
Third, its computational engine is particularly efficient because of the use of
special methods and tricks that take advantage of the structure of nerve
equations (Hines 1984; Mascagni 1989).
However, the general domain of nerve simulation is still too large for any single program to deal optimally with every problem. In practice, each program has its origin in a focused attempt to solve a restricted class of problems. Both speed of simulation and the ability of the user to maintain conceptual control degrade when any program is applied to problems outside the class for which it is best suited.
NEURON is computationally most efficient for problems that range from parts of single cells to small numbers of cells in which cable properties play a crucial role. In terms of conceptual control, it is best suited to tree-shaped structures in which the membrane channel parameters are approximated by piecewise linear functions of position. Two classes of problems for which it is particularly useful are those in which it is important to calculate ionic concentrations, and those where one needs to compute the extracellular potential just next to the nerve membrane. It is especially capable for investigating new kinds of membrane channels since they are described in a high level language (NMODL (Moore and Hines 1996)) which allows the expression of models in terms of kinetic schemes or sets of simultaneous differential and algebraic equations. To maintain efficiency, user defined mechanisms in NMODL are automatically translated into C, compiled, and linked into the rest of NEURON.
The flexibility of NEURON comes from a built-in object oriented interpreter which is used to define the morphology and membrane properties of neurons, control the simulation, and establish the appearance of a graphical interface. The default graphical interface is suitable for exploratory simulations involving the setting of parameters, control of voltage and current stimuli, and graphing variables as a function of time and position.
Simulation speed is excellent since membrane voltage is computed by an implicit integration method optimized for branched structures (Hines 1984). The performance of NEURON degrades very slowly with increased complexity of morphology and membrane mechanisms, and it has been applied to very large network models (104 cells with 6 compartments each, total of 106 synapses in the net [T. Sejnowski, personal communication]).
Address questions and inquiries to
Michael Hines or Ted Carnevale
Digital preprint of "The NEURON Simulation Environment" by M.L. Hines and N.T. Carnevale,
Neural Computation, Volume 9, Number 6 (August 15, 1997), pp. 1179-1209.
Copyright © 1997 by the Massachusetts Institute of Technology, all rights reserved.