History of Neural Simulation Software

Chapter
Part of the Springer Series in Computational Neuroscience book series (NEUROSCI, volume 9)

Abstract

This chapter provides a brief history of the development of software for simulating biologically realistic neurons and their networks, beginning with the pioneering work of Hodgkin and Huxley and others who developed the computational models and tools that are used today. I also present a personal and subjective view of some of the issues that came up during the development of GENESIS, NEURON, and other general platforms for neural simulation. This is with the hope that developers and users of the next generation of simulators can learn from some of the good and bad design elements of the last generation. New simulator architectures such as GENESIS 3 allow the use of standard well-supported external modules or specialized tools for neural modeling that are implemented independently from the means of the running the model simulation. This allows not only sharing of models but also sharing of research tools. Other promising recent developments during the past few years include standard simulator-independent declarative representations for neural models, the use of modern scripting languages such as Python in place of simulator-specific ones and the increasing use of open-source software solutions.

Notes

Acknowledgment

The author acknowledges support from the National Institutes of Health under grant R01 NS049288-06S1.

References

  1. Alben R, Kirkpatrick S, Beeman D (1977) Spin waves in random ferromagnets. Phys Rev B15:346Google Scholar
  2. Baldi P, Vanier MC, Bower JM (1998) On the use of Bayesian methods for evaluating compartmental neural models. J Comput Neurosci 5:285–314PubMedCrossRefGoogle Scholar
  3. Beeman D (1994) Simulation-based tutorials for education in computational neuroscience. In: Eeckman FH (ed) Computation in neurons and neural systems. Kluwer Academic, Norwell, MA, pp 65–70CrossRefGoogle Scholar
  4. Beeman D, Boswell J (1977) Computer graphics and electromagnetic fields. Am J Phys 45:213CrossRefGoogle Scholar
  5. Beeman D, Bower JM (2004) Simulator-independent representation of ionic conductance models with ChannelDB. Neurocomputing 58–60:1085–1090CrossRefGoogle Scholar
  6. Beeman D, Bower JM, De Schutter E, Efthimiadis EN, Goddard N, Leigh J (1997) The GENESIS simulator-based neuronal database (chap 4). In: Koslow SH, Huerta MF (eds) Neuroinformatics: an overview of the human brain project. Lawrence Erlbaum Associates, Mahwah, NJ, pp 57–80Google Scholar
  7. Bhalla US (1998) Advanced XODUS techniques (chap 22). In: Bower JM, Beeman D (eds) The book of GENESIS: exploring realistic neural models with the GEneral NEural SImulation System, 2nd edn. Springer, New York, pp 381–405Google Scholar
  8. Bhalla US (2000) Modeling networks of signaling pathways (chap 2). In: De Schutter E (ed) Computational neuroscience: realistic modeling for experimentalists. CRC Press, Boca Raton, FL, pp 25–48Google Scholar
  9. Bhalla US (2003) Managing models of signalling networks. Neurocomputing 52–54:215–220CrossRefGoogle Scholar
  10. Bhalla US, Bower JM (1993) Exploring parameter space in detailed single neuron models: simulations of the mitral and granule cells of the olfactory bulb. J Neurophysiol 69:1948–1965PubMedGoogle Scholar
  11. Bhalla US, Iyengar R (1999) Emergent properties of networks of biological signaling pathways. Science 283:381–387PubMedCrossRefGoogle Scholar
  12. Bhalla US, Bilitch DH, Bower JM (1992) Rallpacks: a set of benchmarks for neuronal simulators. Trends Neurosci 15:453–458PubMedCrossRefGoogle Scholar
  13. Blackwell KT (2000) Evidence for a distinct light-induced calcium-dependent potassium current in Hermissenda crassicornis. J Comput Neurosci 9:149–170PubMedCrossRefGoogle Scholar
  14. Borg-Graham LJ (2000) Additional efficient computation of branched nerve equations: adaptive time step and ideal voltage clamp. J Comput Neurosci 8:209–226PubMedCrossRefGoogle Scholar
  15. Bower JM (1991) Relations between the dynamical properties of single cells and their networks in piriform (olfactory) cortex. In: McKenna T, Davis J, Zornetzer S (eds) Single neuron computation. Academic, San Diego, pp 437–462Google Scholar
  16. Bower JM (1992) Modeling the nervous system. Trends Neurosci 15:411–412CrossRefGoogle Scholar
  17. Bower JM (2005) Looking for Newton: realistic modeling in modern biology. Brains Minds Media 1:bmm217 (urn:nbn:de:0009-3-2177)Google Scholar
  18. Bower JM, Beeman D (1998) The book of GENESIS: exploring realistic neural models with the GEneral NEural SImulation System, 2nd edn. Springer, New York, http://www.genesis-sim.org/GENESIS/bog/bog.html
  19. Brette R, Rudolph M, Carnevale T, Hines M, Beeman D, Bower JM, Diesmann M, Morrison A, Goodman PH, Harris FC, Zirpe M, Natschläger T, Pecevski D, Ermentrout B, Djurfeldt M, Lansner A, Rochel O, Vieville T, Muller E, Davison AP, El Boustani S, Destexhe A (2007) Simulation of networks of spiking neurons: a review of tools and strategies. J Comput Neurosci 23:349–398. doi:10.1007/s10827-007-0038-6 PubMedCrossRefGoogle Scholar
  20. Canavier CC, Clark JW, Byrne JH (1991) Simulation of the bursting activity of neuron R15 in Aplysia: role of ionic currents, calcium balance, and modulatory transmitters. J Neurophysiol 66:2107–2124PubMedGoogle Scholar
  21. Carenvale NT, Woolfe TB, Shepherd GM (1990) Neuron simulations with SABER. J Neurosci Methods 33:135–148CrossRefGoogle Scholar
  22. Cole K (1968) Membranes, ions, and impulses: a chapter of classical biophysics. University of California Press, BerkeleyGoogle Scholar
  23. Connor JA, Stevens CF (1971) Prediction of repetitive firing behavior from voltage clamp data on an isolated neurone soma. J Physiol 213:31–53PubMedGoogle Scholar
  24. Cornelis H, De Schutter E (2003) Neurospaces: separating modeling and simulation. Neurocomputing 52–54:227–231. doi:10.1016/S0925-2312(02)00750-6 CrossRefGoogle Scholar
  25. Cornelis H, Coop AD, Bower JM (2010) Development of model-based publication for scientific communication. BMC Neurosci 11(suppl 1):P69. doi:10.1186/1471-2202-11-S1-P69 CrossRefGoogle Scholar
  26. Cornelis H, Coop AD, Bower JM (2012a) A federated design for a neurobiological simulation engine: the CBI federated software architecture. PLoS One 7:e28956. doi:10.1371/journal.pone.0028956 PubMedCrossRefGoogle Scholar
  27. Cornelis H, Rodriguez AL, Coop AD, Bower JM (2012b) Python as a federation tool for GENESIS 3.0. PLoS One 2:e29018CrossRefGoogle Scholar
  28. Crook S, Gleeson P, Howell F, Svitak J, Silver R (2007) MorphML: Level 1 of the NeuroML standards for neuronal morphology data and model specification. Neuroinformatics 5:96–104. doi:10.1007/s12021-007-0003-6 PubMedCrossRefGoogle Scholar
  29. Crook S, Davison AP, Plesser HE (2013) Learning from the past: approaches for reproducibility in computational neuroscience. In: Bower JM (ed) 20 Years of computational neuroscience. Springer, New YorkGoogle Scholar
  30. Davison AP, Brüderle D, Eppler JM, Kremkow J, Muller E, Pecevski D, Perrinet L, Yger P (2009) PyNN: a common interface for neuronal network simulators. Front Neuroinform 2:11. doi:10.3389/neuro.11.011.2008 Google Scholar
  31. De Schutter E, Smolen P (1998) Calcium dynamics in large neuronal models. In: Koch C, Segev I (eds) Methods in neuronal modeling: from ions to networks, 2nd edn. MIT Press, Boston, pp 211–250Google Scholar
  32. Djurfeldt M, Johansson C, Ekeberg Ö, Rehn M, Lundqvist M, Lansner A (2005) Massively parallel simulation of brain-scale neuronal network models. Tech. Rep. QC 20100709. KTH, School of Computer Science and Communication (CSC), oai:DiVA.org:kth-10606Google Scholar
  33. Djurfeldt M, Hjorth J, Eppler J, Dudani N, Helias M, Potjans T, Bhalla U, Diesmann M, Hellgren Kotaleski J, Ekeberg Ö (2010) Run-time interoperability between neuronal network simulators based on the MUSIC framework. Neuroinformatics 8:43–60. doi:10.1007/s12021-010-9064-z PubMedCrossRefGoogle Scholar
  34. Dodge FA, Cooley JW (1973) Action potential of the motor neuron. IBM J Res Dev 17:219–229CrossRefGoogle Scholar
  35. Drewes RP, Zou Q, Goodman PH (2009) Brainlab: a Python toolkit to aid in the design, simulation, and analysis of spiking neural networks with the neocortical simulator. Front Neuroinform 3:16. doi:10.3389/neuro.11.016.2009 PubMedCrossRefGoogle Scholar
  36. Eppler JM, Helias M, Muller E, Diesmann M, Gewaltig MO (2008) PyNEST: a convenient interface to the NEST simulator. Front Neuroinform 2:12. doi:10.3389/neuro.11.012.2008 PubMedCrossRefGoogle Scholar
  37. Ermentrout B (2006) XPPAUT. Scholarpedia 1(10):1399. doi:10.4249/scholarpedia.1399 Google Scholar
  38. Forss J, Beeman D, Bower JM, Eichler West RM (1999) The modeler’s workspace: a distributed digital library for neuroscience. Future Gener Comp Syst 16:111–121CrossRefGoogle Scholar
  39. Gardner D, Knuth KH, Abato M, Erde SM, White T, DeBellis R, Gardner E (2001) Common data model for neuroscience data and data model interchange. J Am Med Inform Assoc 8:17–33PubMedCrossRefGoogle Scholar
  40. Getting PA (1989) Reconstruction of small neural networks (chap 6). In: Koch C, Segev I (eds) Methods in neuronal modeling. MIT Press, Cambridge, MA, pp 171–194Google Scholar
  41. Gleeson P, Steuber V, Silver RA (2007) neuroconstruct: a tool for modeling networks of neurons in 3d space. Neuron 54:219–235PubMedCrossRefGoogle Scholar
  42. Gleeson P, Crook S, Cannon RC, Hines ML, Billings GO, Farinella M, Morse TM, Davison AP, Ray S, Bhalla US, Barnes SR, Dimitrova YD, Silver RA (2010) NeuroML: a language for describing data driven models of neurons and networks. PLoS Comput Biol 6(6):e1000–e1815. doi:10.1371/journal.pcbi.1000815 CrossRefGoogle Scholar
  43. Goddard NH, Lynne KJ, Mintz T (1987) Rochester connectionist simulator. Tech. Rep. ADA191483. Department of Computer Science, University of RochesterGoogle Scholar
  44. Goddard NH, Hood G, Howell FW, Hines ML, De Schutter E (2001a) NEOSIM: portable large-­scale plug and play modelling. Neurocomputing 38–40:1657–1661. doi:10.1016/S0925-2312(01)00528-8 CrossRefGoogle Scholar
  45. Goddard NH, Hucha M, Howell F, Cornelis H, Shankar K, Beeman D (2001b) Towards NeuroML: model description methods for collaborative modelling in neuroscience. Philos Trans R Soc Lond B Biol Sci 356:1209–1228. doi:10.1098/rstb.2001.0910 PubMedCrossRefGoogle Scholar
  46. Goodman DFM, Brette R (2008) Brian: a simulator for spiking neural networks in Python. Front Neuroinform 2:5. doi:10.3389/neuro.11.005.2008 PubMedCrossRefGoogle Scholar
  47. Gorchetchnikov A, The INCF Multiscale Modeling Taskforce (2010) Nineml: a description language for spiking neuron network modeling: the user layer. BMC Neurosci 11(suppl 1):P71. doi:10.1186/1471-2202-11-S1-P71 CrossRefGoogle Scholar
  48. Gray CM, Konig P, Engel AK, Singer W (1989) Oscillatory responses in cat visual-cortex exhibit inter-columnar synchronization which reflects global stimulus properties. Nature 338:334–337PubMedCrossRefGoogle Scholar
  49. Hammarlund P, Ekeberg Ö (1998) Large neural network simulations on multiple hardware platforms. J Comput Neurosci 5:443–459. doi:10.1023/A:1008893429695 PubMedCrossRefGoogle Scholar
  50. Hartree DR (1932) A practical method for the numerical solution of differential equations. Mem Manchester Lit Phil Soc 77:91–107Google Scholar
  51. Hines M (1984) Efficient computation of branched nerve equations. Int J Biomed Comput 15:69–79PubMedCrossRefGoogle Scholar
  52. Hines M (1989) A program for the simulation of nerve equations with branching geometries. Int J Biomed Comput 24:55–68PubMedCrossRefGoogle Scholar
  53. Hines ML, Carnevale NT (2000) Expanding NEURON’s repertoire of mechanisms with NMODL. Neural Comput 12:995–1007PubMedCrossRefGoogle Scholar
  54. Hines M, Davison AP, Muller E (2009) NEURON and Python. Front Neuroinform 3:1. doi:10.3389/neuro.11.001.2009 PubMedCrossRefGoogle Scholar
  55. Hodgkin A, Huxley A (1952) A quantitative description of membrane current and its application to conduction and excitation in nerve. J Physiol (London) 117:500–544Google Scholar
  56. Hopfield JJ (1982) Neural networks and physical systems with emergent collective computational abilities. Proc Natl Acad Sci USA 79:2554PubMedCrossRefGoogle Scholar
  57. Hucka M, Shankar K, Beeman D, Bower JM (2002) The Modeler’s workspace: making model-­based studies of the nervous system more accessible (chap 5). In: Ascoli G (ed) Computational neuroanatomy: principles and methods. Humana Press, Totowa, NJ, pp 83–115CrossRefGoogle Scholar
  58. Hucka M, Finney A, Sauro H, Bolouri H, Doyle J, Kitano H, Arkin A (2003) The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics 19:524–531PubMedCrossRefGoogle Scholar
  59. Kernigan BW, Pike R (1984) The Unix programming environment. Prentice-Hall, Englewood Cliffs, NJGoogle Scholar
  60. Kernighan B, Ritchie D (1978) The C programming language. Prentice-Hall, Englewood Cliffs, NJGoogle Scholar
  61. Kohn MC, Hines ML, Kootsey JM, Feezor MD (1989) A block organized model builder. Math Comp Mod 19:75–97CrossRefGoogle Scholar
  62. Koslow SH, Huerta MF (eds) (1997) Neuroinformatics: an overview of the human brain project. Vol: Progress in neuroinformatics research series. Lawrence Erlbaum Associates, Mahwah, NJGoogle Scholar
  63. Loomis ME (1995) Object databases—the essentials. Addison-Wesley, Reading, MAGoogle Scholar
  64. Maley N, Beeman D, Lannin JS (1988) Dynamics of tetrahedral networks: amorphous Si and Ge. Phys Rev B38:10,611Google Scholar
  65. Mcullough WS, Pitts WH (1943) A logical calculus of the ideas immanent in nervous activity. Bull Math Biophys 5:115–133CrossRefGoogle Scholar
  66. Migliore M, Morse TM, Davison AP, Marenco L, Shepherd GM, Hines ML (2003) ModelDB: making models publicly accessible to support computational neuroscience. Neuroinformatics 1:135–139. doi:10.1385/NI:1:1:135 PubMedCrossRefGoogle Scholar
  67. Nelson M, Rinzel J (1998) The Hodgkin-Huxley model (chap 4). In: Bower JM, Beeman D (eds) The book of GENESIS: exploring realistic neural models with the GEneral NEural SImulation System, 2nd edn. Springer, New York, pp 29–49Google Scholar
  68. Nelson M, Furmanski W, Bower JM (1989) Simulating neurons and neuronal networks on parallel computers (chap 12). In: Koch C, Segev I (eds) Methods in neuronal modeling. MIT Press, Cambridge, MA, pp 397–438Google Scholar
  69. Pecevski D, Natschläger T, Schuch K (2009) PCSIM: a parallel simulation environment for neural circuits fully integrated with Python. Front Neuroinform 3:11. doi:10.3389/neuro.11.011.200 PubMedCrossRefGoogle Scholar
  70. Pellionisz A, Llinás R, Perkel DH (1977) A computer model of the cerebellar cortex of the frog. Neuroscience 2:19–35PubMedCrossRefGoogle Scholar
  71. Perkel DH, Watt JH (1981) A manual for MANUEL. Stanford University Press, Stanford CAGoogle Scholar
  72. Raikov I, INCF Multiscale Modeling Taskforce (2010) NineML: a description language for spiking neuron network modeling: the abstraction layer. BMC Neurosci 11(suppl 1):P66. doi:10.1186/1471-2202-11-S1-P66 CrossRefGoogle Scholar
  73. Rall W (1959) Branching dendritic trees and motoneuron membrane resistivity. Exp Neurol 1:491–527PubMedCrossRefGoogle Scholar
  74. Rall W (1962a) Electrophysiology of a dendritic neuron model. Biophys J 2:145–167PubMedCrossRefGoogle Scholar
  75. Rall W (1962b) Theory of physiological properties of dendrites. Ann N Y Acad Sci 96:1071–1092PubMedCrossRefGoogle Scholar
  76. Rall W (1964) Theoretical significance of dendritic tress for neuronal input–output relations. In: Reiss RF (ed) Neural theory and modeling. Stanford University Press, Stanford CA, pp 73–97Google Scholar
  77. Rall W (1967) Distinguishing theoretical synaptic potentials computed for different soma-­dendritic distributions of synaptic input. J Neurophysiol 30:1138–1168PubMedGoogle Scholar
  78. Rall W, Agmon-Smir H (1998) Cable theory for dendritic neurons (chap 2). In: Koch C, Segev I (eds) Methods in neuronal modeling: from ions to networks, 2nd edn. MIT Press, Boston, pp 27–92Google Scholar
  79. Rall W, Shepherd GM (1968) Theoretical reconstruction of field potentials and dendrodendritic synaptic interaction in olfactory bulb. J Neurophysiol 31:884–915PubMedGoogle Scholar
  80. Ray S, Bhalla US (2008) PyMOOSE: interoperable scripting in Python for MOOSE. Front Neuroinform 2:6. doi:10.3389/neuro.11.006.2008 PubMedGoogle Scholar
  81. Richert M, Nageswaran JM, Dutt N, Krichmar JL (2011) An efficient simulation environment for modeling large-scale cortical processing. Front Neuroinform 5:19PubMedCrossRefGoogle Scholar
  82. Rinzel J (1990) Electrical excitability of cells, theory and experiment: review of the Hodgkin-­Huxley foundation and an update. Bull Math Biol 52:5–23CrossRefGoogle Scholar
  83. Rochel O, Martinez D (2003) An event-driven framework for the simulation of networks of spiking neurons. In: ESANN-2003, Bruges, Belgium, pp 295–300Google Scholar
  84. Santamaria F, Tripp PG, Bower JM (2007) Feedforward inhibition controls the spread of granule cell: induced Purkinje cell activity in the cerebellar cortex. J Neurophysiol 97:248–263. doi:10.1152/jn.01098.2005, http://jn.physiology.org/content/97/1/248.full.pdf+html PubMedCrossRefGoogle Scholar
  85. Sasaki K, Bower JM, Llinás R (1989) Purkinje cell recording in rodent cerebellar cortex. Eur J Neurosci 1:572–586PubMedCrossRefGoogle Scholar
  86. Segev I, Fleshman JW, Miller JP, Bunow B (1985) Modeling the electrical behaviour of anatomically complex neurons using a network analysis program: passive membrane. Biol Cybern 53:27–40PubMedCrossRefGoogle Scholar
  87. Shepherd GM, Brayton RK (1979) Computer simulation of a dendro-dendritic synapse circuit for self- and lateral-inhibition in the olfactory bulb. Brain Res 175:377–382PubMedCrossRefGoogle Scholar
  88. Shepherd GH, Healy MD, Singer MS, Peterson BE, Mirsky JS, Wright L, Smith JE, Nadkarni P, Miller PL (1997) SenseLab: a project in multidisciplinary, multilevel sensory integration (chap 3). In: Koslow SH, Huerta MF (eds) Neuroinformatics: an overview of the human brain project. Lawrence Erlbaum, Mahwah, NJ, pp 21–56Google Scholar
  89. Spacek MA, Blanche T, Swindale N (2009) Python for large-scale electrophysiology. Front Neuroinform 2:1. doi:10.3389/neuro.11.009.2008 Google Scholar
  90. Stiles JR, Bartol TM (2001) Monte Carlo methods for simulating realistic synaptic microphysiology using MCell. In: Schutter ED (ed) Computational neuroscience: realistic modeling for experimentalists. CRC Press, Boca Raton, pp 87–127Google Scholar
  91. Thorpe MF, Beeman D (1976) Thermodynamics of an Ising model with random exchange interactions. Phys Rev B14:188Google Scholar
  92. Traub R (1977) Motor neurons of different geometry and the size principle. Biol Cybern 25:163–176PubMedCrossRefGoogle Scholar
  93. Traub RD (1982) Simulation of intrinsic bursting in CA3 hippocampal neurons. Neuroscience 7:1233–1242PubMedCrossRefGoogle Scholar
  94. Traub RD, Llinás R (1979) Hippocampal pyramidal cells: significance of dendritic ionic conductances for neuronal function and epileptogenesis. J Neurophysiol 42:476–496PubMedGoogle Scholar
  95. Traub RD, Wong RKS, Miles R, Michelson H (1991) A model of a CA3 hippocampal neuron incorporating voltage-clamp data on intrinsic conductances. J Neurophysiol 66:635–650PubMedGoogle Scholar
  96. Traub RD, Jeffereys JGR, Miles R, Whittington MA, Tóth K (1994) A branching dendritic model of a rodent CA3 pyramidal neurone. J Physiol (London) 481:79–95Google Scholar
  97. Vanier MC, Bower JM (1999) A comparative survey of automated parameter-search methods for compartmental neural models. J Comput Neurosci 7:149–171PubMedCrossRefGoogle Scholar
  98. Weitzenfeld A (1995) NSL—neural simulation language. In: Arbib MA (ed) The handbook of brain theory and neural networks, 1st edn. Bradford Books/MIT Press, Cambridge, pp 654–658Google Scholar
  99. Wilson MA, Bower JM (1989) The simulation of large scale neural networks (chap 9). In: Koch C, Segev I (eds) Methods in neuronal modeling. MIT Press, Cambridge, MA, pp 291–333Google Scholar
  100. Wilson M, Bower JM (1991) A computer simulation of oscillatory behavior in primary visual cortex. Neural Comput 3:498–509CrossRefGoogle Scholar
  101. Wilson M, Bower JM (1992) Cortical oscillations and temporal interactions in a computer simulation of piriform cortex. J Neurophysiol 67:981–995PubMedGoogle Scholar
  102. Wilson MA, Bhalla US, Uhley JD, Bower JM (1989) GENESIS: a system for simulating neural networks. In: Touretzky D (ed) Advances in neural information processing systems. Morgan Kauffman, San Mateo, CA, pp 485–492Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.Department of Electrical, Computer, and Energy EngineeringUniversity of Colorado at BoulderBoulderUSA

Personalised recommendations