Publications about NEURON

These books and papers are about NEURON itself; abstracts have been omitted. For questions or comments contact ted.carnevale@yale.edu or michael.hines@yale.edu. If you know of a paper that should be in this list, tell us and we'll be glad to add it.


Carnevale, N.T. and Hines, M.L. The NEURON Book. Cambridge, UK: Cambridge University Press, 2006.
The authoritative reference on NEURON. Available from booksellers such as Amazon and, of course, Cambridge University Press.


Brette, R., Rudolph, M., Carnevale, T., Hines, M., Beeman, D., Bower, J.M., Diesmann, M., Goodman, P.H., Harris, F.C.J., Zirpe, M., Natschläger, T., Pecevski, D., Ermentrout, B., Djurfeldt, M., Lansner, A., Rochel, O., Vieville, T., Muller, E., Davison, A., El Boustani, S., and Destexhe, A. Simulation of networks of spiking neurons: a review of tools and strategies. J. Comput. Neurosci. 23:349-398, 2007. Available as brette2007.pdf.
Comparison of several simulation environments for modeling networks.

Cannon, R.C., Gewaltig, M.O., Gleeson, P., Bhalla, U.S., Cornelis, H., Hines, M.L., Howell, F.W., Muller, E., Stiles, J.R., Wils, S., and De Schutter, E. Interoperability of neuroscience modeling software: current status and future directions. Neuroinformatics 5:127-138, 2007. Available as cannon2007.pdf.
Primarily for simulation software developers and others who are actively concerned with the topic of the title. Discusses such concepts as "model description," "declarative vs. imperative model descriptions" (hoc and NMODL are basically for "imperative" model descriptions), "standardized model descriptions," XML as a vehicle for simulator interoperability.

Carnevale, N.T. and Hines, M.L. The NEURON simulation environment in epilepsy research. In: Computational Neuroscience in Epilepsy, edited by I. Soltesz and K. Staley. London: Elsevier, 2008, pp. 18-33.
An overview of features of NEURON that make it particularly useful for modeling cells and networks.

Davison, A. P., Hines, M. L. and Muller, E.. Trends in programming languages for neuroscience simulations. Frontiers in Neuroscience 3:374-380, 2009.

Hines, M. Efficient computation of branched nerve equations. Int. J. Bio-Med. Comput. 15:69-76, 1984. Available as effic84.pdf.
Describes an algorithm that is responsible for much of NEURON's computational efficiency in dealing with models of cells with complex branched architecture.

Hines, M. A program for simulation of nerve equations with branching geometries. Int. J. Bio-Med. Comput. 24:55-68, 1989. Preprint available as cable.ps.Z (a compressed PostScript file for ghostview) and cable.zip (a pkzipped pdf file).
This is from before NEURON became NEURON.

Hines, M. NEURON--a program for simulation of nerve equations. In: Neural Systems: Analysis and Modeling, edited by F. Eeckman. Norwell, MA: Kluwer, 1993, p. 127-136. Preprint available as amns2.ps.Z (a compressed PostScript file for ghostview) and amns2.zip (a pkzipped pdf file).

Hines, M. The NEURON simulation program. In: Neural Network Simulation Environments, edited by J. Skrzypek. Norwell, MA: Kluwer, 1994, p. 147-163. Preprint available as nnse.ps.Z (a compressed PostScript file for ghostview) and nnse.zip (a pkzipped pdf file).

Hines, M.L. The Neurosimulator NEURON. In: Methods in Neuronal Modeling, edited by C. Koch and I. Segev. Cambridge, MA: MIT Press, 1998, p. 129-136.

Hines, M. and Carnevale, N.T. Computer modeling methods for neurons. In: The Handbook of Brain Theory and Neural Networks, edited by M.A. Arbib. Cambridge, MA: MIT Press, 1995, p. 226-230. Preprint available as arbib.ps.Z, (a compressed PostScript file for ghostview) and arbib.zip (a pkzipped pdf file).
A concise summary.

