Neuron models with current-based synapses

class aeif_psc_alpha : public Archiving_Node
#include <aeif_psc_alpha.h>

Name: aeif_psc_alpha - Current-based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005).

Description:

aeif_psc_alpha is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005). Synaptic currents are modelled as alpha-functions.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive step size to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

I_ex

pA

Excitatory synaptic current

dI_ex

pA/ms

First derivative of I_ex

I_in

pA

Inhibitory synaptic current

dI_in

pA/ms

First derivative of I_in

w

pA

Spike-adaptation current

g

pa

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities

Author: Tanguy Fardet

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_alpha, aeif_cond_exp

class aeif_psc_delta : public Archiving_Node
#include <aeif_psc_delta.h>

Name: aeif_psc_delta - Current-based adaptive exponential integrate-and-fire neuron model according to Brette and Gerstner (2005) with delta synapse.

Description:

aeif_psc_delta is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic currents in the form of delta spikes.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive stepsize to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

\[ I(t) = J \sum_k \delta(t - t^k). \]

Here delta is the dirac delta function and k indexes incoming spikes. This is implemented such that V_m will be incremented/decremented by the value of J after a spike.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

tau_w

ms

Adaptation time constant

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_th

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Author: Mikkel Elle Lepperød adapted from aeif_psc_exp and iaf_psc_delta

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_delta, aeif_cond_exp, aeif_psc_exp

class aeif_psc_delta_clopath : public Clopath_Archiving_Node
#include <aeif_psc_delta_clopath.h>

Name: aeif_psc_delta_clopath - Exponential integrate-and-fire neuron model according to Clopath et al. (2010).

Description:

aeif_psc_delta_clopath is an implementation of the neuron model as it is used in [1]. It is an extension of the aeif_psc_delta model and capable of connecting to a Clopath synapse.

Note that there are two points that are not mentioned in the paper but present in a MATLAB implementation by Claudia Clopath [3]. The first one is the clamping of the membrane potential to a fixed value after a spike occured to mimik a real spike and not just the upswing. This is important since the finite duration of the spike influences the evolution of the convolved versions (u_bar_[plus/minus]) of the membrane potential and thus the change of the synaptic weight. Secondly, there is a delay with which u_bar_[plus/minus] are used to compute the change of the synaptic weight.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

w

pA

Spike-adaptation current

z

pA

Spike-adaptation current

V_th

mV

Adaptive spike initiation threshold

u_bar_plus

mV

Low-pass filtered Membrane potential

u_bar_minus

mV

Low-pass filtered Membrane potential

u_bar_bar

mV

Low-pass filtered u_bar_minus

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

tau_plus

ms

Time constant of u_bar_plus

tau_minus

ms

Time constant of u_bar_minus

tau_bar_bar

ms

Time constant of u_bar_bar

Spike adaptation parameters

a

nS

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_peak

mV

Spike detection threshold

V_th_max

mV

Value of V_th afer a spike

V_th_rest

mV

Resting value of V_th

Clopath rule parameters

A_LTD

1/mV

Amplitude of depression

A_LTP

1/mV^2

Amplitude of facilitation

theta_plus

mV

Threshold for u

theta_minus

mV

Threshold for u_bar_[plus/minus]

A_LTD_const

boolean

Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).

delay_u_bars

real

Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.

U_ref_squared

real

Reference value for u_bar_bar_^2.

Other parameters

t_clamp

ms

Duration of clamping of Membrane potential after a spike

V_clamp

mV

Value to which the Membrane potential is clamped

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities.

Note:

Neither the clamping nor the delayed processing of u_bar_[plus/minus] are mentioned in [1]. However, they are part of an reference implementation by Claudia Clopath et al. that can be found on ModelDB [3]. The clamping is important to mimic a spike which is otherwise not described by the aeif neuron model.

Author: Jonas Stapmanns, David Dahmen, Jan Hahne

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Clopath et al. (2010). Connectivity reflects coding: a model of voltage-based STDP with homeostasis. Nature Neuroscience 13(3):344-352. DOI: https://doi.org/10.1038/nn.2479

2

Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025

3

Voltage-based STDP synapse (Clopath et al. 2010) on ModelDB https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file=%2f modeldb_package%2fVoTriCode%2faEIF.m

SeeAlso: aeif_psc_delta, clopath_synapse, hh_psc_alpha_clopath

class aeif_psc_exp : public Archiving_Node
#include <aeif_psc_exp.h>

Name: aeif_psc_exp - Current-based exponential integrate-and-fire neuron model according to Brette and Gerstner (2005).

