XNBC is an open
source simulation tool for the neuroscientists interested in simulating
biological neural networks using a user friendly tool.
A tool for neurobiologists
to simulate and analyze the behavior of simulated biological neurons
and neural networks. XNBC is easy to use, full featured and extensible.
The licence is
the General
Public Licence (GPL)
XNBC history
Neuro_Bio_Cluster
(NBC) was developped to study the respiratory neurogenesis. Its development
started in july 1988, First results were published in 1989. NBC became
XNBC when he got a graphical X interface (XNBC V7). It was developped
for research in computational neurobiology in close collaboration
between neuroscientists and computer scientists.
A simplified version has been developped for pedagogy at the occasion of a book of neurophysiology including simulation exercises using
XNBC Simplified to help to understand the neuron and network mode of eperation. This book,is
"Neurophysiologie : de la physiologie à l'exploration fonctionnelle" published by Elsevier is in French.
The current major version of XNBC is Version 9
.
The current
version is 9.10-i for Linux (February 2009) and 9.11 for Windows (April 2011)
Two manuals are available : a simplified and afull manual, in pdf format :
XNBC Philosophy
XNBC is a full featured
graphic workstation providing
- Graphic tools
to define
- the neuron
parameters
- the simulated
network
- Interactive tools
to run the simulation and give
- Graphic tools
to examine the simulation results
- dynamic visualization
- static visualization
- time domain
analysis
- frequency
domain analysis
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 Phenomenologic
Model of neuron (PUM), a phenomenologic model with adaptation and
post spike membrane shunt.
- the Leaky Integrator
Model of neuron (LIM), the classical simple leaky integrator
- the Bursting Unit
Model of neuron (BUM), a phenomenologic model of conditional burster
with adaptation and post spike membrane shunt.
- the Conductance
Based Model of neuron (CBM), a Hodgkin-Huxley like model with 14 different
transmembranar currents
- the Virtual (not
simulated by the simulator) model stored in a file and coming from
either a live experiment or a previous simulation. This model allows
to made hybrid networks made of simulated neurons receiving inputs
from neurons experimentally recorded.
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
- the anatomic location
of neurons (the Horsley Clarke coordinates can be used)
- the connection
according to the inter neuron distance
- the connection
pattern
- the dissociation
of anatomical location and unit characteristics
- the neuromodulator
or drug concentration according to the production or injection locus
(in a future version of XNBC)
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.
Neuron and network
parameters can be modified during the simulation, to mimic electrical
stimulations and drugs action.
Three tools are available
to analyze the simulation results
The temporal evolution
of the network and of selected neurons can be visualized. A point process,
frequency or dynamic analysis of the simulator output can be performed.
Have a look to
the User
Manual of XNBC to have more details and
visit the other pages of th XNBC Web site, or download
a newer version as a pdf file.
XNBC runs
on most Unix systems:
- Linux with
LessTif
and GTK
(rpm binary files available)
- True 64/DECOSF
1/Digital Unix
- Ultrix
- AIX
- SunOS
- HPux
XNBC runs
on Windows