% IMPORTANT: The following is UTF-8 encoded. This means that in the presence
% of non-ASCII characters, it will not work with BibTeX 0.99 or older.
% Instead, you should use an up-to-date BibTeX implementation like “bibtex8” or
% “biber”.
@INPROCEEDINGS{Davison:137510,
author = {Davison, Andrew P. and Djurfeldt, Mikael and Eppler, Jochen
M. and Gleeson, Padraig and Hull, Michael and Muller, Eilif
B.},
title = {{A}n integration layer for neural simulation: {P}y{NN} in
the software forest},
reportid = {FZJ-2013-03947},
year = {2013},
abstract = {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. Acknowledgements 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). 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.},
month = {Aug},
date = {2013-08-27},
organization = {Neuroinformatics 2013, Stockholm
(Sweden), 27 Aug 2013 - 29 Aug 2013},
subtyp = {After Call},
cin = {INM-6 / IAS-6 / JARA-HPC},
cid = {I:(DE-Juel1)INM-6-20090406 / I:(DE-Juel1)IAS-6-20130828 /
$I:(DE-82)080012_20140620$},
pnm = {331 - Signalling Pathways and Mechanisms in the Nervous
System (POF2-331) / BRAINSCALES - Brain-inspired multiscale
computation in neuromorphic hybrid systems (269921) / SMHB -
Supercomputing and Modelling for the Human Brain
(HGF-SMHB-2013-2017)},
pid = {G:(DE-HGF)POF2-331 / G:(EU-Grant)269921 /
G:(DE-Juel1)HGF-SMHB-2013-2017},
typ = {PUB:(DE-HGF)24},
url = {https://juser.fz-juelich.de/record/137510},
}