Description:

aeif_psc_exp is the adaptive exponential integrate and fire neuron according to Brette and Gerstner (2005), with post-synaptic currents in the form of truncated exponentials.

This implementation uses the embedded 4th order Runge-Kutta-Fehlberg solver with adaptive stepsize to integrate the differential equation.

The membrane potential is given by the following differential equation:

\[\begin{split} C dV/dt= -g_L(V-E_L)+g_L*\Delta_T*\exp((V-V_T)/\Delta_T)-g_e(t)(V-E_e) \\ -g_i(t)(V-E_i)-w +I_e \end{split}\]

and

\[ \tau_w * dw/dt= a(V-E_L) -W \]

Note that the spike detection threshold V_peak is automatically set to \( V_th+10 \) mV to avoid numerical instabilites that may result from setting V_peak too high.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables:

V_m

mV

Membrane potential

I_ex

pA

Excitatory synaptic current

I_in

pA

Inhibitory synaptic current

w

pA

Spike-adaptation current

Membrane Parameters

C_m

pF

Capacity of the membrane

t_ref

ms

Duration of refractory period

V_reset

mV

Reset value for V_m after a spike

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

I_e

pA

Constant external input current

Spike adaptation parameters

a

ns

Subthreshold adaptation

b

pA

Spike-triggered adaptation

Delta_T

mV

Slope factor

tau_w

ms

Adaptation time constant

V_t

mV

Spike initiation threshold

V_peak

mV

Spike detection threshold

Synaptic parameters

tau_syn_ex

ms

Rise time of excitatory synaptic conductance (alpha function)

tau_syn_in

ms

Rise time of the inhibitory synaptic conductance (alpha function)

Integration parameters

gsl_error_tol

real

This parameter controls the admissible error of the GSL integrator. Reduce it if NEST complains about numerical instabilities

Author: Tanguy Fardet

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

References:

1

Brette R and Gerstner W (2005). Adaptive Exponential Integrate-and-Fire Model as an Effective Description of Neuronal Activity. J Neurophysiol 94:3637-3642. DOI: https://doi.org/10.1152/jn.00686.2005

SeeAlso: iaf_psc_exp, aeif_cond_exp

class amat2_psc_exp : public Archiving_Node
#include <amat2_psc_exp.h>

Name: amat2_psc_exp - Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold.

Description:

amat2_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.

The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].

The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

An additional state variable and the corresponding differential equation represents a piecewise constant external current.

The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].

Remarks:

  • The default parameter values for this model are different from the corresponding parameter values for mat2_psc_exp.

  • If identical parameters are used, and beta==0, then this model shall behave exactly as mat2_psc_exp.

  • The time constants in the model must fullfill the following conditions:

    • \( \tau_m != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)

    • \( \tau_v != {\tau_{syn_{ex}}, \tau_{syn_{in}}} \)

    • \( \tau_m != \tau_v \) This is required to avoid singularities in the numerics. This is a problem of implementation only, not a principal problem of the model.

  • Expect unstable numerics if time constants that are required to be different are very close.

Parameters:

The following parameters can be set in the status dictionary:

C_m

pF

Capacity of the membrane

E_L

mV

Resting potential

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of absolute refractory period (no spiking)

V_m

mV

Membrane potential

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

tau_1

ms

Short time constant of adaptive threshold [3, eqs 2-3]

tau_2

ms

Long time constant of adaptive threshold [3, eqs 2-3]

alpha_1

mV

Amplitude of short time threshold adaption [3, eqs 2-3]

alpha_2

mV

Amplitude of long time threshold adaption [3, eqs 2-3]

tau_v

ms

Time constant of kernel for voltage-dependent threshold component [3, eqs 16-17]

beta

1/ms

Scaling coefficient for voltage-dependent threshold component [3, eqs 16-17]

omega

mV

Resting spike threshold (absolute value, not relative to E_L as in [3])

State variables that can be read out with the multimeter device

V_m

mV

Non-resetting membrane potential

V_th

mV

Two-timescale adaptive threshold

Remarks:

\( \tau_m != \tau_{syn_{ex,in}} \) is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

2

Diesmann M, Gewaltig M-O, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

3

Kobayashi R, Tsubo Y and Shinomoto S (2009). Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold. Frontiers in Computational Neuroscience, 3:9. DOI: https://dx.doi.org/10.3389%2Fneuro.10.009.2009

4

