PyNN: a common interface for neuronal network simulators
-
1
Centre National de Recherche Scientifique, France
-
2
University of Heidelberg, Germany
-
3
INCM, CNRS, France
-
4
Ecole Polytechniqe Federal de Lausanne (EPFL), Switzerland
-
5
Technical University of Graz, Austria
-
6
UNIC, CNRS, France
Computational neuroscience has produced a diversity of simulator software for simulations of networks of spiking neurons. This diversity has both positive and negative consequences. The principal problem is that each simulator uses its own programming or configuration language, leading to considerable difficulty in porting models from one simulator to another or even in understanding someone else's code. This impedes communication between investigators and makes it harder to reproduce or build on other people's work. The advantages of having multiple simulators available are (i) each simulator has a different domain of excellence, allowing the most appropriate software to be chosen for a given problem; (ii) simulation results can be cross-checked between different simulators, giving greater confidence in their correctness.
The programming language Python is becoming increasingly widely adopted in computational neuroscience and neuroinformatics software development. Most of the simulators in common use now support Python, either as their primary interface or as an alternative to their traditional interface. This provides an opportunity to define a common interface, using Python, to multiple simulators. PyNN (pronounced 'pine') is both a specification of such a common simulator interface and an implementation of the interface for several simulators. Currently www.neuron.yale.edu/NEURON, www.nest-initiative.org/NEST, sourceforge.net/projects/pcsim/PCSIM and a facets.kip.uni-heidelberg.de/public/results/2ndYear/WP7/index.html neuromorphic VLSI hardware implementation are fully supported, with support for sourceforge.net/projects/moose/">MOOSE (successor to GENESIS) and brian.di.ens.fr/">Brian under development.
With PyNN it is possible to write a simulation script once and run it without modification on any supported simulator.Thus we keep the advantages of having multiple simulators (for cross-validation, etc) but remove the translation barrier.
PyNN aims to increase the productivity of neuronal network modelling in two ways: first, by providing the capability to model at a high-level of abstraction while still allowing access to low-level details of the simulation where necessary, with concomitant gains in development speed and maintainability; second, by promoting code sharing and reuse across simulator communities, by greatly simplifying the process of porting models between simulators.
PyNN changes the process of porting a model between simulators from all-or-nothing, in which the validity of the translated model cannot be tested until the entire translation is complete, to an incremental approach, in which the native code is gradually replaced by simulator-independent code. At each stage, the hybrid code remains runnable, and so it is straightforward to verify that the model behaviour has not been changed.
By using the Python programming language, PyNN also benefits from rapid and straightforward integration with other components such as graphical interfaces, databases, stimulus generation, and data visualisation and analysis tools.
PyNN is open-source software and is available from neuralensemble.org/PyNN neuralensemble.org/PyNN
Development of PyNN is supported by the European Community through the facets.kip.uni-heidelberg.de/FACETS project, IST 15879.
Conference:
Neuroinformatics 2008, Stockholm, Sweden, 7 Sep - 9 Sep, 2008.
Presentation Type:
Poster Presentation
Topic:
Computational Neuroscience
Citation:
Davison
A,
Brüderle
D,
Kremkow
J,
Muller
E,
Pecevski
D,
Perrinet
L and
Yger
P
(2008). PyNN: a common interface for neuronal network simulators.
Front. Neuroinform.
Conference Abstract:
Neuroinformatics 2008.
doi: 10.3389/conf.neuro.11.2008.01.046
Copyright:
The abstracts in this collection have not been subject to any Frontiers peer review or checks, and are not endorsed by Frontiers.
They are made available through the Frontiers publishing platform as a service to conference organizers and presenters.
The copyright in the individual abstracts is owned by the author of each abstract or his/her employer unless otherwise stated.
Each abstract, as well as the collection of abstracts, are published under a Creative Commons CC-BY 4.0 (attribution) licence (https://creativecommons.org/licenses/by/4.0/) and may thus be reproduced, translated, adapted and be the subject of derivative works provided the authors and Frontiers are attributed.
For Frontiers’ terms and conditions please see https://www.frontiersin.org/legal/terms-and-conditions.
Received:
28 Jul 2008;
Published Online:
28 Jul 2008.
*
Correspondence:
Andrew Davison, Centre National de Recherche Scientifique, Gif-sur-Yvette, France, andrew.davison@cnrs.fr