iqr: A Tool for the Construction of Multi-level Simulations of Brain and Behaviour


The brain is the most complex system we know of. Despite the wealth of data available in neuroscience, our understanding of this system is still very limited. Here we argue that an essential component in our arsenal of methods to advance our understanding of the brain is the construction of artificial brain-like systems. In this way we can encompass the multi-level organisation of the brain and its role in the context of the complete embodied real-world and real-time perceiving and behaving system. Hence, on the one hand, we must be able to develop and validate theories of brains as closing the loop between perception and action, and on the other hand as interacting with the real world. Evidence is growing that one of the sources of the computational power of neuronal systems lies in the massive and specific connectivity, rather than the complexity of single elements. To meet these challenges—multiple levels of organisation, sophisticated connectivity, and the interaction of neuronal models with the real-world—we have developed a multi-level neuronal simulation environment, iqr. This framework deals with these requirements by directly transforming them into the core elements of the simulation environment itself. iqr provides a means to design complex neuronal models graphically, and to visualise and analyse their properties on-line. In iqr connectivity is defined in a flexible, yet compact way, and simulations run at a high speed, which allows the control of real-world devices—robots in the broader sense—in real-time. The architecture of iqr is modular, providing the possibility to write new neuron, and synapse types, and custom interfaces to other hardware systems. The code of iqr is publicly accessible under the GNU General Public License (GPL). iqr has been in use since 1996 and has been the core tool for a large number of studies ranging from detailed models of neuronal systems like the cerebral cortex, and the cerebellum, to robot based models of perception, cognition and action to large-scale real-world systems. In addition, iqr has been widely used over many years to introduce students to neuronal simulation and neuromorphic control. In this paper we outline the conceptual and methodological background of iqr and its design philosophy. Thereafter we present iqr’s main features and computational properties. Finally, we describe a number of projects using iqr, singling out how iqr is used for building a “synthetic insect”.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23


  1. Amari, S., Beltrame, F., Bjaalie, J. G., Dalkara, T., Schutter, E. D., Egan, G. F., et al. (2003). Neuroscience data and tool sharing: A legal and policy framework for neuroinformatics. Neuroinformatics Journal, 1, 149–166.

    Article  Google Scholar 

  2. Bermúdez i Badia, S., Bernardet, U., Guanella, A., Pyk, P., KnÃijsel, P., & Verschure, P. (2007a). A biologically based chemo-sensing uav for humanitarian demining. International Journal of Advanced Robotic Systems, 4(2), 187–198.

    Google Scholar 

  3. Bermúdez i Badia, S., Pyk, P., & Verschure, P. (2007b). A fly-locust based neuronal control system applied to an unmanned aerial vehicle: The invertebrate neuronal principles for course stabilization, altitude control and collision avoidance. International Journal of Robotics Research, 26(7), 759–772. doi:10.1177/0278364907080253.

    Article  Google Scholar 

  4. Bermúdez i Badia, S., & Verschure, P. F. M. J. (2004). A collision avoidance model based on the lobula giant movement detector neuron of the locust. In J. V. Campenhout (Ed.), Proceedings of the international joint conference on neural networks (IJCNN’04), Budapest, Hungary (p. 1757).

  5. Baernstein, H., & Hull, C. (1931). A mechanical model of the conditioned reflex. Journal of General Psychology, 5, 99–106.

    Google Scholar 

  6. Bernardet, U., Bermúdez i Badia, S., & Verschure, P. (2007). The experience induction machine and its role in the research on presence. In The 10th international workshop on presence, 25–27 October.

  7. Bernardet, U., Bermúdez i Badia, S., & Verschure, P. (2008). A model for the neuronal substrate of dead reckoning and memory in arthropods: A comparative computational and behavioral study. Theory in Biosciences, 127(2). doi:10.1007/s12064-008-0038-8.

    PubMed  Google Scholar 

  8. Brette, R., Rudolph, M., Carnevale, T., Hines, M., Beeman, D., Bower, J. M., et al. (2007). Simulation of networks of spiking neurons: A review of tools and strategies. Journal of Computational Neuroscience, 23(3), 349–398.

    Article  PubMed  Google Scholar 

  9. Djurfeldt, M., & Lansner, A. (2007). Incf workshop report on large-scale modeling.

  10. Eng, K., Klein, D., Bäbler, A., Bernardet, U., Blanchard, M., Costa, M., et al. (2003). Design for a brain revisited: The neuromorphic design and functionality of the interactive space ‘Ada’. Reviews in the Neurosciences, 14, 145–180.

    PubMed  Google Scholar 

  11. Georgopoulos, A., Schwartz, A., & Kettner, R. (1986). Neuronal population coding of movement direction. Science, 233, 1416–1419.

    Article  CAS  PubMed  Google Scholar 

  12. Gewaltig, M. O., & Diesmann, M. (2007). Nest (neural simulation tool). Scholarpedia, 2(4), 1430.

    Article  Google Scholar 

  13. Guanella, A., & Verschure, P. (2006). Artificial neural networks—ICANN 2006. chap. A Model of Grid Cells Based on a Path Integration Mechanism. Springer, Berlin, Heidelberg. doi:10.1007/11840817_77.

  14. Herreros, I., Zimmerli, L., & Verschure, P. F. M. J. (2008). A biologically based model of the two-phase conditioning: The amygdala, auditory cortex and cerebellum. In: Proceedings computational and systems neuroscience 2008.

  15. Hines, M., & Carnevale, N. (1997). The NEURON simulation environment. Neural Computation, 9, 1179–1209.

    Article  CAS  PubMed  Google Scholar 

  16. Hofstoetter, C., Mintz, M., & Verschure, P. F. M. J. (2002). The cerebellum in action: A simulation and robotics study. European Journal of Neuroscience, 16, 1361–1376.

    Article  Google Scholar 

  17. Hull, C. (1952). A behavior system: An introduction to behavior theory concerning the individual organism. New Haven: Yale University Press.

  18. Hull, C., & Baernstein, H. (1929). A mechanical parallel to the conditioned relex. Science, 70(1801), 14–15.

    Article  PubMed  Google Scholar 

  19. Hull, C., & Krueger, R. (1931). An electro-chemical parallel to the conditioned reflex. Journal of General Psychology, 5, 262–269.

    Google Scholar 

  20. Josuttis, N. M. (1999). The C+ + standard library: A tutorial and reference (1st ed.). Reading, MA: Addison-Wesley.

    Google Scholar 

  21. Manzolli, J., & Verschure, P. F. M. J. (2005). Roboser: A real-world composition system. Computer Music Journal, 29(3), 55–74. doi:10.1162/0148926054798133.

    Article  Google Scholar 

  22. Mathews, Z., Bermúdez i Badia, S., & Verschure, P. (2008). Intelligent motor decision: From selective attention to a bayesian world model. In Intelligent systems, 2008. IS ’08. 4th international IEEE conference (Vol. 1, pp. 4–8). doi:10.1109/IS.2008.4670418.

  23. Pyk, P., Bermúdez i Badia, S., Bernardet, U., Knüsel, P., Carlsson, M., Gu, J., et al. (2006). An artificial moth: Chemical source localization using a robot based neuronal model of moth optomotor anemotactic search. Autonomous Robotics, 2(3), 197–213.

    Article  Google Scholar 

  24. Sánchez-Montañés, M. A., Verschure, P. F. M. J., & König, P. (2000). Local and global gating of synaptic plasticity. Neural Computation, 12, 519–529.

    Article  PubMed  Google Scholar 

  25. Shepherd, G. M. (2003). The synaptic organization of the brain. Oxford University Press

  26. Sporns, O., & Kötter, R. (2004). Motifs in brain networks. PLoS Biol, 2(11), e369. doi:10.1371/journal.pbio.0020369.

    Article  Google Scholar 

  27. Stroustrup, B. (1997). The C+ + programming language (3rd ed.). Reading, MA: Addison-Wesley.

  28. Tolman, E. (1939). Prediction of vicarious trial and error by maens of the schematic sowbug. Psychological Review, 46, 318–336.

    Article  Google Scholar 

  29. Verschure, P. F. M. J. (1997). Xmorph: A software tool for the synthesis and analysis of neural systems. Technical report, Institute of Neuroinformatics.

  30. Verschure, P. F. M. J., & König, P. (1999). On the role of biophysical properties of cortical neurons in binding and segmentation of visual scenes. Neural Computation, 11(5), 1113–1138. doi:10.1162/089976699300016377.

    Article  CAS  PubMed  Google Scholar 

  31. Verschure, P. F. M. J., Voegtlin, T., & Douglas, R. J. (2003). Environmentally mediated synergy between perception and behaviour in mobile robots. Nature, 425, 620–624.

    Article  CAS  PubMed  Google Scholar 

  32. Vico, G. (1711). De antiquissima Italorum sapientia ex linguae originibus eruenda librir tres; On the Most Ancient Wisom of the Italians Unearthed form the Origins of the Latin Language, including the Disputation with “The Giornale de Letterati D’Italia” [1711], translated by L. M. Palmer. (Ithaca: Cornell University Press, 1976). Cornell Paperbacks.