Yamauchi S, Kim H, Shinomoto S (2011). Elemental spiking neuron model for reproducing diverse firing patterns and predicting precise firing times. Frontiers in Computational Neuroscience, 5:42. DOI: https://doi.org/10.3389/fncom.2011.00042

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: April 2013

Author: Thomas Heiberg & Hans E. Plesser (modified mat2_psc_exp model of Thomas Pfeil)

class hh_psc_alpha : public Archiving_Node
#include <hh_psc_alpha.h>

Name: hh_psc_alpha - Hodgkin-Huxley neuron model.

Description:

hh_psc_alpha is an implementation of a spiking neuron using the Hodgkin-Huxley formalism.

  1. Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

  2. Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

g_L

nS

Leak conductance

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_K

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

Problems/Todo:

better spike detection initial wavelet/spike at simulation onset

References:

1

Gerstner W, Kistler W (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge University Press

2

Dayan P, Abbott LF (2001). Theoretical neuroscience: Computational and mathematical modeling of neural systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127>

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Authors: Schrader

SeeAlso: hh_cond_exp_traub

class hh_psc_alpha_clopath : public Clopath_Archiving_Node
#include <hh_psc_alpha_clopath.h>

Name: hh_psc_alpha_clopath - Hodgkin-Huxley neuron model with support for the Clopath synapse.

Description:

hh_psc_alpha_clopath is an implementation of a spiking neuron using the Hodgkin-Huxley formalism and that is capable of connecting to a Clopath synapse.

(1) Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

(2) Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

Parameters:

The following parameters can be set in the status dictionary.

Dynamic state variables

V_m

mV

Membrane potential

u_bar_plus

mV

Low-pass filtered Membrane potential

u_bar_minus

mV

Low-pass filtered Membrane potential

u_bar_bar

mV

Low-pass filtered u_bar_minus

Membrane Parameters

E_L

mV

Leak reversal potential

C_m

pF

Capacity of the membrane

g_L

nS

Leak conductance

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_K

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

Clopath rule parameters

A_LTD

1/mV

Amplitude of depression

A_LTP

1/mV^2

Amplitude of facilitation

theta_plus

mV

Threshold for u

theta_minus

mV

Threshold for u_bar_[plus/minus]

A_LTD_const

boolean

Flag that indicates whether A_LTD_ should be constant (true, default) or multiplied by u_bar_bar^2 / u_ref_squared (false).

delay_u_bars

real

Delay with which u_bar_[plus/minus] are processed to compute the synaptic weights.

U_ref_squared

real

Reference value for u_bar_bar_^2.

Problems/Todo:

better spike detection initial wavelet/spike at simulation onset

References:

1

Gerstner W and Kistler WM (2002). Spiking neuron models: Single neurons, populations, plasticity. New York: Cambridge university press.

2

Dayan P and Abbott L (2001). Theoretical Neuroscience: Computational and Mathematical Modeling of Neural Systems. Cambridge, MA: MIT Press. https://pure.mpg.de/pubman/faces/ViewItemOverviewPage.jsp?itemId=item_3006127

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

4

Clopath et al. (2010). Connectivity reflects coding: a model of voltage-based STDP with homeostasis. Nature Neuroscience 13(3):344-352. DOI: https://doi.org/10.1038/nn.2479

5

Clopath and Gerstner (2010). Voltage and spike timing interact in STDP – a unified model. Frontiers in Synaptic Neuroscience. 2:25 DOI: https://doi.org/10.3389/fnsyn.2010.00025

6

Voltage-based STDP synapse (Clopath et al. 2010) connected to a Hodgkin-Huxley neuron on ModelDB: https://senselab.med.yale.edu/ModelDB/showmodel.cshtml?model=144566&file =%2fmodeldb_package%2fstdp_cc.mod

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Jonas Stapmanns, David Dahmen, Jan Hahne (adapted from hh_psc_alpha by Schrader)

SeeAlso: hh_psc_alpha, clopath_synapse, aeif_psc_delta_clopath

class hh_psc_alpha_gap : public Archiving_Node
#include <hh_psc_alpha_gap.h>

Name: hh_psc_alpha_gap - Hodgkin-Huxley neuron model with gap-junction support.

Description:

hh_psc_alpha_gap is an implementation of a spiking neuron using the Hodgkin-Huxley formalism. In contrast to hh_psc_alpha the implementation additionally supports gap junctions.

  1. Post-synaptic currents Incoming spike events induce a post-synaptic change of current modelled by an alpha function. The alpha function is normalised such that an event of weight 1.0 results in a peak current of 1 pA.

  2. Spike Detection Spike detection is done by a combined threshold-and-local-maximum search: if there is a local maximum above a certain threshold of the membrane potential, it is considered a spike.

  3. Gap Junctions Gap Junctions are implemented by a gap current of the form \( g_ij( V_i - V_j) \).

Parameters:

The following parameters can be set in the status dictionary.

tau_ex

ms

Rise time of the excitatory synaptic alpha function

tau_in

ms

Rise time of the inhibitory synaptic alpha function

g_K

nS

Potassium peak conductance

V_m

mV

Membrane potential

E_L

mV

Leak reversal potential

g_L

nS

Leak conductance

C_m

pF

Capacity of the membrane

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

E_Na

mV

Sodium reversal potential

g_Na

nS

Sodium peak conductance

E_K

mV

Potassium reversal potential

g_Kv1

nS

Potassium peak conductance

g_Kv3

nS

Potassium peak conductance

Act_m

real

Activation variable m

Act_h

real

Activation variable h

Inact_n

real

Inactivation variable n

I_e

pA

External input current

References:

1

Gerstner W, Kistler W. Spiking neuron models: Single neurons, populations, plasticity. Cambridge University Press

2

Mancilla JG, Lewis TG, Pinto DJ, Rinzel J, Connors BW (2007). Synchronization of electrically coupled pairs of inhibitory interneurons in neocortex, Journal of Neurosciece, 27:2058-2073 DOI: https://doi.org/10.1523/JNEUROSCI.2715-06.2007 (parameters taken from here)

3

Hodgkin AL and Huxley A F (1952). A quantitative description of membrane current and its application to conduction and excitation in nerve. The Journal of Physiology 117. DOI: https://doi.org/10.1113/jphysiol.1952.sp004764

4

Hahne J, Helias M, Kunkel S, Igarashi J, Bolten M, Frommer A, Diesmann M (2015). A unified framework for spiking and gap-junction interactions in distributed neuronal netowrk simulations. Frontiers in Neuroinformatics, 9:22. DOI: https://doi.org/10.3389/fninf.2015.00022

Sends: SpikeEvent, GapJunctionEvent

Receives: SpikeEvent, GapJunctionEvent, CurrentEvent, DataLoggingRequest

Author: Jan Hahne, Moritz Helias, Susanne Kunkel

SeeAlso: hh_psc_alpha, hh_cond_exp_traub, gap_junction

class iaf_psc_alpha : public Archiving_Node
#include <iaf_psc_alpha.h>

Name: iaf_psc_alpha - Leaky integrate-and-fire neuron model.

Description:

iaf_psc_alpha is an implementation of a leaky integrate-and-fire model with alpha-function shaped synaptic currents. Thus, synaptic currents and the resulting post-synaptic potentials have a finite rise time.

The threshold crossing is followed by an absolute refractory period during which the membrane potential is clamped to the resting potential.

The linear subthresold dynamics is integrated by the Exact Integration scheme [][1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

An additional state variable and the corresponding differential equation represents a piecewise constant external current.

The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].

Critical tests for the formulation of the neuron model are the comparisons of simulation results for different computation step sizes. sli/testsuite/nest contains a number of such tests.

The iaf_psc_alpha is the standard model used to check the consistency of the nest simulation kernel because it is at the same time complex enough to exhibit non-trivial dynamics and simple enough compute relevant measures analytically.

Remarks:

The present implementation uses individual variables for the components of the state vector and the non-zero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.

The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_alpha will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Resting membrane potenial

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

tau_syn_ex

ms

Rise time of the excitatory synaptic alpha function

tau_syn_in

ms

Rise time of the inhibitory synaptic alpha function

I_e

pA

Constant input current

V_min

mV

Absolute lower value for the membrane potenial

Remarks:

If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

2

Diesmann M, Gewaltig M-O, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

3

Morrison A, Straube S, Plesser H E, Diesmann M (2006). Exact subthreshold integration with continuous spike times in discrete time neural network simulations. Neural Computation, in press DOI: https://doi.org/10.1162/neco.2007.19.1.47

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: September 1999

Author: Diesmann, Gewaltig

SeeAlso: iaf_psc_delta, iaf_psc_exp, iaf_cond_exp

class iaf_psc_alpha_multisynapse : public Archiving_Node
#include <iaf_psc_alpha_multisynapse.h>

Name: iaf_psc_alpha_multisynapse - Leaky integrate-and-fire neuron model with multiple ports.

Description:

iaf_psc_alpha_multisynapse is a direct extension of iaf_psc_alpha. On the postsynapic side, there can be arbitrarily many synaptic time constants (iaf_psc_alpha has exactly two: tau_syn_ex and tau_syn_in).

This can be reached by specifying separate receptor ports, each for a different time constant. The port number has to match the respective “receptor_type” in the connectors.

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: Schrader, adapted from iaf_psc_alpha

SeeAlso: iaf_psc_alpha, iaf_psc_delta, iaf_psc_exp, iaf_cond_exp, iaf_psc_exp_multisynapse

class iaf_psc_delta : public Archiving_Node
#include <iaf_psc_delta.h>

Name: iaf_psc_delta - Leaky integrate-and-fire neuron model.

Description:

iaf_psc_delta is an implementation of a leaky integrate-and-fire model where the potential jumps on each spike arrival.

The threshold crossing is followed by an absolute refractory period during which the membrane potential is clamped to the resting potential.

Spikes arriving while the neuron is refractory, are discarded by default. If the property “refractory_input” is set to true, such spikes are added to the membrane potential at the end of the refractory period, dampened according to the interval between arrival and end of refractoriness.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

An additional state variable and the corresponding differential equation represents a piecewise constant external current.

The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].