Hines, M.L. and Carnevale, N.T. The NEURON simulation environment. Neural Computation 9:1179-1209, 1997. Preprint available for browsing over the WWW , or as nsimenv.pdf.
Old, but a good source of basic information. The NEURON Book (see above) is the most complete and up-to-date reference.

Hines, M.L. and Carnevale, N.T. Expanding NEURON's repertoire of mechanisms with NMODL. Neural Computation 12:995-1007, 2000. A much-enhanced preprint is available as nmodl400.pdf . Also be sure to see the errata.

Hines, M.L. and Carnevale, N.T. NEURON: a tool for neuroscientists. The Neuroscientist 7:123-135, 2001. Preprint available as spacetime_rev2.pdf, and here is a derivation of the formula for the AC length constant.
Explains and demonstrates powerful strategies for improving spatiotemporal accuracy without excessive computational burden.
1. The d_lambda criterion, a simple but very effective method for specifying the spatial grid.
2. Variable order / variable timestep integration with CVODE.

Hines, M.L. and Carnevale, N.T. The NEURON simulation environment. In: The Handbook of Brain Theory and Neural Networks, 2nd ed, edited by M.A. Arbib. Cambridge, MA: MIT Press, 2003, pp. 769-773 Preprint available as overviewforhbtnn2e.pdf
An executive summary for those who want to know why they should use NEURON. Please don't confuse it with our 1997 paper of the same title that appeared in Neural Computation ; that paper contains far more technical detail and is really intended for people who have already decided to use NEURON and now want to know how.

Hines, M.L. and Carnevale, N.T. Discrete event simulation in the NEURON environment. Neurocomputing 58-60:1117-1122, 2004. Preprint available as neurocomputing2004.pdf
A short introduction to how "integrate and fire" cells are implemented in NEURON. Network simulations that use only artificial spiking cells are extremely efficient, with runtimes proportional to the total number of synaptic inputs received and independent of the number of cells or problem time. These cells are completely interoperable with biophysical model neurons (oxymoronically called "real model neurons" by some)--i.e. they can receive synaptic inputs from, and deliver inputs to, any combination of artificial spiking neurons and/or biophysical model neurons. Also see our SFN 2002 poster discrete_event_poster.pdf.

Hines, M.L. and Carnevale, N.T. Recent Developments in NEURON. Brains, Minds and Media vol. 1, bmm221 (urn:nbn:de:0009-3-2210), 2005. Preprint available here as recent_developments_preprint.pdf but you should be able to get a much nicer looking version from http://www.brains-minds-media.org/, the WWW site of Brains, Minds and Media.
Describes special features of four of NEURON's GUI tools: how to implement stochastic channel models with the Channel Builder; how to specify spatially nonuniform properties with the Cell Builder; the Model Viewer, a tool for quickly discovering the properties of models; the Import3D tool, for converting detailed morphometric data (e.g. Neurolucida) into computational models of neurons.

Hines, M.L. and Carnevale, N.T. Translating network models to parallel hardware in NEURON. J. Neurosci. Methods 169:425-455, 2008. Preprint available as parallelizing_models_jnm2008.pdf
Shows how to revise network models so that they will run and produce numerically identical results on either serial or parallel hardware. This allows model development and debugging to be done on readily available local resources, producing code that will run without modification on any single- or multicore PC or Mac, workstation cluster, or parallel supercomputer.

Hines, M.L., Davison, A.P. and Muller, E. NEURON and Python. Frontiers in Neuroinformatics 3:10.3389/neuro.11.001.2009, 2009. Full text available.
Python may now be used as an alternative interpreter for NEURON, either alone or in combination with hoc. This opens up to NEURON users the large and rapidly growing body of scientific software written in Python, and "catalyzes NEURON software development by offering users a modern programming tool that is recognized for its flexibility and power to create and maintain complex programs." And it does so without breaking anything, since all existing models written in hoc continue to work without alteration, and are also available from Python.

