|
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]).
|