next up previous contents
Next: The XNBC control panel Up: XNBC8 User Manual V8.21 Previous: List of Figures

Subsections


Presentation of XNBC

XNBC is a simulation workstation for neurobiologists developped for research purpose.

XNBC means Xwindow Neuro_Bio_Clusters. Xwindow is the unix windowing system, Neuro_Bio is for biological neurons and Clusters is for the way neurons are grouped. XNBC is thus a workstation for biological neural network simulation. This software is a kit of different complementary coherent tools created by neuroscientists who needed for their research to simulate some neural networks in order to test hypotheses.

XNBC allows to build a neural network using neurons grouped at two levels: nuclei and clusters. A nucleus is a collection of neurons. A cluster is a group of neurons sharing the same membrane properties. The nuclei and clusters can be positioned in the network according to the Horsley Clarke coordinate system (in three dimensions), and the neuroscientist can create intra and inter nuclei or cluster connections, according to his experimental protocol.

XNBC provides two neuron simulation levels: the phenomenological neuron model, which is rather simple and fast including membrane potential and threshold, and another more sophisticated model, which is slower and based on conductance variations in different ionic channels.

Five neuron (or cluster) models are actually implemented:

The Virtual model concept allows to made hybrid networks made of simulated neurons receiving inputs from neurons experimentally recorded.

Neurons are grouped together into nuclei. One nucleus can include one or several neuron models (clusters). Perturbations (noise, stimulation, modulation, drugs), can be done either at the level of the nuclei or at the level of the clusters, allowing a high flexibility on the simulated experiment control.

XNBC computes the simulation results and provides different tools for the visualization and the analysis of the results.

The XNBC components

XNBC is made of several independent tools integrated by the xnbc program that presents a control panel from which all the process can be controlled.

The XNBC simulation toolkit is thus made of several parts:

The XNBC objects

The neuron

A neuron is the basic element of XNBC. It represents a neural entity that has a particular physical type, and has a specified location. It is of course a real concept. The neurons are the basis of the neural activities. Each neuron is individually simulated and has its own parameters evolution (membrane potential, ionic conductance, etc...). A neuron can share some basic properties with other neurons (we say that they pertain to the same cluster -see below-), but has its own life, different from the other neurons. Each neuron can be anatomically positioned in the 3D space if needed.

The cluster

A cluster is an abstraction allowing to describe simultaneously in one shot a large number of neurons. When describing a cluster properties, we describe the basic parameters of the neurons (rest potential, rest threshold, membrane capacity, mean Na or K conductance, etc.). Many neurons can share the same basic properties, and then evolve for their own. These neurons are said pertaining to the same cluster. The way the neuron is modeled is also a cluster property.

Four different ways of modeling the neurons can be chosen to describe the neuron and thus to constitute the clusters:

The concept of cluster has proven to be a very powerful concept to describe large sets of neurons and to group them. When only one cluster is used in a nucleus (see below), the cluster can be viewed as a nucleus.

The nucleus

The nucleus is a new concept introduced with XNBC V8.0. It is a convenience object to design a group of neurons (each belonging to a given cluster) that have the same location area, specified by a center and a radius arround this center. This concept introduces the spatial influence in the networks interactions and allows to take into account

A nucleus is constituted by several neurons. These neurons can pertain to one or several clusters, and clusters can span several nuclei (since they are only a way to describe the neuron behavior, not the neuron location). When nuclei contain only one cluster, nucleus and cluster can be viewed as equivalent (in this case, the simple network editor can be used).

Neurons inside nuclei can be connected together and to the other nuclei.

The network

A network is made of one or several nuclei and/or one or several isolated neurons. Nuclei and neurons can be anatomicaly positioned if necessary. Nuclei and neurons are connected together by links representing the axons of constituting neurons (see below).

The connections or links

Neurons can be connected together. Connections can be either excitatory, inhibitory or with NMDA (long lasting excitation), or a mix of excitatory and inhibitory, called random connection. Inter neural transmission of action potentials, called interneural delay (or referred as axon length) can be adjusted, as well as the number of synaptic boutons at the axon ending, called also synaptic weight. The connection matrix can be defined either globally or individually, neuron to neuron.

How to use XNBC

Efforts were made to provide an ergonomic and user friendly user interface in order to allow neuroscientists to use XNBC without any expertise in computer sciences.

To use XNBC, the user sequentially call several programs using the control panel displayed by the main program xnbc. This control panel displays pushbuttons arranged to guide the user to perform neuron and network definition, simulations and analyses.

The very first thing to do is to choose a name for the simulation. This name will be used as a generic base name. Using this name, a directory is created with the name chosen_name_nbc in which all files created during the simulation session. This allows to isolate and keep together all related files. Then the user must sequentially

Nevertheless, the simulator itself (whose name is nbc_x, described in chapter 8) allows to control also, in the same way, all the simulation process, using pulldown menus instead of graphic pushbuttons.

These five steps are detailed below. A separate chapter is devoted to each tool.

Choose the parameters of the neuron models,

Three models of neurons are available, an enhanced leaky integrator, a conditional burster and a Hodgkin-Huxley type model with 14 different ionic currents.

Inputs to the simulated neurons can be provided by data stored in files from actual experiments, allowing to make ``hybrid'' networks. The possibility to mix actual recorded data and simulated data allows to consider these actual data as a fourth model. The modelled neurons as well as the network are described using graphic tools.

Neuron and network parameters can be modified during the simulation, to mimick electrical stimulations and drugs action.

After simulation the temporal evolution of the network or those of selected neurons can be visualized, and point process, frequential and dynamic analyzes can be performed.

There exist two graphic editors to adjust the neuron parameters.

