Adding delay to a graded synapse model

NMODL and the Channel Builder.
Post Reply
subhacom
Posts: 2
Joined: Fri Oct 04, 2019 12:07 pm

Adding delay to a graded synapse model

Post by subhacom » Mon Oct 07, 2019 11:04 am

I am trying to implement a graded synapse with a delay, so that the conductance is computed at every timestep using the presynaptic voltage from `delay` time ago.
My first thought was to add a `NET_RECEIVE` block to the graded synapse mechanism and then use a NetCon with delay to transfer voltage from the presynaptic compartment, and set the NetCon threshold very low. But I am not sure if NetCon stores the source voltage at threshold crossing, and if so how to access that. NetCon documentation says `NetCon.x` is a reference to the source variable, so my understanding is that this provides access to `x` at current time, not at the time of threshold crossing. All the examples I could find show something along the line of passing parameters as weights to `NET_RECEIVE` block, which is often set explicitly.

So my questions are:
  • Is there a simple way to access the NetCon source variable in a NET_RECEIVE block that I am missing?
  • Since the NetCon with presynaptic voltage always above threshold will be sending events at every time step, will it add serious performance overhead?
  • I also thought of buffering the past values of the presynaptic voltage in a FIFO queue, but that will likely be more complicated than just accessing the value in NetCon.
  • Instead of implementing my own FIFO queue, putting self-events with the current presynaptic voltage as a parameter into the event queue is another possibility. But again, I wonder if this will be a performance issue?
  • Is there a better alternative that I am missing?
The current version of this mechanism:

Code: Select all

: Graded synaptic transmission based on presynaptic  depolarization
: This is after the model in Manor, et al., JNeurosci., 1997
NEURON {
    POINT_PROCESS GradedSyn
    POINTER vpre
    RANGE e, g, i, gbar, vmid, vslope, tau, sinf
    NONSPECIFIC_CURRENT i
}
UNITS {
    (nA) = (nanoamp)
    (mV) = (millivolt)
    (uS) = (microsiemens)
}

PARAMETER {
    e = -80 (mV)  : Reversal potential
    vslope = 5.0  (mV)  : slope
    vmid = -40  (mV)    : midpoint for sigmoid
    gbar = 0.0  (uS)
    tau = 4.0  (ms)
}

ASSIGNED {
    v (mV)
    vpre  (mV)  : presynaptic Vm
    g  (uS)
    i  (nA)
    sinf
}

STATE {
    s
}

BREAKPOINT {
    SOLVE states METHOD cnexp
    g = gbar * s
    i = g * (v - e)
}

INITIAL {
    s = 0.0
}

DERIVATIVE states {
    sinf = 1 / (1 + exp((vmid - vpre) / vslope))
    s' = (sinf - s) / tau
}

ted
Site Admin
Posts: 5633
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Adding delay to a graded synapse model

Post by ted » Mon Oct 07, 2019 11:58 am

Forget about NetCon. A NetCon is just a threshold detector that places an event in a queue when a monitored variable crosses a threshold in a positive-going direction. Period. You're stuck with FIFO.

Be prepared to explain to a reviewer what plausible physical mechanism would account for a fixed time delay between a presynaptic signal and its effect on a postsynaptic cell.

subhacom
Posts: 2
Joined: Fri Oct 04, 2019 12:07 pm

Re: Adding delay to a graded synapse model

Post by subhacom » Mon Oct 07, 2019 1:36 pm

In fact, it was a reviewer who asked for the effect of such delay on network synchronization. I can think of neurotransmitter release, diffusion, and channel opening events contributing to the delay (although I am not sure if the physiological mechanism of graded synaptic transmission is experimentally established). Also, I am collapsing the post synaptic neuron into a single compartment. A concern could be that in vivo, the effect in the dendritic terminal would take some time to travel to the spike initiation zone, and this might vary the time of spike in the post-synaptic neurons.

Post Reply