forked from nest/nestml
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathiaf_cond_exp_sfa_rr.nestml
113 lines (89 loc) · 4.16 KB
/
iaf_cond_exp_sfa_rr.nestml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
"""
iaf_cond_exp_sfa_rr - Conductance based leaky integrate-and-fire model with spike-frequency adaptation and relative refractory mechanisms
#########################################################################################################################################
Description
+++++++++++
iaf_cond_exp_sfa_rr is an implementation of a spiking neuron using integrate-and-fire dynamics with conductance-based
synapses, with additional spike-frequency adaptation and relative refractory mechanisms as described in [2]_, page 166.
Incoming spike events induce a post-synaptic change of conductance modelled by an exponential function. The exponential
function is normalised such that an event of weight 1.0 results in a peak current of 1 nS.
Outgoing spike events induce a change of the adaptation and relative refractory conductances by q_sfa and q_rr,
respectively. Otherwise these conductances decay exponentially with time constants tau_sfa and tau_rr, respectively.
References
++++++++++
.. [1] Meffin H, Burkitt AN, Grayden DB (2004). An analytical
model for the large, fluctuating synaptic conductance state typical of
neocortical neurons in vivo. Journal of Computational Neuroscience,
16:159-175.
DOI: https://doi.org/10.1023/B:JCNS.0000014108.03012.81
.. [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
See also
++++++++
aeif_cond_alpha, aeif_cond_exp, iaf_chxk_2008
"""
neuron iaf_cond_exp_sfa_rr:
state:
r integer # counts number of tick during the refractory period
end
initial_values:
V_m mV = E_L # membrane potential
g_sfa nS = 0 nS # inputs from the sfa conductance
g_rr nS = 0 nS # inputs from the rr conductance
end
equations:
kernel g_in = exp(-t/tau_syn_in) # inputs from the inh conductance
kernel g_ex = exp(-t/tau_syn_ex) # inputs from the exc conductance
g_sfa' = -g_sfa / tau_sfa
g_rr' = -g_rr / tau_rr
inline I_syn_exc pA = convolve(g_ex, spikesExc) * ( V_m - E_ex )
inline I_syn_inh pA = convolve(g_in, spikesInh) * ( V_m - E_in )
inline I_L pA = g_L * ( V_m - E_L )
inline I_sfa pA = g_sfa * ( V_m - E_sfa )
inline I_rr pA = g_rr * ( V_m - E_rr )
V_m' = ( -I_L + I_e + I_stim - I_syn_exc - I_syn_inh - I_sfa - I_rr ) / C_m
end
parameters:
V_th mV = -57.0 mV # Threshold Potential
V_reset mV = -70.0 mV # Reset Potential
t_ref ms = 0.5 ms # Refractory period
g_L nS = 28.95 nS # Leak Conductance
C_m pF = 289.5 pF # Membrane Capacitance
E_ex mV = 0 mV # Excitatory reversal Potential
E_in mV = -75.0 mV # Inhibitory reversal Potential
E_L mV = -70.0 mV # Leak reversal Potential (aka resting potential)
tau_syn_ex ms = 1.5 ms # Synaptic Time Constant Excitatory Synapse
tau_syn_in ms = 10.0 ms # Synaptic Time Constant for Inhibitory Synapse
q_sfa nS = 14.48 nS # Outgoing spike activated quantal spike-frequency adaptation conductance increase
q_rr nS = 3214.0 nS # Outgoing spike activated quantal relative refractory conductance increase.
tau_sfa ms = 110.0 ms # Time constant of spike-frequency adaptation.
tau_rr ms = 1.97 ms # Time constant of the relative refractory mechanism.
E_sfa mV = -70.0 mV # spike-frequency adaptation conductance reversal potential
E_rr mV = -70.0 mV # relative refractory mechanism conductance reversal potential
# constant external input current
I_e pA = 0 pA
end
internals:
RefractoryCounts integer = steps(t_ref) # refractory time in steps
end
input:
spikesInh nS <- inhibitory spike
spikesExc nS <- excitatory spike
I_stim pA <- current
end
output: spike
update:
integrate_odes()
if r != 0: # neuron is absolute refractory
r = r - 1
V_m = V_reset # clamp potential
elif V_m >= V_th: # neuron is not absolute refractory
r = RefractoryCounts
V_m = V_reset # clamp potential
g_sfa += q_sfa
g_rr += q_rr
emit_spike()
end
end
end