Critical tests for the formulation of the neuron model are the comparisons of simulation results for different computation step sizes. sli/testsuite/nest contains a number of such tests.

The iaf_psc_delta is the standard model used to check the consistency of the nest simulation kernel because it is at the same time complex enough to exhibit non-trivial dynamics and simple enough compute relevant measures analytically.

Remarks:

The present implementation uses individual variables for the components of the state vector and the non-zero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.

The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_delta will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

E_L

mV

Resting membrane potential

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

t_ref

ms

Duration of refractory period

V_th

mV

Spike threshold

V_reset

mV

Reset potential of the membrane

I_e

pA

Constant input current

V_min

mV

Absolute lower value for the membrane potenial

refractory_input

boolean

If true, do not discard input during refractory period. Default: false

References:

1

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

2

Diesmann M, Gewaltig M-O, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: September 1999, Diesmann, Gewaltig

SeeAlso: iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps

class iaf_psc_exp : public Archiving_Node
#include <iaf_psc_exp.h>

Name: iaf_psc_exp - Leaky integrate-and-fire neuron model with exponential PSCs.

Description:

iaf_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs) according to [1]. Thus, postsynaptic currents have an infinitely short rise time.

The threshold crossing is followed by an absolute refractory period (t_ref) during which the membrane potential is clamped to the resting potential and spiking is prohibited.

