Neuron (software)

Last updated
Neuron
Developer(s) Michael Hines, John W. Moore, and Ted Carnevale
Stable release
8.2.0 / July 1, 2022;13 months ago (2022-07-01) [1]
Preview release
8.2a / June 7, 2022;14 months ago (2022-06-07) [1]
Repository
Written in C, C++, FORTRAN
Operating system Cross-platform
Type Neuron Simulation
License New BSD License
Website https://neuron.yale.edu

Neuron is a simulation environment for modeling individual and networks of neurons. It was primarily developed by Michael Hines, John W. Moore, and Ted Carnevale at Yale and Duke.

Contents

Neuron models individual neurons via the use of sections that are automatically subdivided into individual compartments, instead of requiring the user to manually create compartments. The primary scripting language is hoc but a Python interface is also available. Programs can be written interactively in a shell, or loaded from a file. Neuron supports parallelization via the MPI protocol.

Neuron is capable of handling diffusion-reaction models, and integrating diffusion functions into models of synapses and cellular networks. [2] Parallelization is possible via internal multithreaded routines, for use on multi-core computers. [3] The properties of the membrane channels of the neuron are simulated using compiled mechanisms written using the NMODL language or by compiled routines operating on internal data structures that are set up with Channel Builder.

Along with the analogous software platform GENESIS, Neuron is the basis for instruction in computational neuroscience in many courses and laboratories around the world.

User interface

Neuron features a graphical user interface (GUI), for use by individuals with minimal programming experience. The GUI comes equipped with a builder for single and multiple compartment cells, networks, network cells, channels and linear electric circuits. Single and multiple compartment cells differ in that multiple compartment cells features several "sections", each with potentially distinct parameters for dimensions and kinetics. Tutorials are available on the Neuron website, including for getting basic models out of the cell, channel and network builders.[ citation needed ] With these builders, the user can form the basis of all simulations and models.

Cell Builder

The cell builder menu with the six options visible Cell builder menu in the Neuron GUI displaying six options for cell generation.jpg
The cell builder menu with the six options visible

Cell Builder allows the user to generate and modify stick figure cell structures. These sections form the basis of functionally distinct areas of the neuron. [4]

The user can define functionally distinct groups of sections. Sections branching from one another can be labeled "dendrites," while another, single section that projects from the same central one can be labeled as the "axon." The user can define parameters along which certain values are variable as a function across a section. For instance, path length along a subset can be defined as a domain, the functions along which can then be defined later. [5] [6]

The user can select either individual sections, or groups and set precise parameters for length, diameter, area and length for that group or section. Any of these values can be set as a function of length or some other parameter of the corresponding section. The user can set the number of functional segments in a section, which is a strategy for spatial resolution. The higher the number of segments, the more precisely Neuron can handle a function in a section. Segments are the points where point process managers can be associated. [7]

Users can define kinetic and electro-physiological functions across both subsets and sections. Neuron comes equipped with a probabilistic model of Hodgkin-Huxley Model [8] giant squid axon kinetics, as well as a function to model passive leak channel kinetics. Both of these functions, and the features they describe, can be added to the membrane of the constructed cell. Values for leak rate, sodium conductance and potassium conductance can be set for modeling these kinetics can be set as functions over a parameterized domain. Channels become available for implementation in a cell membrane.

Channel Builder

The user can generate both voltage- and ligand-gated channel models. Channel Builder supports local point channels, generally used for single, large channels whose function is to be modeled, and general channels whose density across the cell can be defined. Maximum conductance, reversal potential, ligand sensitivity, ion permeability, as well as precise dynamics of transitional states using activation and inactivation variables, and including differential conductance, can be defined. [9]

Network and Network Cell Builder

