Skip navigation


Nodus, A User Friendly Neuron Simulator for Macintosh Computers

113-119, 1993.
Copyright © Kluwer Academic, Norwell MA, 1993

Editor: F.H. Eeckman

E. De Schutter

Division of Biology 216-76, California Institute of Technology, Pasadena, CA 91125, U.S.A.


The software package Nodus for simulation and development of compartmental models of neurons and small networks is described. Nodus is implemented on Apple Macintosh microcomputers, with the standard user interface and graphics. Two user interface issues are discussed: control of model consistency and selection of model parameters.

The Design Goals for Nodus

Modeling of neurons and neuronal networks is a powerful tool to examine nervous system function. Other chapters in this book show examples where modeling has becoming as important as theory, investigation and laboratory experiments.

An often heard criticism is that some models have little or no biological relevance. One can expect that more realistic models will be could be developed by experimental neurobiologists themselves. An impediment may have been the lack of easy to use software. If neurobiologists are going to compare computer simulations with their experimental data, they should be able to acquire and use modeling tools as any other piece of lab equipment. This means simple installation, clear instructions, no extensive computer knowledge required, an easy to use interface, etc. These features make Nodus also useful for teaching compartmental modeling during short courses.

The computer program Nodus was conceived to be such a tool for scientists with a limited computer experience. The user interface resembles biological experiments instead of emphasizing the mathematical aspects. Nodus integrates most of the required steps in modeling: neuron model conception, model input, translation of the model into simulation parameters, control over experiments, iterative integration of the simulation and full graphic or numeric output.

A microcomputer implementation was preferred because most neurobiologists have no or a limited access to workstations or mainframe computers. Microcomputers are now standard lab equipment and can be an acceptable solution to scientists who do not consider computer simulations as their main line of work. Nodus was implemented on Apple Macintosh computers because it is easy to make graphic oriented, user friendly software on these machines.

A compartmental approach to neuronal modeling was chosen because it is intuitively easy to use and it makes accurate modeling of morphology and electrophysiology possible. Recently network functions have been added to the software. These support the simulation of small, "hard-wired" neuron circuits as for example invertebrate pattern generators.

Integration is implemented by explicit methods. Though implicit integration methods are faster, they are harder to implement. Easy expandibility of the software to include new modeling features was considered more important than raw speed.

Program Functions

This chapter describes Nodus version 3.1, which was developed for Macintosh II computers. Nodus version 2.3 is still available for use on Macintosh computers that do not use a 68020 or 68030 microprocessor. Nodus was written in Fortran (MPW Fortran, Absoft Corporation), the source code consists of about 40000 lines. The program makes full use of the Macintosh interface with movable windows, drop down menus, popup menus, data entry in dialog boxes, file specific icons, etc. An extensive program manual is available.

Figure 1

Figure 1
The internal structure of the Nodus software.

The program functions are conceptually split in two parts (Fig. 1). Database management of model definition files is performed by editor functions; integration and output of the simulation is interactively set up with simulation controls.

Models are stored in separate files: conductance definition files, neuron definition files and (optionally) network definition files. All file types have their own menu, which is enabled when the window at the front belongs to the corresponding file type. Different files specifying one model are linked together in a hierarchical structure by Nodus and automatically loaded when the top file is opened. Several conductance and neuron files can be open and edited at the same time. The dialogs which allow the user to edit model files have been constructed to look as if they represent standard physiological and morphological data.

Conductance definition files contain the Hodgkin-Huxley like equations for voltage dependent ion conductances. These equations are saved to separate files because they are often common to several neuron models and are usually developed separately. Interactive plotting of conductance, time constant, (in)activation and rate factors versus membrane voltage can help in the formulation of new equations. The sign convention for graphic output of ionic currents can be changed by the user (positive outward currents up or down).

Neuron definition files contain the compartmental model of a neuron: equivalent cable parameters, sizes and connections of all compartments (maximum 4000) and ionic current and synaptic parameters. Local variation in membrane resistance is supported. The passive, morphological structure of neurons can be imported from different formats of text files, generated by other simulation or morphology software.

The compartment structure places the nodes of the equivalent circuits at the center of the compartments. Standard symmetric connections between compartments (end to front) and asymmetric connections (center to front) are available. There are commands to split and fuse compartments; this can be done automatically to constrain the electrotonic lenghts of all compartments in the neuron model. The neuron morphology can be represented graphically in a Scholl plot.

Ionic currents and pre- and postsynaptic sites are defined in separate subdefinitions, which are stored with the neuron definition. The subdefinitions contain all the data necessary to implement the feature except for the location within the compartmental neuron model. In compartment dialog windows the user can then select with popup menus one or several of the subdefinitions to tie them to the compartment (Fig. 2). If no subdefinitions are selected, a compartment is a passive.

Network definition files link neuron definitions to neurons in the network and specify the connections between them.

Figure 2

Figure 2
A passive compartment is made excitable.

Model definition files are a good framework to define and manage neuron or network models. They have however an inefficient format for integration of simulation equations. Nodus compiles all data from selected model definition files into one simulation database. The simulation database structure was optimized for integration speed. The format of the database is invisible to the user and of no concern as all relevant simulation parameters can be accessed with selection popup menus (Fig. 3). The simulation database can be stored in a separate file, together with specific settings for integration, graphic or text output, experiments, etc.

