:Shock to Pyramidal Cells AMPA+NMDA with local Ca2+ pool
NEURON {
POINT_PROCESS shock2pyrV
NONSPECIFIC_CURRENT inmda, iampa
RANGE initW
RANGE Cdur_nmda, AlphaTmax_nmda, Beta_nmda, Erev_nmda, gbar_nmda, W_nmda, on_nmda, g_nmda
RANGE Cdur_ampa, AlphaTmax_ampa, Beta_ampa, Erev_ampa, gbar_ampa, W_ampa, on_ampa, g_ampa
RANGE pregid,postgid
}
UNITS {
(mV) = (millivolt)
(nA) = (nanoamp)
(uS) = (microsiemens)
}
PARAMETER {
initW = 9 : 14 : 9 : 6 : 25 : 20
Cdur_nmda = 16.7650 (ms)
AlphaTmax_nmda = .2659 (/ms)
Beta_nmda = 0.008 (/ms)
Erev_nmda = 0 (mV)
gbar_nmda = .5e-3 (uS)
Cdur_ampa = 1.4210 (ms)
AlphaTmax_ampa = 3.8142 (/ms)
Beta_ampa = 0.1429 (/ms)
Erev_ampa = 0 (mV)
gbar_ampa = 1e-3 (uS)
}
ASSIGNED {
v (mV)
inmda (nA)
g_nmda (uS)
on_nmda
W_nmda
iampa (nA)
g_ampa (uS)
on_ampa
W_ampa
t0 (ms)
pregid
postgid
}
STATE { r_nmda r_ampa }
INITIAL {
on_nmda = 0
r_nmda = 0
W_nmda = initW
on_ampa = 0
r_ampa = 0
W_ampa = initW
t0 = -1
}
BREAKPOINT {
SOLVE release METHOD cnexp
}
DERIVATIVE release {
if (t0>0) {
if (t-t0 < Cdur_nmda) {
on_nmda = 1
} else {
on_nmda = 0
}
if (t-t0 < Cdur_ampa) {
on_ampa = 1
} else {
on_ampa = 0
}
}
r_nmda' = AlphaTmax_nmda*on_nmda*(1-r_nmda)-Beta_nmda*r_nmda
r_ampa' = AlphaTmax_ampa*on_ampa*(1-r_ampa)-Beta_ampa*r_ampa
g_nmda = gbar_nmda*r_nmda
inmda = W_nmda*g_nmda*(v - Erev_nmda)*sfunc(v)
g_ampa = gbar_ampa*r_ampa
iampa = W_ampa*g_ampa*(v - Erev_ampa)
}
NET_RECEIVE(dummy_weight) {
t0 = t
}
:::::::::::: FUNCTIONs and PROCEDUREs ::::::::::::
FUNCTION sfunc (v (mV)) {
UNITSOFF
sfunc = 1/(1+0.33*exp(-0.06*v))
UNITSON
}