gif_cond_exp_multisynapse


Name:
gif_cond_exp_multisynapse - Conductance-based generalized  
integrate-and-fire neuron model with multiple synaptic time constants
according to Mensi et al. (2012) and Pozzorini et al. (2015).
Description:
 

gif_cond_exp_multisynapse is the generalized integrate-and-fire neuron
according to Mensi et al. (2012) and Pozzorini et al. (2015), with
post-synaptic conductances in the form of truncated exponentials.

This model features both an adaptation current and a dynamic threshold for
spike-frequency adaptation. The membrane potential (V) is described by the
differential equation:

C*dV(t)/dt = -g_L*(V(t)-E_L) - eta_1(t) - eta_2(t) - ... - eta_n(t) + I(t)

where each eta_i is a spike-triggered current (stc), and the neuron model can
have arbitrary number of them.
Dynamic of each eta_i is described by:

tau_eta_i*d{eta_i}/dt = -eta_i

and in case of spike emission, its value increased by a constant (which can be
positive or negative):

eta_i = eta_i + q_eta_i (in case of spike emission).

Neuron produces spikes STOCHASTICALLY according to a point process with the
firing intensity:

lambda(t) = lambda_0 * exp[ (V(t)-V_T(t)) / Delta_V ]

where V_T(t) is a time-dependent firing threshold:

V_T(t) = V_T_star + gamma_1(t) + gamma_2(t) + ... + gamma_m(t)

where gamma_i is a kernel of spike-frequency adaptation (sfa), and the neuron
model can have arbitrary number of them.
Dynamic of each gamma_i is described by:

tau_gamma_i*d{gamma_i}/dt = -gamma_i

and in case of spike emission, its value increased by a constant (which can be
positive or negative):

gamma_i = gamma_i + q_gamma_i (in case of spike emission).

Note that in the current implementation of the model (as described in [1] and
[2]) the values of eta_i and gamma_i are affected immediately after spike
emission. However, GIF toolbox (http://wiki.epfl.ch/giftoolbox) which fits
the model using experimental data, requires a different set of eta_i and
gamma_i. It applies the jump of eta_i and gamma_i after the refractory period.
One can easily convert between q_eta/gamma of these two approaches:
q_eta_giftoolbox = q_eta_NEST * (1 - exp( -tau_ref / tau_eta ))
The same formula applies for q_gamma.

On the postsynapic side, there can be arbitrarily many synaptic time constants
(gif_psc_exp 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.

The shape of synaptic conductance is exponential.

Parameters:
 
C_m double - Capacity of the membrane in pF
t_ref double - Duration of refractory period in ms.
V_reset double - Reset value after a spike in mV.
E_L double - Leak reversal potential in mV.
g_L double - Leak conductance in nS.
I_e double - Constant external input current in pA.

Spike adaptation and firing intensity parameters:
q_stc vector of double - Values added to spike-triggered currents (stc)
after each spike emission in pA.
tau_stc vector of double - Time constants of stc variables in ms.
q_sfa vector of double - Values added to spike-frequency adaptation
(sfa) after each spike emission in mV.
tau_sfa vector of double - Time constants of sfa variables in ms.
Delta_V double - Stochasticity level in mV.
lambda_0 double - Stochastic intensity at firing threshold V_T in 1/s.
V_T_star double - Base threshold in mV.

Synaptic parameters
tau_syn double vector - Time constants of the synaptic conductance
in ms (same size as E_rev).
E_rev double vector - Reversal potentials in mV (same size as tau_syn).

Integration parameters
gsl_error_tol double - This parameter controls the admissible error of the
GSL integrator. Reduce it if NEST complains about
numerical instabilities.

Example:

neuron = nest.Create('gif_cond_exp_multisynapse',
params={'E_rev': [0.0, -85.0],
'tau_syn': [4.0, 8.0]})

spike = nest.Create('spike_generator', params={'spike_times':
np.array([10.0])})

delays = [1., 30.]
w = [1., 5.]
for syn in range(2):
nest.Connect(spike, neuron, syn_spec={'model': 'static_synapse',
'receptor_type': 1 + syn,
'weight': w[syn],
'delay': delays[syn]})
nest.Simulate(100.)


Require:
HAVE_GSL  
Receives:
SpikeEvent, CurrentEvent, DataLoggingRequest  

Sends:
SpikeEvent  

References:
 

[1] Mensi S, Naud R, Pozzorini C, Avermann M, Petersen CC, Gerstner W (2012)
Parameter extraction and classification of three cortical neuron types
reveals two distinct adaptation mechanisms. J. Neurophysiol., 107(6),
1756-1775.

[2] Pozzorini C, Mensi S, Hagens O, Naud R, Koch C, Gerstner W (2015)
Automated High-Throughput Characterization of Single Neurons by Means of
Simplified Spiking Models. PLoS Comput. Biol., 11(6), e1004275.

Author:
March 2016, Setareh  
SeeAlso: Source:
/home/graber/work-nest/nest-git/nest-simulator/models/gif_cond_exp_multisynapse.h