COMMENT
Point process for generation of multiple step changes in synaptic conductance over time.
ENDCOMMENT
NEURON {
POINT_PROCESS StepSyn
RANGE del, dur
RANGE ip1, ip2, ip3, ip4, ip5
RANGE pon1, pon2, pon3, pon4, pon5
RANGE poff1, poff2, poff3, poff4, poff5
RANGE i0, s, g
:ELECTRODE_CURRENT i
NONSPECIFIC_CURRENT i
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(uS) = (microsiemens)
}
PARAMETER {
e=0 (mV)
del=0 (ms)
dur=10000 (ms)
ip1=0.6 (uS) <0,1e9>
ip2=-0.32 (uS) <0,1e9>
ip3=0.07 (uS) <0,1e9>
ip4=0.15 (uS) <0,1e9>
ip5=-0.37 (uS) <0,1e9>
pon1=1000 (ms)
pon2=3000 (ms)
pon3=5000 (ms)
pon4=7000 (ms)
pon5=9000 (ms)
poff1=1200 (ms)
poff2=3200 (ms)
poff3=9000 (ms)
poff4=7200 (ms)
poff5=9200 (ms)
i0=6.5 (uS) <0,1e9>
s=17
}
ASSIGNED {
v (mV)
i (nA)
g (uS)
}
BREAKPOINT {
at_time(del)
at_time(del + dur)
g = i0 + s*((heav(poff1-t)*heav(t-pon1)*ip1) + (heav(poff2-t)*heav(t-pon2)*ip2) + (heav(poff3-t)*heav(t-pon3)*ip3) + (heav(poff4-t)*heav(t-pon4)*ip4) + (heav(poff5-t)*heav(t-pon5)*ip5))
i = g*(v - e)
}
FUNCTION heav (x) {
if (x < 0) {heav = 0}
else {heav = 1}
}