Here is a list of resources related to computational neuroscience modelling. Most of these are resources that, at the time of writing the

book, were available as Open Source software. We will endeavour to keep the links up to date.

The following popular neural simulators are available.

**NEURON:**- Cell models and their simulation are specified with the HOC scripting language, or with GUI tools. The NMODL language allows for adding new components such as new ion channel models. Large user base and many example models are freely available through ModelDB (see below). http://www.neuron.yale.edu
**GENESIS:**- GEneral NEural SImulation System . Similar remit and functionality to NEURON. It also has a large user base and is undergoing continual development and improvement. http://www.genesis-sim.org/

In addition there are a large number of other neural simulators with similar or more restricted functionality. In alphabetical order, examples include:

**HHsim:**- HHsim is a graphical simulation of a section of excitable neuronal membrane using the Hodgkin-Huxley equations. It provides full access to the Hodgkin-Huxley parameters, membrane parameters, stimulus parameters, and ion concentrations. http://www.cs.cmu.edu/~dst/HHsim
**neuroConstruct:**- neuroConstruct automates the generation of script files for other simulation platforms, principally NEURON and GENESIS. It provides a framework for creating networks of conductance based neuronal models, visualising and analysing networks of cells in 3D, managing simulations and analysing network firing behaviour. It uses the target platform to actually run simulations. http://www.neuroconstruct.org/
**NEURONC:**- This was developed originally to model the nerve cells in the vertebrate retina. It has been extended extensively over the years and is now a general purpose simulator for modelling a large number of nerve cells, each with a large number of a compartments. It has 3D visualisation tools for displaying networks. http://retina.anatomy.upenn.edu/~rob/neuronc.html
**Nodus:**- Nodus is a user-friendly package for simulating compartmental models of single cells, or small networks. It runs only on Apple Macintosh computers. http://www.tnb.ua.ac.be/software/nodus/nodus_info.shtml
**PSICS:**- PSICS (Parallel Stochastic Ion Channel Simulator) is designed to carry out simulation of compartmental models containing stochastic ion channels represented by kinetic schemes. PSICS computes the behaviour of neurons taking account of the stochastic nature of ion channel gating and the detailed positions of the channels themselves. It supports representation of ion channels as kinetic schemes involving one or more serial gating complexes. PSICS is intended to be complementary to existing tools, inhabiting the space between whole cell deterministic models as implemented in NEURON and GENESIS, and subcellular stochastic diffusion models (see MCELL, STEPS and StochSim below). http://www.psics.org/
**SNNAP:**- Simulator for Neural Networks and Action Potentials is a tool for rapid development and simulation of realistic models of single neurons and neural networks. It includes mathematical descriptions of ion currents and intracellular second messengers and ions. In addition, current flow can be simulated in compartmental models of neurons. http://snnap.uth.tmc.edu/
**Surf-Hippo:**- This simulator is used to investigate morphologically and biophysically detailed compartmental models of single neurons and networks of neurons. Surf-Hippo allows ready construction of cells and networks using built-in functions and various anatomical file formats (Neurolucida, NTS and others). Surf-Hippo is a public domain package, written in Lisp, and runs under Unix and Linux. http://www.neurophys.biomedicale.univ-paris5.fr/~graham/surf-hippo.html
**XNBC:**- A software tool for neurobiologists to analyse simulated neurons and neural networks. Most of the cell models are abstract but Hodgkin-Huxley models are also included. http://www.b3e.jussieu.fr/xnbc/

The **systems biology** field has spawned a number of sophisticated software packages for simulating general intracellular processes. A number of these packages and their main features are described below.