Neuron allows for the generation of mixed models, populated with both artificial cells and neurons. Artificial cells essentially function as point processes, implemented into the network. Artificial cells require only a point process, with defined parameters. The user can create the structure and dynamics of network cells. The user can create synapses, using simulated synapse point processes as archetypes. Parameters on these point processes can be manipulated to simulate both inhibitory and excitatory responses. Synapses can be placed on specific segments of the constructed cell, wherein, again, they will behave as point processes, except that they are sensitive to the activity of a pre-synaptic element. Cells can be managed. The user creates the basic grid of network cells, taking previously completed network cells as archetypes. Connections can be defined between source cells and target synapses on other cells. The cell containing the target synapse becomes the post-synaptic element, whereas the source cells function as pre-synaptic elements. Weights can be added to define strength of activation of a synapse by the pre-synaptic cell. A plot option can be activated to open a graph of spikes across time for individual neurons.

Simulation and recording

Neuron comes equipped with a slew of simulation tools. Most notably, it includes several "point processes," which are simple functions at a particular segment of a cell. Point processes include simulations of voltage, patch, single electrode and current clamps, as well as several simulated synapses. Synapse point processes are distinct for their ability to model stimulation intensities that vary non-linearly across time. These can be placed on any segment of any section of a built cell, individual or network, and their precise values, including amplitude and duration of stimulation, delay time of activation in a run and time decay parameters (for synapses), can be defined from the point process manager module. When implemented into a network as synapses, point process parameters are defined in the synapse builder for a particular network cell. [10] Graphs describing voltage, conductance, and current axes over time can be used to describe changes in electrical state at the location of any segment on the cell. Neuron allows for graphs of change at both individual points over time, and across an entire section through time. [11] [12] Duration of run can be set. All point processes, including those standing for cells or synapses of artificial neurons, and all graphs reflect the duration.

Examples

This example creates a simple cell, with a single compartment soma and a multi compartment axon. It has the dynamics of the cell membrane simulated using Hodgkin-Huxley squid axon kinetics. The simulator stimulates the cell and runs for 50 ms.

//create two sections, the body of the neuron and a very long axoncreatesoma,axonsoma{//length is set to 100 micrometers L=100//diameter is set to 100 micrometersdiam=100//insert a mechanism simulating the standard squid Hodgkin–Huxley channelsinserthh//insert a mechanism simulating the passive membrane propertiesinsertpas}axon{L=5000diam=10inserthhinsertpas//the axon shall be simulated using 10 compartments. By default a single compartment is usednseg=10}//connect the proximal end of the axon to the distal end of the somaconnectaxon(0),soma(1)//declare and insert a current clamp into the middle of the somaobjrefstimsomastim=newIClamp(0.5)//define some parameters of the stimulus: delay, duration (both in ms) and amplitude (in nA)stim.del=10stim.dur=5stim.amp=10//load a default NEURON library file that defines the run routineload_file("stdrun.hoc")//set the simulation to run for 50 mststop=50//run the simulationrun()

A plot can be generated showing the voltage traces starting from the soma and the distal end of the axon. The action potential at the end of the axon arrives slightly later than it appears in the soma at the point of stimulation. The plot is membrane voltage versus time.

NEURON Plot.png

Related Research Articles

<span class="mw-page-title-main">Axon</span> Long projection on a neuron that conducts signals to other neurons

An axon, or nerve fiber, is a long, slender projection of a nerve cell, or neuron, in vertebrates, that typically conducts electrical impulses known as action potentials away from the nerve cell body. The function of the axon is to transmit information to different neurons, muscles, and glands. In certain sensory neurons, such as those for touch and warmth, the axons are called afferent nerve fibers and the electrical impulse travels along these from the periphery to the cell body and from the cell body to the spinal cord along another branch of the same axon. Axon dysfunction can be the cause of many inherited and acquired neurological disorders that affect both the peripheral and central neurons. Nerve fibers are classed into three types – group A nerve fibers, group B nerve fibers, and group C nerve fibers. Groups A and B are myelinated, and group C are unmyelinated. These groups include both sensory fibers and motor fibers. Another classification groups only the sensory fibers as Type I, Type II, Type III, and Type IV.