Download references


The authors are grateful to Mark Blanchard, Reto Wyss and Miguel Lechón for their contributions to the development of iqr. Important contributions to the neuronal architecture of “synthetic insect” system come from Sergi Bermúdez i Badia. The electronics used in this project was designed and build by Pawel Pyk. The development of iqr was supported by the Synthetic Forager (FP7-ICT-217148-SF) project.

Author information



Corresponding author

Correspondence to Ulysses Bernardet.

Appendix: Predefined Neuron Types in iqr

Appendix: Predefined Neuron Types in iqr

Linear Threshold Neuron

Graded potential neurons are modelled using linear threshold cells. The membrane potential of a linear threshold cell i at time t + 1, v i (t + 1), is given by

$$ \begin{array}{lll} \label{eq:linth-vm} v_i(t+1) &=& {VmPrs}{}_i v_i(t)\\ &&+ {ExcGain}{}_i \sum_{j=1}^{m} w_{ij} a_j(t-\delta_{ij})\\ &&- {InhGain}{}_i \sum_{k=1}^{n} w_{ik} a_k(t-\delta_{ik}) \end{array} $$

where VmPrs i  ∈ {0,1} is the persistence of the membrane potential, ExcGain i and InhGain i are the gains of the excitatory and inhibitory inputs respectively, m is the number of excitatory inputs, n is the number of inhibitory inputs, w ij and w ik are the strengths of the synaptic connections between cells i and j and i and k respectively, a j and a k are the output activities of cells j and k respectively, and δ ij  ≥ 0 and δ ik  ≥ 0 are the delays of the projection from cell j to i and k to i respectively (Table 2).