**Chemesis:**- An add-on package to GENESIS, Chemesis provides similar functionality to Kinetikit (see below), with added components to handle diffusion between well-mixed compartments, enabling the simulation of reaction-diffusion systems. Systems are constructed using the GENESIS scripting language. http://www.gmu.edu/departments/krasnow/CENlab/chemesis.html
**Copasi:**- The COmplex PAthway SImulator provides deterministic, stochastic and hybrid solutions for well-mixed reaction systems. Includes tools for parameter estimation and optimisation. It is platform independent. http://www.copasi.org/
**Ecell:**- Similar to Copasi. Model systems can be constructed via a scripting language, or graphically . A sophisticated graphical user interface is provided for both model construction and simulation. http://www.e-cell.org/
**GEPASI:**- This is for modelling biochemical systems. It translates the language of chemistry (reactions) to mathematics (matrices and differential equations) in a transparent way. It simulates the kinetics of systems of biochemical reactions and provides a number of tools to fit models to data, optimise any function of the model, perform metabolic control analysis and linear stability analysis. http://www.gepasi.org
**Kinetikit:**- This add-on package to GENESIS enables the simulation of well-mixed reaction systems, with deterministic, stochastic or adaptive deterministic-stochastic methods. Systems can be constructed graphically or via the GENESIS scripting language. http://www.genesis-sim.org/
**MCELL:**- This simulator is aimed at modelling reaction-diffusion systems in three dimensions, at the level of individual molecules using stochastic algorithms for molecular diffusion and reaction . Reactions can only take place between freely diffusing molecules and membrane-bound receptors. Highly realistic spatial geometries are easily handled. http://www.mcell.psc.edu/
**MOOSE:**- This is the Multiscale Object-Oriented Simulation Environment. It is the base and numerical core for large, detailed simulations in computational neuroscience and systems biology. MOOSE spans the range from single molecules to subcellular networks, from single cells to neuronal networks, and to still larger systems. It is backwards-compatible with GENESIS, and forward compatible with Python and XML-based model definition standards like SBML and MorphML. http://moose.sourceforge.net/
**NMODL:**- This is a programming language for adding new components to NEURON. It enables the easy specification of reaction and diffusion systems, either through specification of the rate equations or the corresponding ODEs . In-built solution methods for deterministic systems are provided. Stochastic algorithms can be explicitly constructed from scratch using NMODL. http://www.neuron.yale.edu
**STEPS:**- STEPS is a package for exact stochastic simulation of reaction-diffusion systems in arbitrarily complex 3D geometries. It is implemented in Python and the core simulation algorithm is an implementation of Gillespie's SSA (Box ), extended to deal with diffusion of molecules over the elements of a 3D tetrahedral mesh. Though developed for simulating detailed models of neuronal signalling pathways in dendrites and around synapses, it can be used for studying any biochemical pathway in which spatial gradients and morphology play a role. http://steps.sourceforge.net//STEPS/Home.html
**StochSim:**- This is aimed at stochastic modelling of individual molecules , and handles reactions between molecules in well-mixed compartments (no diffusion). Nearest-neighbour interactions between membrane-bound molecules are also possible. http://www.pdn.cam.ac.uk/groups/comp-cell/StochSim.html
**VCELL:**- This Virtual CELL simulator uses s to model deterministic reaction-diffusion systems in three dimensions. This enables detailed modelling of intracellular geometry and the concentration gradients of molecules through this space. It is provided as a Java application over the Internet by the National Resource for Cell Analysis and Modeling. http://www.vcell.org/

Many simulators exist that are aimed at simulating the interactions within (possibly large scale) networks of neurons. In these simulators, the neurons are usually represented at a fairly abstract level, such as integrate-and-fire or rate-based neurons. Amongst these are:

