This title appears in the Scientific Report :
2013
Please use the identifier:
http://dx.doi.org/10.3389/conf.fninf.2013.09.00020 in citations.
An integration layer for neural simulation: PyNN in the software forest
An integration layer for neural simulation: PyNN in the software forest
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 scien...
Saved in:
Personal Name(s): | Davison, Andrew (Corresponding author) |
---|---|
Djurfeldt, Mikael / Eppler, Jochen M. / Gleeson, Padraig / Hull, Michael / Muller, Eilif B. | |
Contributing Institute: |
JARA - HPC; JARA-HPC Theoretical Neuroscience; IAS-6 Computational and Systems Neuroscience; INM-6 |
Published in: | Frontiers in neuroinformatics (2013) |
Imprint: |
Lausanne
Frontiers Research Foundation
2013
|
Physical Description: |
0 |
DOI: |
10.3389/conf.fninf.2013.09.00020 |
Conference: | Neuroinformatics 2013, Stockholm (Sweden), 2013-08-27 - 2013-08-29 |
Document Type: |
Contribution to a conference proceedings Journal Article |
Research Program: |
Supercomputing and Modelling for the Human Brain Brain-inspired multiscale computation in neuromorphic hybrid systems Signalling Pathways and Mechanisms in the Nervous System |
Publikationsportal JuSER |
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.AcknowledgementsElements 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).References[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. |