Event Abstract

An integration layer for neural simulation: PyNN in the software forest

  • 1 CNRS, Unité de Neurosciences, Information et Complexité, France
  • 2 KTH, PDC, Sweden
  • 3 International Neuroinformatics Coordinating Facility, Sweden
  • 4 Jülich Research Center, Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6), Germany
  • 5 University College London, Department of Neuroscience, Physiology & Pharmacology, United Kingdom
  • 6 University of Edinburgh, Institute for Adaptive and Neural Computation, United Kingdom
  • 7 Ecole Polytechnique Fédérale de Lausanne, Blue Brain Project, Switzerland

Following the principle of separation of concerns, there is a trend in the development of neural simulation software away from monolithic simulation tools and towards an ecosystem of specialized components, each of well-defined scope, that can be combined in different combinations according to scientific need [1]. Examples of such components are CSA [2] for specifying network connectivity, NineML [3] for describing the mathematics of individual neuron and synapse models, NeuroML [4] for specifying neuronal morphology and the placement of functional elements, such as ion channels and synapses, within this morphology, Neo [5] for representing electrophysiological signals recorded from simulated neurons and synapses, NEST [6] and NEURON [7] for performing the simulations, and MUSIC [8] for facilitating runtime exchange of data between different software tools.

PyNN [9] is a Python API for simulator-independent specification of spiking neuronal network models and simulation protocols. A script written in PyNN can be run on any supported simulator (or neuromorphic hardware platform) without modification. From its conception, PyNN has had an integrative role, making it easier to use multiple simulators in a single project (for cross-checking, etc.) and to port a model from one simulator to another. Recent developments have emphasized still further the potential of the PyNN approach as an integration layer, simplifying the task of gluing together different software components in order to construct a federated neural simulation platform customized to the scientific problem of interest.

We report here on a number of recent enhancements to PyNN, each of which involves integration of an external software component with the PyNN API: (1) using CSA specifications of neuronal connectivity in PyNN, with automated pass-through of CSA objects to the underlying simulator, where this is supported (NEST), for efficiency; (2) import and export of NeuroML model descriptions into/from PyNN; (3) integration into PyNN of the Neo library for structured handling of electrophysiology data, greatly increasing the number of output data formats available to PyNN and making it much easier to use the same analysis/visualization tool for both simulation-derived and experimental data; (4) PyNN support for simulator-independent, user-defined neuronal and synapse models defined in NineML (rather than the fixed menu of simulator-independent models previously provided by PyNN); (5) integration into PyNN of the MUSIC library, enabling simultaneous use of multiple different simulators in a single model, defined in a single simulation script.

Taken as a whole, these new features are a good illustration both of the merits of Python in general and PyNN in particular as a federation platform/integration tool for neuronal simulation, and of the benefits of a modular approach to neuroscience software development.


Elements of some of these efforts have been reported previously [10]. This work was supported by European Union projects FP7-269921 (BrainScaleS) and FP6-015879 (FACETS).


[1] Cornelis H, Coop AD, Bower JM (2012) A Federated Design for a Neurobiological Simulation Engine: The CBI Federated Software Architecture. PLoS ONE 7(1): e28956. doi:10.1371/journal.pone.0028956
[2] Djurfeldt M (2012) The connection-set algebra--a novel formalism for the representation of connectivity structure in neuronal network models. Neuroinformatics. 10(3):287-304. doi:10.1007/s12021-012-9146-1
[3] Raikov I, Cannon R, Clewley R, Cornelis H, Davison AP, De Schutter E, Djurfeldt M, Gleeson P, Gorchetchnikov A, Plesser HE, Hill S, Hines ML, Kriener B, Le Franc Y, Lo C-C, Morrison A, Muller E, Ray S, Schwabe L, Szatmary B (2011) NineML: the network interchange for neuroscience modeling language. BMC Neurosci. 12(Suppl 1): P330. doi: 10.1186/1471-2202-12-S1-P330
[4] Gleeson P, Crook S, Cannon RC, Hines ML, Billings GO, et al. (2010) NeuroML: A Language for Describing Data Driven Models of Neurons and Networks with a High Degree of Biological Detail. PLoS Comput Biol 6(6): e1000815. doi:10.1371/journal.pcbi.1000815
[5] Davison AP, Brizzi T, Estebanez L, Jaillet F, Mahnoun Y, Rautenberg P, Sobolev A, Wachtler T, Yger P, Garcia S (2011) Neo: representing and manipulating electrophysiology data in Python. Proceedings of EuroSciPy 2011. http://pythonneuro.sciencesconf.org/903
[6] Gewaltig M-O & Diesmann M (2007) NEST (Neural Simulation Tool) Scholarpedia 2(4):1430.
[7] Carnevale, N.T. and Hines, M.L. (2006) The NEURON Book. Cambridge, UK: Cambridge University Press.
[8] Djurfeldt M, Hjorth J, Eppler JM, Dudani N, Helias M, Potjans TC, Bhalla US, Diesmann M, Kotaleski JH, Ekeberg O. (2010) Run-time interoperability between neuronal network simulators based on the MUSIC framework. Neuroinformatics 8(1):43-60. doi:10.1007/s12021-010-9064-z
[9] Davison AP, Brüderle D, Eppler JM, Kremkow J, Muller E, Pecevski DA, Perrinet L and Yger P (2008) PyNN: a common interface for neuronal network simulators. Front. Neuroinform. 2:11 doi:10.3389/neuro.11.011.2008
[10] Eppler JM, Djurfeldt M, Muller, E, Diesmann M, Davison AP (2012) Combining simulator independent network descriptions with run-time interoperability based on PyNN and MUSIC. Proceedings of Neuroinformatics 2012.

Keywords: Neural Simulation, large-scale spiking neural networks, interoperability, python language, computational neuroscience

Conference: Neuroinformatics 2013, Stockholm, Sweden, 27 Aug - 29 Aug, 2013.

Presentation Type: Poster

Topic: Large scale modeling

Citation: Davison AP, Djurfeldt M, Eppler JM, Gleeson P, Hull M and Muller EB (2013). An integration layer for neural simulation: PyNN in the software forest. Front. Neuroinform. Conference Abstract: Neuroinformatics 2013. doi: 10.3389/conf.fninf.2013.09.00020

Received: 08 Apr 2013; Published Online: 11 Jul 2013.

* Correspondence: Dr. Andrew P Davison, CNRS, Unité de Neurosciences, Information et Complexité, Gif sur Yvette, France, andrew.davison@unic.cnrs-gif.fr

© 2007 - 2017 Frontiers Media S.A. All Rights Reserved