**BRIAN:**- A simulator for spiking neural networks of integrate-and-fire or small compartment Hodgkin-Huxley neurons. It is written in Python and runs on many platforms. http://www.briansimulator.org
**CATACOMB:**- Components And Tools for Accessible COMputer Modelling in Biology. CATACOMB 2 is a workbench for developing biologically plausible network models to perform behavioural tasks in virtual environments. http://www.compneuro.org/catacomb/
**Emergent:**- Formerly PDP++, this is a comprehensive simulation environment for creating complex, sophisticated models of the brain and cognitive processes using neural network models. Networks use computing units as used in artificial neural networks, which can represent rate-based neurons. Emergent includes a full GUI environment for constructing networks and the input/output patterns for the networks to process, and many different analysis tools for understanding what the networks are doing. http://grey.colorado.edu/emergent/
**FANN:**- Fast Artificial Neural Network Library for simulating multilayer networks of artificial computing units. http://leenissen.dk/fann/
**iqr:**- Simulator for large scale neural systems. iqr provides an efficient graphical environment to design large-scale multi-level neuronal systems that can control real-world devices - robots in the broader sense - in real-time. http://iqr.sourceforge.net
**LENS:**- The light, efficient network simulator for running artificial neural network models. http://tedlab.mit.edu/~dr/Lens/index.html
**NEST:**- NEural Simulation Technology for large-scale biologically realistic (spiking) neuronal networks. Neural models are usually point neurons, such as integrate-and-fire. http://www.nest-initiative.org
**NSL:**- The Neural Simulation Language supports neural models having as a basic data structure neural layers with similar properties and similar connection patterns, where neurons are modelled as leaky integrators with connections subject to diverse learning rules. http://www.neuralsimulationlanguage.org/
**PCSIM:**- Parallel neural Circuit SIMulator. A tool for simulating networks of millions of neurons and billions of synapses. Networks can be heterogeneous collections of different model spiking point neurons. http://www.lsm.tugraz.at/pcsim/

General purpose developmental neural simulators are emerging that can handle models ranging from single cell morphological development to network formation. Major examples are listed here.

**CX3D:**- This is a Java-based simulation tool for modelling the development of large realistic neural networks in a physical 3D environment . Java classes define neuronal morphology and the intra- and extracellular environments. New algorithms for network development can be programmed using these classes. http://www.ini.uzh.ch/projects/cx3d/
**NETMORPH:**- This simulator also is for modelling the development of large networks of morphologically realistic neurons . Morphogenesis is based on statistical algorithms for directional outgrowth and branching of growth cones. http://netmorph.org
**Topographica:**- Topographica is a software package for computational modelling of neural maps. The goal is to help researchers understand brain function at the level of the topographic maps that make up sensory and motor systems. http://topographica.org/Home/index.html

Computer code for models of individual neurons and networks of neurons are increasingly being made available in public repositories.

**GENESIS:**- The GENESIS site hosts a number of example models built and run in GENESIS. http://www.genesis-sim.org/models
**Izhikevich IF:**- Izhikevich has some very simple MATLAB implementations of his IF model, including network simulations, on his website at: http://vesicle.nsi.edu/users/izhikevich/publications/spikes.htm
**ModelDB:**- A well-supported repository for published neural models, hosted by Yale University. Most entries have been developed in the NEURON simulator, but other codes are also represented, including GENESIS, XPPAUT and others. http://senselab.med.yale.edu/senselab/modeldb/

There are repositories of morphological reconstructions of biological neurons that are suitable for use in modelling studies.

**Claiborne Lab:**- Database of reconstructed cells from hippocampus. http://www.utsa.edu/claibornelab/
**Hippocampal Neuronal Morphology:**- Duke-Southampton archive of reconstructed hippocampal cells. Comes with morphology editing and viewing software, cvapp. http://www.compneuro.org/CDROM/nmorph/cellArchive.html
**NeuroMorpho:**- Large database (over 5000 cells) of digitally reconstructed neurons. http://NeuroMorpho.org
**VNED:**- Virtual Neuromorphology Electronic Database. Collection of reconstructed cells and model-generated cells of many different types. http://krasnow.gmu.edu/cn3/L-Neuron/database/index.html

Repositories of cell signalling pathway models are available. Certain data relevant to the specification of parameter values in such models are also available. Protein interaction databases are useful for developing signalling schemes. Typically little reaction rate data is available. Enzymatic kinetics are generally more readily available.

