COMMENT
rampsyn.mod
for use with expsyn.mod to make a Traub-like NMDA receptor
Tom Morse, Michael Hines
ENDCOMMENT
NEURON {
POINT_PROCESS RampSyn
RANGE time_interval, e, i, weight, saturation_fact, k
NONSPECIFIC_CURRENT i
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(uS) = (microsiemens)
}
PARAMETER {
time_interval = 5 (ms) <1e-9,1e9>
e = 0 (mV)
weight = 2.5e-5 (uS) : example conductance scale from Traub 2005 et al
: gNMDA_suppyrRS_to_suppyrRS (double check units)
saturation_fact=1e10 (1) :80e0 (1) : this saturation factor is multiplied into
: the conductance scale, weight, for testing against the
: instantaneous conductance, to see if it should be limited.
}
ASSIGNED {
v (mV)
i (nA)
k (uS/ms)
}
STATE {
g (uS)
}
INITIAL {
g=0
k=0
}
BREAKPOINT {
SOLVE state METHOD cnexp
if (g > saturation_fact * weight) { g = saturation_fact * weight }
i = g*(v - e)
}
DERIVATIVE state {
g' = k
}
NET_RECEIVE(weight (uS)) {
if (flag>=1) {
: self event arrived, terminate ramp
k = k - weight/time_interval
g = g - weight
} else {
: stimulus arrived, make or continue ramp
net_send(time_interval, 1) : self event to terminate ramp
k = k + weight/time_interval
}
}