Hines, M.L., Eichner, H. and Schuermann, F. Neuron splitting in compute-bound parallel network simulations enables runtime scaling with twice as many processors. Journal of Computational Neuroscience 25:203-210, 2008. Preprint available as splitcell.pdf
Load balance is important for maximizing speedup when simulating neural networks on parallel hardware. With NEURON, load balance can be achieved by splitting cells into subtrees that are solved on different processors with no change in accuracy, stability, or computational effort; interprocessor communication costs are minimal.

Hines, M., Kumar, S., and Schuermann, F. Comparison of neuronal spike exchange methods on a Blue Gene/P supercomputer. Frontiers in Computational Neuroscience 25:10.3389/fncom.2011.00049. Full text available.
In distributed simulations of network models, spike exchange is most efficiently done by multisend methods. Load balance is maximized by distributing cells randomly over the processors so that cells that fire in bursts together are on different processors, and their targets are distributed over all processors.

Hines, M.L., Markram, H. and Schuermann, F. Fully implicit parallel simulation of single neurons. Journal of Computational Neuroscience 25:439-448, 2008. Preprint available as multisplit.pdf
Complex models of individual neurons implemented with NEURON can be distributed over multiple processors to achieve speedup that is almost linear with the number of processors (practical upper limit is ~16 processors). This strategy can also be used for load balancing of network models in which some cells are so large that their individual computation time is much longer than the average processor computation time, or when there are many more processors than cells.

Hines, M.L., Morse, T.M., and Carnevale, N.T. Model structure analysis in NEURON. In Neuroinformatics, edited by Crasto, C.J.. Totowa, NJ: Humana Press, 2007, p. 91-102. Preprint available as neuron_in_neuroinformatics.pdf
Describes the ModelView tool, which we added to NEURON so that users could quickly and easily discover the biological properties that are represented in a model. In addition to analyzing NEURON models and presenting a graphical and textual summary of model properties, ModelView can also output an XML description that specifies the morphologal and biophysical attributes of a model.

Kumar, S., Heidelberger, P., Chen, D. and Hines, M. Optimization of applications with non-blocking neighborhood collectives via Multisends on the Blue Gene/P supercomputer. 24th IEEE International Parallel and Distributed Processing Symposium, pp. 1-11, 2010. Preprint available as kumar2010.pdf

Lytton, W. and Hines, M. Independent variable timestep integration of individual neurons for network simulations. Neural Computation 17:903-921, 2005. Preprint available as NC2913.pdf

Lytton, W.W., Stewart, M. and Hines, M.L. Simulation of large networks: technique and progress. In: Computational Neuroscience in Epilepsy, edited by I. Soltesz and K. Staley, London: Elsevier, 2008, pp. 3-17.
Addresses issues involved in implementing and using computational models of large-scale networks, and how these issues are addressed in the context of the NEURON simulation environment.

Migliore, M, Cannia, C., Lytton, W.W., Markram, H. and Hines, M.L. Parallel network simulations with NEURON. Journal of Computational Neuroscience 21:119-129, 2006. Preprint available as parallel_nets_2006.pdf
NEURON can be used to implement distributed models of networks that will run in a parallel computation environment (multiprocessor PCs, workstation clusters, or parallel supercomputer architectures). Speedup is proportional to the number of processors until each processor is handling only about 100 equations. Properly written code will run without change on single processor, standalone PCs.

Shepherd, G.M., Mirsky, J.S., Healy, M.D., Singer, M.S., Skoufos, E., Hines, M.L., Nadkarni, P.M., and Miller, P.L. The Human Brain Project : neuroinformatics tools for integrating, searching and modeling multidisciplinary neuroscience data. Trends in Neurosciences 21:460-468, 1998.
Describes new information resources for neuroscience in general and empirically-based modeling in particular.