**Biomodels.net:**- Published cell signalling models for a variety of simulation environments. Links to associated data sources are provided. Models can be run online via the simulation environment
*JWS Online*(http://jjj.biochem.sun.ac.za/index.html). http://www.ebi.ac.uk/biomodels/ **BJP Guide to Receptors and Channels:**- An overview of receptors and channels with bibliographies for each channel subfamily. http://www.nature.com/bjp/journal/vgrac/ncurrent/
**DOQCS:**- The Database of Quantitative Cellular Signalling contains models of signalling pathways, largely built using GENESIS and Kinetikit. It includes reaction schemes, concentrations and rate constants. http://doqcs.ncbs.res.in/
**IUPHAR Databases:**- The IUPHAR Database of G-Protein-Coupled Receptors and the IUPHAR Database of Voltage-Gated and Ligand-Gated Ion Channels contain information about the gene sequences, structural and functional characteristics and pharmacology of ion channels. They are available from the database of the IUPHAR Committee on Receptor Nomenclature and Drug Classification. http://www.iuphar-db.org/

**Colquhoun's analysis programs:**- A suite of programs, developed by David Colquhoun and coworkers , which analyse single channel data to determine opening and closing times, and then find the maximum likelihood fit of the kinetic scheme to the open and close time distributions. http://www.ucl.ac.uk/Pharmacology/dcpr95.html
**QuB:**- An alternative suite of programs to the Colquhoun programs, which use a different algorithm to infer kinetic scheme parameters from single channel data. http://www.qub.buffalo.edu

Here is a list, in alphabetical order, of general purpose mathematical software that has the following characteristics:

- They can be used interactively, by typing in commands and/or using a graphical interface
- Sequences of commands can be stored to file to create scripts, which can then be run as programs
- They can all plot 2D and 3D graphs, and plot other data.

**AUTO:**- The grandparent of packages such as XPPAUT, PyDSTool and MatCont (see below), AUTO is dedicated to generating s using . It has a command line interface in Python, but is probably more easily accessed via one of the other packages. http://indy.cs.concordia.ca/auto/
**MatCont:**- MatCont is a freely-available MATLAB (see below) software package for analysing dynamical systems using numerical continuation to create bifurcation diagrams. http://sourceforge.net/projects/matcont/
**MATLAB:**- MATLAB is a commercially available software package designed for numerical computations and data visualisation in science and engineering. MathWorks sell many additional toolboxes, including ones for statistics. There are also many contributed packages available, including a number with neuroscience applications. The graphics are interactive. It is available for Linux, Windows and MacOS. MATLAB is included in this list because of its wide use, even though it is not open source. http://www.mathworks.com/
**OCTAVE:**- GNU Octave is an open source software environment, primarily intended for numerical computations. Its language is mostly compatible with MATLAB. It includes routines for solving sets of coupled ODEs and optimisation. It is available for Linux, Windows and MacOS. http://www.gnu.org/software/octave/
**PyDSTool:**- PyDSTool is a developing open source integrated simulation, modelling and analysis package for dynamical systems, based on the SciPy package (see above). As well as solving systems of ODEs, it can be used to create bifurcation diagrams using . http://pydstool.sourceforge.net/
**R:**- Officially known as the
*R project for statistical computing*, R is an open source software environment designed for statistical computing and graphics, though which can be used as a general purpose mathematical tool. It includes optimisation functions, and there is a wide array of contributed packages, including for solving sets of coupled differential equations. While the graphics capabilities are impressive, it is not possible to use the mouse to interact with plots, e.g. zooming in to a region of the data, though efforts are underway to make this possible. It is available for UNIX platforms, Windows and MacOS. http://www.r-project.org **SciPy:**- Short for "Scientific Tools for Python", SciPy is open source software environment for mathematics and science implemented in the Python programming language. The SciPy provides many numerical routines including ones for optimisation. The graphics are interactive. It is available for Linux, Windows and MacOS. http://www.scipy.org
**XPPAUT:**- General equation solver . Allows easy definition and numerical solution of the systems of ODEs that arise in compartmental modelling. Particularly useful for simulating reduced neuronal models such as Morris-Lecar and Fitzhugh-Nagumo, and examining phase plane plots of cell dynamics. It can also be used to create bifurcation diagrams using . It is available for Linux, Windows and MacOS. http://www.math.pitt.edu/~bard/xpp/xpp.html