instead ofg=g_bar*w,
is a correct assumption or not at all.g=g_bar+w
Could anybody give me some clues to clarify my concept?
instead ofg=g_bar*w,
is a correct assumption or not at all.g=g_bar+w
While this is true for NEURON's built-in ExpSyn and Exp2Syn mechanisms, in general theThreshold, delay, and weight are optional; their defaults are shown here
. . .Code: Select all
netcon.weight = 0 // uS
Code: Select all
(..).append(new NetCon(&v(0), $synapse_name.object(i), thresh, delay, W))}}Code: Select all
NEURON {
POINT_PROCESS AMPA_S
RANGE g, g_eff
RANGE Cdur, Alpha, Beta, Erev, Rinf, Rtau
NONSPECIFIC_CURRENT i
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(uS) = (microsiemens)
}
PARAMETER {
Cdur = 1.0 (ms) : transmitter duration (rising phase)
Alpha = 1.1 (/ms) : forward (binding) rate
Beta = 0.19 (/ms) : backward (dissociation) rate
Erev = 0 (mV) : equilibrium potential
g = 1e-5 (uS) : conductance
}
ASSIGNED {
v (mV) : postsynaptic voltage
i (nA) : current = g*(v - Erev)
g_eff (uS) : conductance
Rtau (ms) : time constant of channel binding
Rinf : fraction of open channels if xmtr was present "forever"
synon : sum of weights of all synapses that are in the "onset" state
}
STATE { Ron Roff } : initialized to 0 by default
: Ron and Roff are the total conductances of all synapses
: that are in the "onset" (transmitter pulse ON)
: and "offset" (transmitter pulse OFF) states, respectively
INITIAL {
Rinf = Alpha / (Alpha + Beta)
Rtau = 1 / (Alpha + Beta)
synon = 0
}
BREAKPOINT {
SOLVE release METHOD cnexp
g_eff = g*(Ron + Roff)
i = g_eff*(v - Erev)
}
DERIVATIVE release {
Ron' = (synon*Rinf - Ron)/Rtau
Roff' = -Beta*Roff
}
NET_RECEIVE(weight, on, r0, t0 (ms)) {
: on == 1 if transmitter is present ("onset" state), otherwise 0
: flag is an implicit argument of NET_RECEIVE, normally 0
if (flag == 0) {
: a spike happened, so start onset state if not already in onset state
if (!on) {
: this synapse joins the set of synapses in the onset state
synon = synon + weight
r0 = r0*exp(-Beta*(t - t0)) : r0 at start of onset state
: r0 joins the "onset" conductance pool,
: which grows according to Ron' = ...
: and leaves the "offset" conductance pool,
: which decays according to Roff' = ...
Ron = Ron + r0
Roff = Roff - r0
t0 = t
on = 1
net_send(Cdur, 1)
} else {
: already in onset state, so move offset time
net_move(t+Cdur)
}
}
if (flag == 1) {
: "turn off transmitter"
: i.e. this synapse joins the set of synapses in the offset state
synon = synon - weight
: r0 at start of offset state
r0 = weight*Rinf + (r0 - weight*Rinf)*exp(-(t - t0)/Rtau)
: r0 leaves the "onset" conductance pool,
: and joins the "offset" conductance pool
Ron = Ron - r0
Roff = Roff + r0
t0 = t
on = 0
}
}ModelDB is "standard" only in the sense that the code in it is supposed to be eitherOJAG wrote:my channels code, taken from the standard modeldb database
is almost identical to listing 10.5 on pages 285-287 ofthe code I am using
To see the linear behavior you will have to keep the cell in voltage clamp, away from the reversal potential of the synapse. If you then look at the current through the synapse (or the clamp current) it should show the linear behavior you are looking for.OJAG wrote:with W values such as W=0.1 and W=1 the cell goes from one state of insensitivity to other one of apparent Hyper excitability, but not linearly as it was my initial hypotheses