The Connection-set Algebra—A Novel Formalism for the Representation of Connectivity Structure in Neuronal Network Models
The connection-set algebra (CSA) is a novel and general formalism for the description of connectivity in neuronal network models, from small-scale to large-scale structure. The algebra provides operators to form more complex sets of connections from simpler ones and also provides parameterization of such sets. CSA is expressive enough to describe a wide range of connection patterns, including multiple types of random and/or geometrically dependent connectivity, and can serve as a concise notation for network structure in scientific writing. CSA implementations allow for scalable and efficient representation of connectivity in parallel neuronal network simulators and could even allow for avoiding explicit representation of connections in computer memory. The expressiveness of CSA makes prototyping of network structure easy. A C+ + version of the algebra has been implemented and used in a large-scale neuronal network simulation (Djurfeldt et al., IBM J Res Dev 52(1/2):31–42, 2008b) and an implementation in Python has been publicly released.
KeywordsModeling Connectivity Neuronal networks Computational neuroscience Software Formalism
The later stages of this work was carried out under intense and catalyzing discussions with Örjan Ekeberg without whom this paper would not exist. Dr. Ekeberg, in addition, contributed to several of the figures of the paper. Dr. Birgit Kriener pioneered modeling networks with periodic boundary conditions using CSA. The author is also in much debt to fruitful discussions with Hans E. Plesser, Tobias Potjans, Kittel Austvoll and Jochen Eppler. The work was partly supported by a grant from the European Union (FACETS project, FP6-2004-IST-FETPI-015879).
- Crook, S. M., Gleeson, P., & Silver, R. A. (2007). NetworkML: Level 3 of the neuroml standards for multiscale model specification and exchange. In Soc. Neurosci. Abstr. Google Scholar
- Davison, A. P., Brüderle, D., Eppler, J., Kremkow, J., Muller, E., Pecevski, D., et al. (2009). PyNN: A common interface for neuronal network simulators. Frontiers in Neuroinformatics, 2, 1–10.Google Scholar
- Djurfeldt, M. (2010). CSA implementation in Python. INCF software center. http://software.incf.org/software/csa.
- Djurfeldt, M., & Lansner, A. (2007). Large-scale modeling of the nervous system. Workshop report, International Neuroinformatics Coordinating Facility (INCF), Stockholm.Google Scholar
- Knuth, D. E. (1998). The art of computer programming (2nd edn.). Reading, MA: Addison-Wesley.Google Scholar
- Nordlie, E., Plesser, H. E., & Gewaltig, M.-O. (2008). Towards reproducible descriptions of neuronal network models. Presented at the Poster Session at 1st INCF Congress of Neuroinformatics: Databasing and Modeling the Brain (Neuroinformatics 2008).Google Scholar
- Strey, A. (1997). EpsiloNN—a specification language for the efficient parallel simulation of neural networks. In IWANN ’97: Proceedings of the international work-conference on artificial and natural neural networks (pp. 714–722). London: Springer-Verlag.Google Scholar
- Thomson, A. M., West, D. C., Wang, Y., & Bannister, A. P. (2002). Synaptic connections and small circuits involving excitatory and inhibitory neurons in layer 2–5 of adult rat and cat neocortex: Triple intracellular recordings and biocytin labelling in vitro. Cerebral Cortex, 12, 936–953.PubMedCrossRefGoogle Scholar