Once the neuron models are defined, neurons can be grouped together into networks.

Build a neural network

The connection matrix of the modeled network can be described using one of the two graphic network editors. According to the pushbutton selected above the network editor pushbutton (dark blue text), the simple or the full featured network editor is launched when the network editor pushbutton is pressed.

The units of one nucleus can be connected with the units of any other nucleus (including itself) through either all excitatory, all inhibitory or both excitatory and inhibitory synapses.

According to the type of network you want to build, the simple network editor can be enough, or the full featured network editor can be necessary. Figure 1.5 schematizes networks and the best editor choice.


  
Figure: Networks and the network editor to use
\begin{figure}\centerline{\psfig{file=networks.ps,width=10cm}}
\end{figure}

Once the network is built, the simulation can be run.

Prepare new drugs

It is possible to define a new arbitrarily named drug and to define which existing transmembranar current (one or several) it inactivates. Evidently, this is available only with CBM.

Run the simulation

After the iteration step and simulation duration are set, the simulation can be run. The integration method is the exponential algorithm described in MacGregor (1987). During the simulation process, the network behavior can be observed on a graphic display representation if necessary. At any time, the simulation can be momentarily stopped in order to modify the external input to one or several nuclei, to give stimulation, drug, or change any parameter. It is also possible to modify some anatomical characteristics, such as connections between two nuclei, mimicking a lesion, or the membrane properties, mimicking pharmacological effects of drugs. The simulation can be stopped at any time, and the network state kept for later simulation.

After the simulation, the visualization tool can display the behavior of the modeled network with respect to time, using several representations with adjustable speed, color and time scale. Data have also to be analyzed.

Visualize the simulation results

The visualization tool is similar to a video tape player allowing to run, stop, go to a given iteration, or change the display speed. It allows to display:

Analyze the simulated network behavior

Two analysis tools are available.

   
History and implementation

The original name of XNBC was Neuro_bio_clusters (NBC), developed in 1988 on a MicroVax II, under Ultrix V2. Versions 2 and 3 of NBC implemented a LIM and few analysis tools. Subsequently, beginning with version 4, NBC evolved toward a tool devoted to the general simulation of neural networks. In version 5 the CBM was introduced, and version 6 saw the arrival of the notion of virtual cluster, of a graphic network editor and of a visualization tool (Vibert et al., 1994b). NBC versions 4 to 6 were menu-driven, with only some parts using an Xwindow interface. Version 7 was the first version where the control menu was replaced by an Xwindow interface, and was consequently renamed XNBC. With version 7 began also the possibility to mix within a single simulation the LIM and the CBM (Vibert et al., 1995b). For XNBC V8, presented here, the interface was completely redesigned, including a second network editor, a new version of the ion-conductance based model editor, an Xwindow version of the simulator and the apparition of the concept of nucleus, allowing to take into account the anatomy of the modeled network. XNBC development is still in progress through close collaboration with neuroscientists.

XNBC is written in portable ANSI C, and was compiled on Ultrix, Digital Unix, IBM AIX, SUN Solaris, HP Ux, Linux and DEC VMS and OpenVMS. XNBC runs on Xwindow workstations and needs the Motif library. When possible, the GNU C compiler (gcc) should be preferred. XNBC produces generally simple ASCII data files that can be easily converted to any format required by common graphic programs or spreadsheets. It produces native color PostScript files (that can be directly used to prepare figures). XNBC is a public domain software package available freely for academic research purpose on Internet (ftp://ftp.b3e.jussieu.fr/pub/XNBC) and informations about new versions at URL http://www.b3e.jussieu.fr/logiciels/xnbc.html.

Contributors

XNBC in its present version is due to the joint efforts of many peoples, engineers, neurobiologists, biomathematicians, medical doctors, and all the users that asked for the interface enhancement, and that helped to discover bugs...

Project leader:

Dr Jean-Francois VIBERT, MD
B3E, ESI INSERM U444, ISARS
Faculte de Medecine Saint-Antoine
Universite Pierre et Marie Curie (Paris 6)
PARIS, France.

Developpers, in alphabetic order:

Below the contributor and affiliation, is the program they contributed to.

Neurobiologists, in alphabetic order:

We are pleased to thank all these peoples, as well as those that used the different versions and helped to discover bugs or gave ideas for the improvement of the user interface or the implementation of new features or related tools.

We are also pleased to thanks the DRET for it financial support (Contract 91/1246A and 94/2526A).

DISCLAIMER

XNBC8 IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. WE MAKE NO WARRANTIES, EXPRESS OR IMPLIED, THAT IT IS FREE OF ERROR, OR IS CONSISTENT WITH ANY PARTICULAR STANDARD OF MERCHANTABILITY, OR THAT IT WILL MEET YOUR REQUIREMENTS FOR ANY PARTICULAR APPLICATION. IT SHOULD NOT BE RELIED ON FOR SOLVING A PROBLEM WHOSE INCORRECT SOLUTION COULD RESULT IN INJURY TO A PERSON OR LOSS OF PROPERTY. IF YOU DO USE IT IN SUCH A MANNER, IT IS AT YOUR OWN RISK. THE AUTHORS DISCLAIM ALL LIABILITY FOR DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES RESULTING FROM YOUR USE OF THE PROGRAM.

This software is provided as an Open Sources shareware.

It was developped for academic researh purpose. Academic institutions and students can use it freely. Nevertheless, donations are welcome to help to maintain and develop XNBC. Non academic users are asked to contact the author to obtain the conditions for a commercial usage.


next up previous contents
Next: The XNBC control panel Up: XNBC8 User Manual V8.21 Previous: List of Figures
Jean-Francois Vibert
1998-08-26