The linear subthresold dynamics is integrated by the Exact Integration scheme [2]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

An additional state variable and the corresponding differential equation represents a piecewise constant external current.

The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [2]. A flow chart can be found in [3].

Spiking in this model can be either deterministic (delta=0) or stochastic (delta model with escape noise [4, 5].

Remarks:

The present implementation uses individual variables for the components of the state vector and the non-zero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.

The template support of recent C++ compilers enables a more succinct formulation without loss of runtime performance already at minimal optimization levels. A future version of iaf_psc_exp will probably address the problem of efficient usage of appropriate vector and matrix objects.

Parameters:

The following parameters can be set in the status dictionary.

E_L

mV

Resting membrane potential

C_m

pF

Capacity of the membrane

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of refractory period (V_m = V_reset)

V_m

mV

Membrane potential in mV

V_th

mV

Spike threshold in mV

V_reset

mV

Reset membrane potential after a spike

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

Remarks:

If tau_m is very close to tau_syn_ex or tau_syn_in, the model will numerically behave as if tau_m is equal to tau_syn_ex or tau_syn_in, respectively, to avoid numerical instabilities. For details, please see IAF_neurons_singularity.ipynb in the NEST source code (docs/model_details).

iaf_psc_exp can handle current input in two ways: Current input through receptor_type 0 are handled as stepwise constant current input as in other iaf models, i.e., this current directly enters the membrane potential equation. Current input through receptor_type 1, in contrast, is filtered through an exponential kernel with the time constant of the excitatory synapse, tau_syn_ex. For an example application, see [6].

References:

1

Tsodyks M, Uziel A, Markram H (2000). Synchrony generation in recurrent networks with frequency-dependent synapses. The Journal of Neuroscience, 20,RC50:1-5. URL: https://infoscience.epfl.ch/record/183402

2

Rotter S, Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

3

Diesmann M, Gewaltig M-O, Rotter S, & Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI: https://doi.org/10.1016/S0925-2312(01)00409-X

4

Schuecker J, Diesmann M, Helias M (2015). Modulated escape from a metastable state driven by colored noise. Physical Review E 92:052119 DOI: https://doi.org/10.1103/PhysRevE.92.052119

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

SeeAlso: iaf_psc_exp_ps

FirstVersion: March 2006

Author: Moritz Helias

class mat2_psc_exp : public Archiving_Node
#include <mat2_psc_exp.h>

Name: mat2_psc_exp - Non-resetting leaky integrate-and-fire neuron model with exponential PSCs and adaptive threshold.

Description:

mat2_psc_exp is an implementation of a leaky integrate-and-fire model with exponential shaped postsynaptic currents (PSCs). Thus, postsynaptic currents have an infinitely short rise time.

The threshold is lifted when the neuron is fired and then decreases in a fixed time scale toward a fixed level [3].

The threshold crossing is followed by a total refractory period during which the neuron is not allowed to fire, even if the membrane potential exceeds the threshold. The membrane potential is NOT reset, but continuously integrated.

The linear subthresold dynamics is integrated by the Exact Integration scheme [1]. The neuron dynamics is solved on the time grid given by the computation step size. Incoming as well as emitted spikes are forced to that grid.

An additional state variable and the corresponding differential equation represents a piecewise constant external current.

The general framework for the consistent formulation of systems with neuron like dynamics interacting by point events is described in [1]. A flow chart can be found in [2].

Remarks:

The present implementation uses individual variables for the components of the state vector and the non-zero matrix elements of the propagator. Because the propagator is a lower triangular matrix no full matrix multiplication needs to be carried out and the computation can be done “in place” i.e. no temporary state vector object is required.

Parameters:

The following parameters can be set in the status dictionary:

C_m

pF

Capacity of the membrane

E_L

mV

Resting potential

tau_m

ms

Membrane time constant

tau_syn_ex

ms

Time constant of postsynaptic excitatory currents

tau_syn_in

ms

Time constant of postsynaptic inhibitory currents

t_ref

ms

Duration of absolute refractory period (no spiking)

V_m

mV

Membrane potential

I_e

pA

Constant input current

t_spike

ms

Point in time of last spike

tau_1

ms

Short time constant of adaptive threshold

tau_2

ms

Long time constant of adaptive threshold

alpha_1

mV

Amplitude of short time threshold adaption [3]

alpha_2

mV

Amplitude of long time threshold adaption [3]

omega

mV

Resting spike threshold (absolute value, not relative to E_L as in [3])

The following state variables can be read out with the multimeter device:

V_m

mV

Non-resetting membrane potential

V_th

mV

Two-timescale adaptive threshold

Remarks:

tau_m != tau_syn_{ex,in} is required by the current implementation to avoid a degenerate case of the ODE describing the model [1]. For very similar values, numerics will be unstable.

References:

1

Rotter S and Diesmann M (1999). Exact simulation of time-invariant linear systems with applications to neuronal modeling. Biologial Cybernetics 81:381-402. DOI: https://doi.org/10.1007/s004220050570

2

Diesmann M, Gewaltig M-O, Rotter S, Aertsen A (2001). State space analysis of synchronous spiking in cortical neural networks. Neurocomputing 38-40:565-571. DOI:https://doi.org/10.1016/S0925-2312(01)00409-X

3

Kobayashi R, Tsubo Y and Shinomoto S (2009). Made-to-order spiking neuron model equipped with a multi-timescale adaptive threshold. Frontiers in Computuational Neuroscience 3:9. DOI: https://doi.org/10.3389/neuro.10.009.2009

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

FirstVersion: Mai 2009

Author: Thomas Pfeil (modified iaf_psc_exp model of Moritz Helias)

class pp_pop_psc_delta : public Node
#include <pp_pop_psc_delta.h>

Name: pp_pop_psc_delta - Population of point process neurons with leaky integration of delta-shaped PSCs.

Description:

pp_pop_psc_delta is an effective model of a population of neurons. The N component neurons are assumed to be spike response models with escape noise, also known as generalized linear models. We follow closely the nomenclature of [1]. The component neurons are a special case of pp_psc_delta (with purely exponential rate function, no reset and no random dead_time). All neurons in the population share the inputs that it receives, and the output is the pooled spike train.

The instantaneous firing rate of the N component neurons is defined as

\[ rate(t) = \rho_0 * \exp( (h(t) - \eta(t))/\delta_u ), \]

where h(t) is the input potential (synaptic delta currents convolved with an exponential kernel with time constant tau_m), eta(t) models the effect of refractoriness and adaptation (the neuron’s own spike train convolved with a sum of exponential kernels with time constants tau_eta), and delta_u sets the scale of the voltages.

To represent a (homogeneous) population of N inhomogeneous renewal process neurons, we can keep track of the numbers of neurons that fired a certain number of time steps in the past. These neurons will have the same value of the hazard function (instantaneous rate), and we draw a binomial random number for each of these groups. This algorithm is thus very similar to ppd_sup_generator and gamma_sup_generator, see also [2].

However, the adapting threshold eta(t) of the neurons generally makes the neurons non-renewal processes. We employ the quasi-renewal approximation [1], to be able to use the above algorithm. For the extension of [1] to coupled populations see [3].

In effect, in each simulation time step, a binomial random number for each of the groups of neurons has to be drawn, independent of the number of represented neurons. For large N, it should be much more efficient than simulating N individual pp_psc_delta models.

pp_pop_psc_delta emits spike events like other neuron models, but no more than one per time step. If several component neurons spike in the time step, the multiplicity of the spike event is set accordingly. Thus, to monitor its output, the multiplicity of the spike events has to be taken into account. Alternatively, the internal variable n_events gives the number of spikes emitted in a time step, and can be monitored using a multimeter.

EDIT Nov 2016: pp_pop_psc_delta is now deprecated, because a new and presumably much faster population model implementation is now available, see gif_pop_psc_exp.

Parameters:

The following parameters can be set in the status dictionary.

N

integer

Number of represented neurons

tau_m

ms

Membrane time constant

C_m

pF

Capacitance of the membrane

rho_0

1/s

Base firing rate

delta_u

mV

Voltage scale parameter

I_e

pA

Constant input current

tau_eta

list of ms

Time constants of post-spike kernel

val_eta

list of mV

Amplitudes of exponentials in post-spike-kernel

len_kernel

real

Post-spike kernel eta is truncated after max(tau_eta) * len_kernel

The parameters correspond to the ones of pp_psc_delta as follows.

c_1

0.0

c_2

rho_0

c_3

1/delta_u

q_sfa

val_eta

tau_sfa

tau_eta

I_e

I_e

dead_time

simulation resolution

dead_time_random

False

with_reset

False

t_ref_remaining

0.0

References:

1

Naud R, Gerstner W (2012). Coding and decoding with adapting neurons: a population approach to the peri-stimulus time histogram. PLoS Compututational Biology 8: e1002711. DOI: https://doi.org/10.1371/journal.pcbi.1002711

2

Deger M, Helias M, Boucsein C, Rotter S (2012). Statistical properties of superimposed stationary spike trains. Journal of Computational Neuroscience 32:3, 443-463. DOI: https://doi.org/10.1007/s10827-011-0362-8

3

Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: May 2014, Setareh, Deger

SeeAlso: gif_pop_psc_exp, pp_psc_delta, ppd_sup_generator, gamma_sup_generator

class pp_psc_delta : public Archiving_Node
#include <pp_psc_delta.h>

Name: pp_psc_delta - Point process neuron with leaky integration of delta-shaped PSCs.

Description:

pp_psc_delta is an implementation of a leaky integrator, where the potential jumps on each spike arrival. It produces spike stochastically, and supports spike-frequency adaptation, and other optional features.

Spikes are generated randomly according to the current value of the transfer function which operates on the membrane potential. Spike generation is followed by an optional dead time. Setting with_reset to true will reset the membrane potential after each spike.

The transfer function can be chosen to be linear, exponential or a sum of both by adjusting three parameters:

\[ rate = Rect[ c_1 * V' + c_2 * \exp(c_3 * V') ], \]