Table 2 Overview over the parameters of the standard iqr neuron types

The output activity of cell i at time t + 1, a i (t + 1), is given by

$$ \begin{array}{lll} \label{eq:linth-act} & &{\kern-6pt}a_i(t+1)\notag\\&& = \left\{\! \begin{array}{ll} v_i(t\!+\!1) & \mbox{with probability } \!{Prob}{}\! \mbox{ for } v_i(t\!+\!1) \!\geq \! \!{ThSet}{}\\ 0 & \mbox{otherwise} \end{array} \right.\\ \end{array} $$

where ThSet is the membrane potential threshold, and Prob is the probability of activity.

Integrate & Fire Neuron

Spiking cells are modelled with an integrate-and-fire cell model. The membrane potential is calculated using Eq. 7. The output activity of an integrate-and-fire cell at time t + 1, a i (t + 1) is given by

$$ \begin{array}{lll} \label{eq:i&f-act} &&{\kern-6pt}a_i(t+1)\\&&{\kern3pt}=\!\left\{\! \begin{array}{ll} {SpikeAmpl}{} & \mbox{with probability } \!{Prob}{}\! \mbox{ for } v_i(t\!+\!1)\\& \geq {ThSet}{}\\ 0 & \mbox{otherwise} \end{array} \right.\\ \end{array} $$

where SpikeAmpl is the height of the output spikes, ThSet is the membrane potential threshold, and Prob is the spike probability.

After cell i produces a spike, the membrane potential is hyperpolarized such that

$$ \label{eq:i&f-reset} v_i^{'}(t+1) = v_i(t+1) - {VmReset}{} $$

where \(v_i^{'}(t+1)\) is the membrane potential after hyperpolarization and VmReset is the amplitude of the hyperpolarization.

Sigmoid Neuron

The iqr sigmoid cell type is based on the perceptron cell model often used in neural networks. The membrane potential of a sigmoid cell i at time t + 1, v i (t + 1), is given by Eq. 7. The output activity, a i (t + 1) is given by

$$ \begin{array}{lll} \label{eq:sigmoid-act} a_i(t+1) &=& 0.5*(1 + \tanh(2*{Slope}{}\\&&*(v_i(t+1)-{ThSet}))) \end{array} $$

where Slope is the slope and ThSet is the midpoint of the sigmoid function respectively.

Random Spike Neuron

A random spike cell releases a spike per timestep with a user-defined spike probability. The time series of the output spikes forms a Poisson process. Unlike the other cell types, it receives no input and has no membrane potential. The output of a random spike cell i at time t + 1, a i (t + 1), is given by

$$ \label{eq:randspk-act} a_i(t+1)=\left\{ \begin{array}{ll} {SpikeAmpl}{} & \mbox{with probability } {Prob}{}\\ 0 & \mbox{otherwise} \end{array} \right. $$

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bernardet, U., Verschure, P.F.M.J. iqr: A Tool for the Construction of Multi-level Simulations of Brain and Behaviour. Neuroinform 8, 113–134 (2010).

Download citation


  • Neuronal simulation
  • Multi-level
  • Large-scale
  • Synthetic epistemology
  • Bio-robotics