OJAG wrote:my channels code, taken from the standard modeldb database
ModelDB is "standard" only in the sense that the code in it is supposed to be either
(1) the code that the authors of a modeling paper used for the results they presented in
that paper, or
(2) the code that the authors (or a "reliable somebody else") say is their best
approximation to the code they used to generate those results.
the code I am using
is almost identical to listing 10.5 on pages 285-287 of
The NEURON Book. The only substantive difference is that the code you cite contains
a new parameter g that is just a scale factor that is applied to the syanptic conductance.
This is an implementation of saturating synaptic transmission, based on earlier work by
Destexhe, A., Mainen, Z.F., and Sejnowski, T.J.
An efficient method for computing synaptic conductances based on a kinetic model
of receptor binding. Neural Computation 6:14-18, 1994
and
Lytton, W.W.
Optimizing synaptic conductance calculation for network simulations.
Neural Computation 8:501-509, 1996
Those papers, which I believe are now freely available on the WWW, describe the
strategies that are implemented in this code, but here is a brief discussion.
The conceptual model that underlies this computational implementation is:
1. transmitter effect on postsynaptic channels can be represented by
C + T <--> O
where the forward rate is alpha and backward rate is beta
2. C and O are the fractions of channels that are in the closed and open states, respectively,
i.e. C = # closed channels / total # channels, O = 1 - C
3. T is the transmitter concentration, which is 0 until the synapse is activated, at which
time it becomes 1 for a fixed time duration (ordinarily 1 ms). Furthermore, transmitter is
present in excess so binding to closed channels does not affect the concentration of
transmitter in the synaptic cleft.
Arrival of a synaptic event at a resting synapse makes O rise with a monoexponential
time course (rising phase time constant = 1/(alpha + beta)) toward a steady state value
alpha/(alpha + beta)--but it never gets there, because T drops back to 0 after just 1 ms,
so O falls back toward 0 with a monoexponential time course (falling phase time consant
= 1/beta).
Synaptic weight scales the conductance produced by this synaptic mechanism. With the
NMODL code you are using, a single synaptic event with weight = 1 produces a peak
conductance of ~6.18 picosiemens. If you increase Cdur to 1e9 ("forever"), a single
synaptic event with weight = 1 produces a sustained conductance increase that
plateaus at about 8.53 picosiemens. Changing weight to 0.5 reduces these conductance
values by a factor of 2.
If multiple synapses with identical kinetics and reversal potential are electrically close to
each other, they can be treated as a "population" that is represented by a small number
of state variables governed by a single set of equations. Ron and Roff are the "population"
state variables that are used for this purpose in this model implementation. A little
"administrative" code is used to keep track of which synapses have transmitter in their
clefts, and which ones don't.