where the effective potential \( V' = V_m - E_{sfa} \) and \( E_{sfa} \) is called the adaptive threshold. Here Rect means rectifier: \( Rect(x) = {x \text{ if } x>=0, 0 \text{ else}} \) (this is necessary because negative rates are not possible).

By setting c_3 = 0, c_2 can be used as an offset spike rate for an otherwise linear rate model.

The dead time enables to include refractoriness. If dead time is 0, the number of spikes in one time step might exceed one and is drawn from the Poisson distribution accordingly. Otherwise, the probability for a spike is given by \( 1 - \exp(-rate*h) \), where h is the simulation time step. If dead_time is smaller than the simulation resolution (time step), it is internally set to the resolution.

Note that, even if non-refractory neurons are to be modeled, a small value of dead_time, like dead_time=1e-8, might be the value of choice since it uses faster uniform random numbers than dead_time=0, which draws Poisson numbers. Only for very large spike rates (> 1 spike/time_step) this will cause errors.

The model can optionally include an adaptive firing threshold. If the neuron spikes, the threshold increases and the membrane potential will take longer to reach it. Here this is implemented by subtracting the value of the adaptive threshold E_sfa from the membrane potential V_m before passing the potential to the transfer function, see also above. E_sfa jumps by q_sfa when the neuron fires a spike, and decays exponentially with the time constant tau_sfa after (see [2] or [3]). Thus, the E_sfa corresponds to the convolution of the neuron’s spike train with an exponential kernel. This adaptation kernel may also be chosen as the sum of n exponential kernels. To use this feature, q_sfa and tau_sfa have to be given as a list of n values each.

The firing of pp_psc_delta is usually not a renewal process. For example, its firing may depend on its past spikes if it has non-zero adaptation terms (q_sfa). But if so, it will depend on all its previous spikes, not just the last one so it is not a renewal process model. However, if “with_reset” is True, and all adaptation terms (q_sfa) are 0, then it will reset (“forget”) its membrane potential each time a spike is emitted, which makes it a renewal process model (where “rate” above is its hazard function, also known as conditional intensity).

pp_psc_delta may also be called a spike-response model with escape-noise [6] (for vanishing, non-random dead_time). If c_1>0 and c_2==0, the rate is a convolution of the inputs with exponential filters which is a model known as a Hawkes point process (see [4]). If instead c_1==0, then pp_psc_delta is a point process generalized linear model (with the canonical link function, and exponential input filters) (see [5,6]).

This model has been adapted from iaf_psc_delta. The default parameters are set to the mean values given in [2], which have been matched to spike-train recordings. Due to the many features of pp_psc_delta and its versatility, parameters should be set carefully and conciously.

Parameters:

The following parameters can be set in the status dictionary.

V_m

mV

Membrane potential

C_m

pF

Capacitance of the membrane

tau_m

ms

Membrane time constant

q_sfa

mV

Adaptive threshold jump

tau_sfa

ms

Adaptive threshold time constant

dead_time

ms

Duration of the dead time

dead_time_random

boolean

Should a random dead time be drawn after each spike?

dead_time_shape

integer

Shape parameter of dead time gamma distribution

t_ref_remaining

ms

Remaining dead time at simulation start

with_reset

boolean

Should the membrane potential be reset after a spike?

I_e

pA

Constant input current

c_1

Hz/mV

Slope of linear part of transfer function in Hz/mV

c_2

Hz

Prefactor of exponential part of transfer function

c_3

1/mV

Coefficient of exponential non-linearity of transfer function

References:

1

Cardanobile S, Rotter S (2010). Multiplicatively interacting point processes and applications to neural modeling. Journal of Computational Neuroscience 28(2):267-284 DOI: https://doi.org/10.1007/s10827-009-0204-0

2

Jolivet R, Rauch A, Luescher H-R, Gerstner W. (2006). Predicting spike timing of neocortical pyramidal neurons by simple threshold models. Journal of Computational Neuroscience 21:35-49. DOI: https://doi.org/10.1007/s10827-006-7074-5

3

Pozzorini C, Naud R, Mensi S, Gerstner W (2013). Temporal whitening by power-law adaptation in neocortical neurons. Nature Neuroscience 16:942-948. (Uses a similar model of multi-timescale adaptation) DOI: https://doi.org/10.1038/nn.3431

4

Grytskyy D, Tetzlaff T, Diesmann M, Helias M (2013). A unified view on weakly correlated recurrent networks. Frontiers in Computational Neuroscience, 7:131. DOI: https://doi.org/10.3389/fncom.2013.00131

5

Deger M, Schwalger T, Naud R, Gerstner W (2014). Fluctuations and information filtering in coupled populations of spiking neurons with adaptation. Physical Review E 90:6, 062704. DOI: https://doi.org/10.1103/PhysRevE.90.062704

6

Gerstner W, Kistler WM, Naud R, Paninski L (2014). Neuronal Dynamics: From single neurons to networks and models of cognition. Cambridge University Press

Sends: SpikeEvent

Receives: SpikeEvent, CurrentEvent, DataLoggingRequest

Author: July 2009, Deger, Helias; January 2011, Zaytsev; May 2014, Setareh

SeeAlso: pp_pop_psc_delta, iaf_psc_delta, iaf_psc_alpha, iaf_psc_exp, iaf_psc_delta_ps