<span class="mw-page-title-main">Dendrite</span> Small projection on a neuron that receives signals

A dendrite or dendron is a branched protoplasmic extension of a nerve cell that propagates the electrochemical stimulation received from other neural cells to the cell body, or soma, of the neuron from which the dendrites project. Electrical stimulation is transmitted onto dendrites by upstream neurons via synapses which are located at various points throughout the dendritic tree.

<span class="mw-page-title-main">Neuron</span> Electrically excitable cell found in the nervous system of animals

Within a nervous system, a neuron, neurone, or nerve cell is an electrically excitable cell that fires electric signals called action potentials across a neural network. Neurons communicate with other cells via synapses - specialized connections that commonly use minute amounts of chemical neurotransmitters to pass the electric signal from the presynaptic neuron to the target cell through the synaptic gap. The neuron is the main component of nervous tissue in all animals except sponges and placozoa. Non-animals like plants and fungi do not have nerve cells.

<span class="mw-page-title-main">Chemical synapse</span> Biological junctions through which neurons signals can be sent

Chemical synapses are biological junctions through which neurons' signals can be sent to each other and to non-neuronal cells such as those in muscles or glands. Chemical synapses allow neurons to form circuits within the central nervous system. They are crucial to the biological computations that underlie perception and thought. They allow the nervous system to connect to and control other systems of the body.

<span class="mw-page-title-main">Action potential</span> Neuron communication by electric impulses

An action potential occurs when the membrane potential of a specific cell rapidly rises and falls. This depolarization then causes adjacent locations to similarly depolarize. Action potentials occur in several types of animal cells, called excitable cells, which include neurons, muscle cells, and in some plant cells. Certain endocrine cells such as pancreatic beta cells, and certain cells of the anterior pituitary gland are also excitable cells.

<span class="mw-page-title-main">Nervous tissue</span> Main component of the nervous system

Nervous tissue, also called neural tissue, is the main tissue component of the nervous system. The nervous system regulates and controls body functions and activity. It consists of two parts: the central nervous system (CNS) comprising the brain and spinal cord, and the peripheral nervous system (PNS) comprising the branching peripheral nerves. It is composed of neurons, also known as nerve cells, which receive and transmit impulses, and neuroglia, also known as glial cells or glia, which assist the propagation of the nerve impulse as well as provide nutrients to the neurons.

<span class="mw-page-title-main">Pyramidal cell</span> Projection neurons in the cerebral cortex and hippocampus

Pyramidal cells, or pyramidal neurons, are a type of multipolar neuron found in areas of the brain including the cerebral cortex, the hippocampus, and the amygdala. Pyramidal cells are the primary excitation units of the mammalian prefrontal cortex and the corticospinal tract. Pyramidal neurons are also one of two cell types where the characteristic sign, Negri bodies, are found in post-mortem rabies infection. Pyramidal neurons were first discovered and studied by Santiago Ramón y Cajal. Since then, studies on pyramidal neurons have focused on topics ranging from neuroplasticity to cognition.

<span class="mw-page-title-main">Soma (biology)</span> Portion of a brain cell containing its nucleus

In cellular neuroscience, the soma, perikaryon, neurocyton, or cell body is the bulbous, non-process portion of a neuron or other brain cell type, containing the cell nucleus. Although it is often used to refer to neurons, it can also refer to other cell types as well, including astrocytes, oligodendrocytes, and microglia. There are many different specialized types of neurons, and their sizes vary from as small as about 5 micrometres to over 10 millimetres for some of the smallest and largest neurons of invertebrates, respectively.

<span class="mw-page-title-main">Synapse</span> Structure connecting neurons in the nervous system

In the nervous system, a synapse is a structure that permits a neuron to pass an electrical or chemical signal to another neuron or to the target effector cell.

