-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSynNMDA16_2.mod
250 lines (213 loc) · 6.95 KB
/
SynNMDA16_2.mod
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
TITLE Voltage-dependent kinetic model of NMDA receptor
COMMENT
This is an especial version of our model in which model would reset itself
after 590 ms from the start of simulation
some of its rate constants are re-estimated by cure fitting --> CA1 pyramidal cells
Mg-block rate is similar to the NMDA10_2 model because we do not want to model
a Cs++ containing internal solution
-----------------------------------------------------------------------------
Kinetic model of NMDA receptors
===============================
16-state gating model:
Clarke and Johnson, 2008
RA2d1 RA2d1Mg
| - RA2f - - RA2fMg - |
R -- RA -- RA2 =< >= RA2O -- RA2OMg =< >= RA2Mg -- RAMg -- RMg
| - RA2s - - RA2sMg - |
RA2d2 RA2d2Mg
-----------------------------------------------------------------------------
Based on voltage-clamp recordings of NMDA receptor-mediated currents in
nucleated patches of rat layer II/III cortical pyramidal cells
in the occipital cortex (Clarke and Johnson, 2008),
this model was originally fitted with Matlab to experimental recordings in
order to obtain the optimal values for the parameters.
-----------------------------------------------------------------------------
Release process modeled with an internal alpha function in order to make it compatible
with NetCon onbject, and therefore does not require an external release mechanism.
-----------------------------------------------------------------------------
Unit of g is in uS to make the synaptic weights compatible with
NEURON's internal methods of modeling synapses (e.x. exp2syn)
for more information see the chapter 10 of the neuron book
This mod file is written by Keivan Moradi 2012
-----------------------------------------------------------------------------
ENDCOMMENT
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
NEURON {
POINT_PROCESS NMDA16_2
USEION na READ nao
RANGE T_max, T, tau, tRel, Erev, synon
RANGE R,RA,RA2,RA2d1,RA2d2,RA2f,RA2s,O,OMg,RMg,RAMg,RA2Mg,RA2d1Mg,RA2d2Mg,RA2fMg,RA2sMg
RANGE g, kd1F, kd1B, kd2F, kd2B, csi
GLOBAL Kcs, kP, kNo, kNi, kMgF, kMgB, ksF, ksB, kfF, kfB
NONSPECIFIC_CURRENT i
THREADSAFE
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(pS) = (picosiemens)
(uS) = (microsiemens)
(umho) = (micromho)
(mM) = (milli/liter)
(uM) = (micro/liter)
}
PARAMETER {
Erev = -0.7 (mV) : reversal potential
gmax = 50 (pS) : maximal conductance Johnson & Ascher, 1990
Mg = 1 (mM) : external magnesium concentration
: alpha function formalism
tau = .3 (ms) <1e-9,1e9>
T_max = 1.5 (mM) : maximum concentration of neurotransmitter
: Rates
kon = 2.83 (/ms /mM)
koff = 38.1e-3 (/ms)
: voltage dependent rates
ksF0 = 48e-3 (/ms)
ksB0 = 230e-3 (/ms)
kfF0 = 2836e-3 (/ms)
kfB0 = 175e-3 (/ms) :
Vdep = 175 (mV) : sensitivity to membrane voltage
V0 = -100 (mV) : the membrane voltage with no voltage-dependetn component
: kd1F, kd1B, kd2F and kd2B should be found with optimization method since
: NMDAR in different regions of the brain have different time course
kd1F = 0.55 (/ms)
kd1B = 0.081 (/ms)
kd2F = 0.32319 (/ms)
kd2B = 0.00020977 (/ms)
: Parameters that control the Mg block as in Antonov99
Kna = 34.4 (mM)
Kcs0 = 0.27 (mM)
a = -21 (mV)
kP0 = 1.10e3 (/ms /mM)
b = -55 (mV)
kNo0 = 1.10e2 (/ms)
c = 52.7 (mV)
kNi0 = 61.8e-3 (/ms)
d = -50 (mV)
csi = 148 (mM) : internal Cs++ concentration (125 mM CsCl + 23 mM CsOH)
}
ASSIGNED {
v (mV) : postsynaptic voltage
i (nA) : current = g*(v - Erev)
g (uS) : conductance
T (mM) : neurotransmiter concentration in the cleft
tRel (ms) : spiking time of the presynaptic cell
synon : turns the synapse on or Off
w : weight of synapse
: voltage-dependnent rates
ksF (/ms)
ksB (/ms)
kfF (/ms)
kfB (/ms)
: Mg-block and -unblock rates
kMgF (/ms /mM)
kMgB (/ms)
: Parameters that Mg-block and -unblock rates or the so called apparent-block and -unblock
Kcs (mM)
kP (/ms /mM)
kNo (/ms)
kNi (/ms)
nao (mM) : Na+ concentration outside the cell, its value should be assigned in the hoc section
}
STATE {
: Channel states (all fractions)
R
RA
RA2
RA2d1
RA2d2
RA2f
RA2s
O
OMg
RMg
RAMg
RA2Mg
RA2d1Mg
RA2d2Mg
RA2fMg
RA2sMg
}
INITIAL {
T = 0
synon = 0
tRel = 0
R = 1
rates(v,t)
net_send(590, 1)
}
BREAKPOINT {
SOLVE kstates METHOD sparse
g = w * gmax * O
i = g * (v - Erev)
}
KINETIC kstates {
rates(v,t)
: RA2d1 RA2d1Mg
: | - RA2f - - RA2fMg - |
: R -- RA -- RA2 =< >= O -- OMg =< >= RA2Mg -- RAMg -- RMg
: | - RA2s - - RA2sMg - |
: RA2d2 RA2d2Mg
~ R <-> RA ((2*kon*T),koff)
~ RA <-> RA2 ((kon*T),(2*koff))
~ RA2 <-> RA2d1 (kd1F,kd1B)
~ RA2 <-> RA2d2 (kd2F,kd2B)
~ RA2 <-> RA2f (kfF,kfB)
~ RA2 <-> RA2s (ksF,ksB)
~ RA2f <-> O (ksF,ksB)
~ RA2s <-> O (kfF,kfB)
~ O <-> OMg ((kMgF*Mg),kMgB)
~ OMg <-> RA2fMg (ksB,ksF)
~ OMg <-> RA2sMg (kfB,kfF)
~ RA2fMg <-> RA2Mg (kfB,kfF)
~ RA2sMg <-> RA2Mg (ksB,ksF)
~ RA2Mg <-> RA2d1Mg (kd1B,kd1F)
~ RA2Mg <-> RA2d2Mg (kd2B,kd2F)
~ RA2Mg <-> RAMg ((2*koff),(kon*T))
~ RAMg <-> RMg (koff,(2*kon*T))
CONSERVE R+RA+RA2+RA2d1+RA2d2+RA2f+RA2s+O+OMg+RMg+RAMg+RA2Mg+RA2d1Mg+RA2d2Mg+RA2fMg+RA2sMg = 1
}
NET_RECEIVE(weight) {
if (flag == 0) {
tRel = t : resets the alpha function
synon = 1 : turns the synapse on.
: The alpha function does not require to turn off the synase
w = weight
}
if (flag == 1) {
: this reseting part is temporarily used to fit both recordings at the same time
R = 1
RA = 0
RA2 = 0
RA2d1 = 0
RA2d2 = 0
RA2f = 0
RA2s = 0
O = 0
OMg = 0
RMg = 0
RAMg = 0
RA2Mg = 0
RA2d1Mg = 0
RA2d2Mg = 0
RA2fMg = 0
RA2sMg = 0
}
}
PROCEDURE rates(v (mV), t(ms)) {
T = T_max * (t - tRel) / tau * exp(1 - (t - tRel) / tau) * synon
: Mg block mechanism similar to Clarke & Johnson, 2008
: Kcs = Kcs0 * exp(v/a)
: kP = kP0 * exp(v/b)
: kNo = kNo0 * exp(v/c)
: kNi = kNi0 * exp(v/d)
: kMgF = kP / ((1 + nao/Kna) * (1 + nao/Kna + csi/Kcs))
: kMgB = kNo / (1 + nao/Kna)^2 + kNi
: Mg block mechanism similar to Vargas-Caballero & Robinson, 2004
kMgF = 610e-3 * exp(1 (/mV) * -v / 17) * 1 (/mM /ms) : Magnesium Blocking
kMgB = 5400e-3 * exp(1 (/mV) * v / 47) * 1 (/ms) : Magnesium Unblocking
ksF = ksF0 * exp((v - V0) / Vdep)
ksB = ksB0 * exp((v - V0) / Vdep * (-1))
kfF = kfF0 * exp((v - V0) / Vdep)
kfB = kfB0 * exp((v - V0) / Vdep * (-1))
}