- Poster presentation
- Open Access
Declarative model description and code generation for hybrid individual- and population-based simulations of the early visual system
BMC Neuroscience volume 10, Article number: P57 (2009)
Publications of computational modeling studies need to contain enough details that allow re-implementing the model, but the high level of detail often renders such re-implementations tedious and time-consuming. Sharing models in terms of scripts for established simulators like NEURON, GENESIS or NEST has been a major step towards reproducibility of simulation results. Recently, these efforts have been extended by the development of simulator-independent model descriptions like generating models via Python scripts  or renewed interest in NeuroML .
We have previously developed models of primary visual cortex (V1) using mean-field models  and networks of spiking point-neurons . While NEST, PyNN and NeuroML allow for specifying connectivity patterns based on simple rules, they implicitly assume an underlying (operational) semantics in terms of interconnected individual neurons. Understanding the computations in networks of spiking neurons is certainly a key topic in Computational Neuroscience. However, when modeling large neuronal systems (like the early visual system), such an individual-based approach has at least two shortcomings. First, the corresponding simulations are computationally costly. Second, the extent to which the discrete nature of spikes matters at more macroscopic levels is still debated as many questions regarding how well connectivity, dynamics and coding can be addressed with mean-field models.
Based on concepts exemplified by NEST, PyNN and NeuroML we developed a new declarative model description to express our previously developed models. The key differences to previous approaches are i) we introduce the notion of an annotated space in order to define topographic feature maps and connectivity rules and ii) we generalize the notion of spikes to generic messages (to represent spikes and population-averaged activities) and that of cells and populations to a recursively defined compositional structure (to represent neurons, populations, columns, modules and areas). This approach allows for defining individual-based and mean-field models as well as hybrids of both. For the implementation, we used the Eclipse Modeling Framework with corresponding human-readable XML-based representations. We also implemented a tool for generating PyNN and PyNEST code for purely individual-based models as well as ready-to-compile Java code for simulating hybrid models. We demonstrate our method by generating a simulator for a model of the connected areas V1 and MT with most cortical tissue being modeled with mean-field models of coupled idealized hypercolumns, but selected patches in V1 are represented by populations of point-neurons.
Davison AP, Brüderle D, Eppler J, Kremkow J, Muller E, Pecevski D, Perrinet L, Yger P: PyNN: a common interface for neuronal network simulators. Front Neuroinform. 2008, 2: 11-10.3389/neuro.11.011.2008. doi:10.3389/neuro.11.011.2008.
Goddard NH, Hucka M, Howell F, Cornelis H, Shankar K, Beeman D: Towards NeuroML: model description methods for collaborative modelling in neuroscience. Philos Trans R Soc Lond B Biol Sci. 2001, 356: 1209-1228. 10.1098/rstb.2001.0910.
Schwabe L, Obermayer K, Angelucci A, Bressloff PC: The role of feedback in shaping the extra-classical receptive field of cortical neurons: a recurrent network model. J Neurosci. 2006, 26: 9117-9129. 10.1523/JNEUROSCI.1253-06.2006.
Mariño J, Schummers J, Lyon DC, Schwabe L, Beck O, Wiesing P, Obermayer K, Sur M: Invariant computations in local cortical networks with balanced excitation and inhibition. Nat Neurosci. 2005, 8: 194-201. 10.1038/nn1391.
About this article
Cite this article
Ansorg, R., Schwabe, L. Declarative model description and code generation for hybrid individual- and population-based simulations of the early visual system. BMC Neurosci 10, P57 (2009) doi:10.1186/1471-2202-10-S1-P57
- Primary Visual Cortex
- Connectivity Pattern
- Python Script
- Hybrid Individual
- Java Code