Two explicit integration methods with variable time steps are available: an accurate Fehlberg method (fifth order Runge-Kutta) and a fast forward Euler method. Accuracy of integration is controlled by setting a maximum relative error for the Felhlberg method or a maximum change in membrane potential per step for the Euler method. The Euler method uses tabulated values for the Hodgkin-Huxley like equations.

Initial values can be extremely important to the success of a simulation, especially if voltage dependent ionic conductances are used in the model. If conductance (in)activation factors are not matched initially the simulated neuron may behave irregularly (the period of firing will be variable, the first action potential may look different, etc.) till a dynamic equilibrium is reached. In some cases the simulation may reach an equilibrium which has no biological meaning (for example a continuous depolarization instead of firing), caused by an initial imbalance in conductances which was too large to get corrected spontaneously. Equilibrated conductance (in)activation factors cannot be determined analytically for a firing or bursting neuron. In Nodus the user has extensive control over the initial values of parameters. These are stored in the simulation data file, so that the simulation can be initialized with equilibrated values obtained from a previous simulation. The value of any simulation parameter can be viewed and manipulated by the user during simulations.

In all simulation output and experiment commands the model parameters (compartments, conductances, synapses, etc.) are selected with popup menus (Fig. 3). Color graphic output to the screen and/or text output to disk of all simulation variables is supported. Up to 20 different variables can be plotted on 4 axes (Fig. 4). On screen measurement of plotted results is possible.

Figure 3

Figure 3
Selection of model parameters with popup menus.

Several standard electrophysiology experiments can be set up. Different currents (constant, repetitive pulses, ramps, sinus, noise) can be injected and added together in any compartment. One or two neurons can be voltage clamped (Fig. 5). Synapses can be preset to fire at specified times. Ionic currents can be blocked selectively during the simulation to simulate antagonist application.

Figure 4

Figure 4
Graphic output of simulated temporal summation of IPSPs. Upper axis: membrane potential in 5 compartments. Bottom left: synaptic conductances. Bottom right: synaptic currents.

Nodus can compute in the background, but one can also interrupt and afterwards continue prolonged simulations. Standard Macintosh printing of graphics and text is available. Graphics can be copied and pasted in other applications.

Figure 5

Figure 5
Dialog window used to set up voltage clamps.

The User Interface

A lot of effort was spent on making Nodus as easy to use as possible. Some aspects of the user interface have already been described, like the separation of model database management and simulation controls.

Because Nodus may be used by inexperienced modelers it was considered important to check for model consistency. The user is constrained to use preset units for input parameters; for output the units can be selected with popup menus (Fig. 3). Whenever possible Nodus will also check wether an entered parameterfalls within an acceptable range and alert the user if not. This is done for example for electrotonic lenghts of compartments.

There is an extensive, automatic control of consistency of connections between compartments. Compartments in the neuron model have to be to defined in a centrifugal way, starting from the soma. Compartments can be connected by only one connection. Connections are defined at the proximal, parent compartment and Nodus automatically makes the back-connection from the distal compartment. Connections can be changed or deleted only in the parent compartment definition window. Spherical compartment cannot be connected to each other.

Another important part of the user interface is the selection of model and simulation parameters. All elements in the model structure have a name or number and they are accessed by selecting this name or number in popup menus. To select a simulation parameter for output or in an experiment dialog window, a "selection popup row" is used (Fig. 6).

Figure 6

Figure 6
The use of popup menus to select simulation parameters

Each selection popup row makes the unambiguous selection of a single simulation parameter possible. Active selection popup rows consist of a set of 3 or 4 popup menus depending on the selected value type (Fig. 6). Parameters are selected from left to right. The neuron popup menu will show either `not used' when nothing is selected or the name of a neuron. The compartment popup menu will show only appropriate compartments of the selected neuron, i.e. if one is selecting an ionic current for graphic output excitable compartments will be shown. For all parameters, except membrane potentials, a subdefinition selection is made with an additional popup menu.

Popup menus are a nice instrument to select parameters, but they should not be too long. Imagine selecting a compartment for membrane potential output in a 1000-compartments neuron model, a compartment popup menu showing all 1000 compartments would be hard to use! Therefore Nodus never shows more than 50 items in a popup menu. To select which subset of compartments in large models will be shown in the compartment popup menu, the compartment preselection popup menu is used. It makes selection of a subrange in the compartment popup menu possible.

The user can choose between 3 methods of compartment preselection. The default compartment preselection popup menu will show numbered subranges of compartments (#1 - #50, etc) when the model is too large. The other methods depend on how the user has labeled compartments (Fig. 2). If only a few, interesting compartments in a large neuron model have been given a name, the compartment popup menu can be set to show only named compartments and no preselection is necessary. An alternative is to preselect by structure type. The compartment preselection menu will show a list of structure types (soma, dendrite, axon, postsynaptic site, etc.) and the compartment menu will be restricted to the selected structure type.


Nodus is available for a small fee. This includes the compiled program, example files and the manual. The source code is not available because the average Nodus user is not a programmer.

Readers interested in acquiring Nodus should contact the author.

The mathematical methods used in Nodus and their accuracy are described in: E. De Schutter , "Computer software for development and simulation of compartmental models of neurons", Computers in Biology and Medicine, 19, 71-81, 1989.