GENESIS is a simulation environment for constructing realistic models of neurobiological systems at many levels of scale including: sub-cellular processes, individual neurons, networks of neurons, and neuronal systems. These simulations are “computer-based implementations of models whose primary objective is to capture what is known of the anatomical structure and physiological characteristics of the neural system of interest”. GENESIS is intended to quantify the physical framework of the nervous system in a way that allows for easy understanding of the physical structure of the nerves in question. “At present only GENESIS allows parallelized modeling of single neurons and networks on multiple-instruction-multiple-data parallel computers.” Development of GENESIS software spread from its home at Caltech to labs at the University of Texas at San Antonio, the University of Antwerp, the National Centre for Biological Sciences in Bangalore, the University of Colorado, the Pittsburgh Supercomputing Center, the San Diego Supercomputer Center, and Emory University.

<span class="mw-page-title-main">Calyx of Held</span>

The Calyx of Held is a particularly large synapse in the mammalian auditory central nervous system, so named after Hans Held who first described it in his 1893 article Die centrale Gehörleitung because of its resemblance to the calyx of a flower. Globular bushy cells in the anteroventral cochlear nucleus (AVCN) send axons to the contralateral medial nucleus of the trapezoid body (MNTB), where they synapse via these calyces on MNTB principal cells. These principal cells then project to the ipsilateral lateral superior olive (LSO), where they inhibit postsynaptic neurons and provide a basis for interaural level detection (ILD), required for high frequency sound localization. This synapse has been described as the largest in the brain.

Neural backpropagation is the phenomenon in which, after the action potential of a neuron creates a voltage spike down the axon, another impulse is generated from the soma and propagates towards the apical portions of the dendritic arbor or dendrites. In addition to active backpropagation of the action potential, there is also passive electrotonic spread. While there is ample evidence to prove the existence of backpropagating action potentials, the function of such action potentials and the extent to which they invade the most distal dendrites remain highly controversial.

<span class="mw-page-title-main">Biological neuron model</span> Mathematical descriptions of the properties of certain cells in the nervous system

Biological neuron models, also known as a spiking neuron models, are mathematical descriptions of the properties of certain cells in the nervous system that generate sharp electrical potentials across their cell membrane, roughly one millisecond in duration, called action potentials or spikes. Since spikes are transmitted along the axon and synapses from the sending neuron to many other neurons, spiking neurons are considered to be a major information processing unit of the nervous system. Spiking neuron models can be divided into different categories: the most detailed mathematical models are biophysical neuron models that describe the membrane voltage as a function of the input current and the activation of ion channels. Mathematically simpler are integrate-and-fire models that describe the membrane voltage as a function of the input current and predict the spike times without a description of the biophysical processes that shape the time course of an action potential. Even more abstract models only predict output spikes as a function of the stimulation where the stimulation can occur through sensory input or pharmacologically. This article provides a short overview of different spiking neuron models and links, whenever possible to experimental phenomena. It includes deterministic and probabilistic models.

<span class="mw-page-title-main">Dendritic spike</span> Action potential generated in the dendrite of a neuron

In neurophysiology, a dendritic spike refers to an action potential generated in the dendrite of a neuron. Dendrites are branched extensions of a neuron. They receive electrical signals emitted from projecting neurons and transfer these signals to the cell body, or soma. Dendritic signaling has traditionally been viewed as a passive mode of electrical signaling. Unlike its axon counterpart which can generate signals through action potentials, dendrites were believed to only have the ability to propagate electrical signals by physical means: changes in conductance, length, cross sectional area, etc. However, the existence of dendritic spikes was proposed and demonstrated by W. Alden Spencer, Eric Kandel, Rodolfo Llinás and coworkers in the 1960s and a large body of evidence now makes it clear that dendrites are active neuronal structures. Dendrites contain voltage-gated ion channels giving them the ability to generate action potentials. Dendritic spikes have been recorded in numerous types of neurons in the brain and are thought to have great implications in neuronal communication, memory, and learning. They are one of the major factors in long-term potentiation.

<span class="mw-page-title-main">Axon terminal</span>

