Building and visualizing reaction–diffusion simulations in NEURON

TitleBuilding and visualizing reaction–diffusion simulations in NEURON
Publication TypeConference Paper
Year of Publication2018
AuthorsMcDougal, R. A., Newton A. J. H., & Lytton W. W.
Conference NameComputational Neuroscience Meeting (CNS 18')
KeywordsBMC, BMC Neuroscience 2018, CNS

The NEURON simulator ( provides a computational framework for studying not only networks of neurons but also the interplay between electrophysiology and chemical dynamics, (both intracellular and extracellular reaction–diffusion models). The models underlying these studies can be specified, simulated, and analyzed using both Python and graphical tools. NEURON's graphical tools previously focused on supporting pure electrophysiology models. We describe a new integrated graphical toolset, powered by wxPython 4.x, for specifying and visualizing NEURON models incorporating both reaction–diffusion dynamics and traditional electrophysiology simulation. In comparison to electrophysiology models, these models feature new types of regions (1D and 3D, intracellular organelles, extracellular space, etc.), new types of kinetics, etc. Our toolset includes an expanded RxDBuilder supporting recent enhancements to NEURON's reaction–diffusion capabilities, including extracellular and 3D intracellular simulations. The intracellular 3D graphical tools provide a detailed view of the cells morphology, enabling the modeler to select a region of interest over which to plot relevant intracellular concentrations. With the extracellular space, the GUI allows the modeler to choose to view the concentration dynamics for: a single voxel in the extracellular space, an average around the cell of section of interest, or over the whole extracellular space. To allow model changes from both the console and the GUI, the graphical tools are run in a separate thread that periodically polls the internal state; a function is provided to allow arbitrary wxPython windows to be run in the same thread, allowing user customization. For performance reasons, state variables are recorded in C++ during simulations; visualization occurs via Python at a user-specifiable interval. A session consisting of; the models, their current state and the graphical tools may be saved and loaded for future reuse. We demonstrate the utility of these model construction and visualization tools with a 3D intracellular calcium wave model and an extracellular model of spreading depression.