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 »

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: 6286
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 »

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 »

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.
eho
Posts: 2
Joined: Tue Jan 18, 2022 7:18 pm

Re: Adding delay to a graded synapse model

Post by eho »

Hi all,

I stumbled upon this thread because I am currently thinking of doing a delayed graded synapse model on NEURON/NetPyNE myself. I am intrigued about the implementation of an FIFO queue on NEURON. Is there any example NEURON code or instruction that someone can recommend as a starting point for my research on this topic? Thanks again!
ted
Site Admin
Posts: 6286
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 »

For synaptic transmission, forget FIFO--unless you can point to a paper by experimentalists that provides empirical evidence that supports the idea. Every step in synaptic transmission can be represented by one or more ODEs, or an equivalent Markov scheme (set of state transitions).
eho
Posts: 2
Joined: Tue Jan 18, 2022 7:18 pm

Re: Adding delay to a graded synapse model

Post by eho »

Thanks Ted!

I agree, every step in the synaptic transmission can be represented by ODEs, but in our case I believe the issue is the travelling electrical signal from the soma along the axon.

In a multi-compartment model, travelling electrical signals can also be modelled as cable equations. Unfortunately, the caveat is that our network model is based on single compartment neurons, so the time taken for electrical signals to travel along the axon is represented as a delay (conduction latency).

The conduction latency was easily handled in the event-based NetCon mechanism, but once we ditch event-based strategy in favour of a graded mechanism, we need to accommodate the conduction latency in some manner. What would be your suggestion then? Thanks again!
ted
Site Admin
Posts: 6286
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 »

You have to come up with a way to represent the time course of the presynaptic variable that governs transmitter release. If your presynaptic model cell is a single compartment, you can't just use a copy of its membrane potential, because that will include not only spikes but also subthreshold fluctuations (epsps, ipsps, and whatever those do to v that falls short of a full blown spike). That's the big reason why a FIFO would be inappropriate. Presynaptic cai might be relatively immune to such fluctuations, but if your cell models don't already include calcium currents, accumulation, and transport mechanisms, you'll have to add them and then you'll have to adjust your model cells' parameters and your network's parameters to try to replicate the activity generated by your original network.

Here's an alternative that depends on the following assumptions:

1. presynaptic firing rate is never so high that the leading edge of one spike (or calcium transient) overlaps the trailing edge of the one before it.
2. the waveform of the spike (or calcium transient) in a presynaptic terminal has the same time course regardless of firing rate

Then you could implement a synaptic mechanism that responds to an event by generating a waveform that approximates the time course of presynaptic v or cai, and uses this waveform to control synaptic conductance. It should be possible to do this in such a way that a single instance of such a mechanism can handle multiple afferent streams, each of which has its own "synaptic strength".
Post Reply