Axon terminals are distal terminations of the telodendria (branches) of an axon. An axon, also called a nerve fiber, is a long, slender projection of a nerve cell, or neuron, that conducts electrical impulses called action potentials away from the neuron's cell body, or soma, in order to transmit those impulses to other neurons, muscle cells or glands.

Cellular neuroscience is a branch of neuroscience concerned with the study of neurons at a cellular level. This includes morphology and physiological properties of single neurons. Several techniques such as intracellular recording, patch-clamp, and voltage-clamp technique, pharmacology, confocal imaging, molecular biology, two photon laser scanning microscopy and Ca2+ imaging have been used to study activity at the cellular level. Cellular neuroscience examines the various types of neurons, the functions of different neurons, the influence of neurons upon each other, and how neurons work together.

<span class="mw-page-title-main">Nonsynaptic plasticity</span> Form of neuroplasticity

Nonsynaptic plasticity is a form of neuroplasticity that involves modification of ion channel function in the axon, dendrites, and cell body that results in specific changes in the integration of excitatory postsynaptic potentials and inhibitory postsynaptic potentials. Nonsynaptic plasticity is a modification of the intrinsic excitability of the neuron. It interacts with synaptic plasticity, but it is considered a separate entity from synaptic plasticity. Intrinsic modification of the electrical properties of neurons plays a role in many aspects of plasticity from homeostatic plasticity to learning and memory itself. Nonsynaptic plasticity affects synaptic integration, subthreshold propagation, spike generation, and other fundamental mechanisms of neurons at the cellular level. These individual neuronal alterations can result in changes in higher brain function, especially learning and memory. However, as an emerging field in neuroscience, much of the knowledge about nonsynaptic plasticity is uncertain and still requires further investigation to better define its role in brain function and behavior.

Network of human nervous system comprises nodes that are connected by links. The connectivity may be viewed anatomically, functionally, or electrophysiologically. These are presented in several Wikipedia articles that include Connectionism, Biological neural network, Artificial neural network, Computational neuroscience, as well as in several books by Ascoli, G. A. (2002), Sterratt, D., Graham, B., Gillies, A., & Willshaw, D. (2011), Gerstner, W., & Kistler, W. (2002), and Rumelhart, J. L., McClelland, J. L., and PDP Research Group (1986) among others. The focus of this article is a comprehensive view of modeling a neural network. Once an approach based on the perspective and connectivity is chosen, the models are developed at microscopic, mesoscopic, or macroscopic (system) levels. Computational modeling refers to models that are developed using computing tools.

Compartmental modelling of dendrites deals with multi-compartment modelling of the dendrites, to make the understanding of the electrical behavior of complex dendrites easier. Basically, compartmental modelling of dendrites is a very helpful tool to develop new biological neuron models. Dendrites are very important because they occupy the most membrane area in many of the neurons and give the neuron an ability to connect to thousands of other cells. Originally the dendrites were thought to have constant conductance and current but now it has been understood that they may have active Voltage-gated ion channels, which influences the firing properties of the neuron and also the response of neuron to synaptic inputs. Many mathematical models have been developed to understand the electric behavior of the dendrites. Dendrites tend to be very branchy and complex, so the compartmental approach to understand the electrical behavior of the dendrites makes it very useful.

<span class="mw-page-title-main">Outline of the human nervous system</span> Overview of and topical guide to the human nervous system

The following Diagram is provided as an overview of and topical guide to the human nervous system:

References

  1. 1 2 "Releases · neuronsimulator/nrn". github.com. Retrieved 2021-04-20.
  2. "New release of NEURON includes reactive diffusion! - NEURON".
  3. "www.neuron.yale.edu • View topic - NEURON 7.0 now available".
  4. "Specify topology".
  5. "Specify subsets".
  6. "Set up a SubsetDomainIterator".
  7. "Specify geometry".
  8. Hodgkin-Huxley ionic current characterization
  9. "Creating a channel from an HH-style specification".
  10. PointProcess documentation
  11. "Plotting Variables from Biophysical Cell Models in a Network".
  12. "Use the model specification".