Hi,
I was wondering what the best way would be to calculate the time delay betwean a spike arriving at the synapse of a dendrite and the time it arrives at the soma. I have to do this for all 5000 synapses I have to obtain a full delay population of all the synapses.
Thanks
Measuring Spike delay
-
- Site Admin
- Posts: 6394
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Measuring Spike delay
Let's work thorough this in a stepwise manner.
Start small. Imagine how you would do this for a single synaptic input. If you're an
experimentalist, design a protocol that you would follow if this were a real cell. Be very
explicit about operational definitions. For example, in the phrase "the time it arrives at the
soma," just what does "it" mean?
Awaiting your reply . . .
Start small. Imagine how you would do this for a single synaptic input. If you're an
experimentalist, design a protocol that you would follow if this were a real cell. Be very
explicit about operational definitions. For example, in the phrase "the time it arrives at the
soma," just what does "it" mean?
Awaiting your reply . . .
Measuring Spike delay
Hi Ted,
I agree that my explantion is very vague to say the least.
What I want to do is the following:
Take one synapse located on a certain dendrite. At a certain point in time I pass a spike into the synapse and I want to see how long it takes for the spike to travel through the dendrite and arrive in the soma. I want to have a timer in the soma that can tell me when this event happens, so that I can calculate the difference between the time the spike was induced at the synapse and the time the spike arrived in the soma.
Does this description make more sense? I am sorry if my definitions are wrong, I am a software engineering student and have always the urge to abstract mechanisms.
I agree that my explantion is very vague to say the least.
What I want to do is the following:
Take one synapse located on a certain dendrite. At a certain point in time I pass a spike into the synapse and I want to see how long it takes for the spike to travel through the dendrite and arrive in the soma. I want to have a timer in the soma that can tell me when this event happens, so that I can calculate the difference between the time the spike was induced at the synapse and the time the spike arrived in the soma.
Does this description make more sense? I am sorry if my definitions are wrong, I am a software engineering student and have always the urge to abstract mechanisms.
-
- Site Admin
- Posts: 6394
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Measuring Spike delay
No need be sorry, and you weren't being vague--I'm just trying to help you be precise
in a way that makes it easy to map your question onto a model. I have found that most
experimentalists can think more clearly about computational modeling if they first
think in familiar terms, i.e. start by designing a wet-lab experiment. But now that I
know your background, we can cut to the chase.
Activating a single presynaptic terminal generally doesn't trigger a spike in the
postsynaptic cell. Even if it did, you're still dealing with analog signals, which have
a finite rate of rise and a finite peak amplitude. Given that the postsynaptic response
has a gradual onset, it's up to you to decide "when" it starts.
So the first question is: what is your operational definition of "when" the response at
the soma occurs? To help you get started, here are a couple of alternatives:
--at the peak of the somatic response
--at the X% amplitude point on the rising phase of the somatic response, where
0 < X < 100% (e.g. 50%)
--at some fixed amplitude on the rising phase (typically some multiple of a background
noise level, e.g. 2 x peak background noise).
If you are collaboratiing with an experimentalist, you might ask that person which of
these definitions he or she prefers. Since noise makes it difficult to be sure about the
exact time at which an experimentally measured waveform reaches its peak, I'd bet
that an experimentalist would choose the 2nd or 3rd definition. A theoretician might
prefer the first definition, because to a reasonably good first approximation it's the
peak amplitude of an epsp that governs its efficacy as a trigger for postsynaptic
spiking.
Another question for you: arrival of a spike at the presynaptic terminal does not produce
an immediate change in membrane potential at the postsynaptic location. So the total
latency
t_event_at_soma - t_spike_at_presynaptic_terminal
contains two components--a synaptic latency (delay between the spike at the
presynaptic terminal and the local postsynaptic response) and a location-dependent
latency in the postsynaptic cell (how long it takes for the soma to feel the effect of a
voltage change at a dendritic location). Are you interested in measuring these two
components?
in a way that makes it easy to map your question onto a model. I have found that most
experimentalists can think more clearly about computational modeling if they first
think in familiar terms, i.e. start by designing a wet-lab experiment. But now that I
know your background, we can cut to the chase.
Activating a single presynaptic terminal generally doesn't trigger a spike in the
postsynaptic cell. Even if it did, you're still dealing with analog signals, which have
a finite rate of rise and a finite peak amplitude. Given that the postsynaptic response
has a gradual onset, it's up to you to decide "when" it starts.
So the first question is: what is your operational definition of "when" the response at
the soma occurs? To help you get started, here are a couple of alternatives:
--at the peak of the somatic response
--at the X% amplitude point on the rising phase of the somatic response, where
0 < X < 100% (e.g. 50%)
--at some fixed amplitude on the rising phase (typically some multiple of a background
noise level, e.g. 2 x peak background noise).
If you are collaboratiing with an experimentalist, you might ask that person which of
these definitions he or she prefers. Since noise makes it difficult to be sure about the
exact time at which an experimentally measured waveform reaches its peak, I'd bet
that an experimentalist would choose the 2nd or 3rd definition. A theoretician might
prefer the first definition, because to a reasonably good first approximation it's the
peak amplitude of an epsp that governs its efficacy as a trigger for postsynaptic
spiking.
Another question for you: arrival of a spike at the presynaptic terminal does not produce
an immediate change in membrane potential at the postsynaptic location. So the total
latency
t_event_at_soma - t_spike_at_presynaptic_terminal
contains two components--a synaptic latency (delay between the spike at the
presynaptic terminal and the local postsynaptic response) and a location-dependent
latency in the postsynaptic cell (how long it takes for the soma to feel the effect of a
voltage change at a dendritic location). Are you interested in measuring these two
components?
Re: Measuring Spike delay
Ah yes, I understand the questions you raised about solving my problem. Thank you for your time to help me with my problem!
As for the first question, any %change in voltage at the soma will do I believe. As for the second question I am only interested in the location-dependent latency in the postsynaptic cell.
To understand why this is so, I want to explain you why I am curious about measuring the delay timings. Recent research has indicated (Bennuci et al.) that when an L5 pyramidal neuron is bombarded with weakly correlated inputs the subthreshold membrane potential assumes a bistable distribution (up and down states). Bennuci has shown in his research that this bistability is caused by the morphology of the basal dentritic tree of the L5 pyramid.
I want to simplify this model, and try to mimic the basal tree dynamics by capturing the delay caused by the dendrites of the basal tree. Once I have the distribution of the delays per synapse (the delay the input takes to travel to the soma), I can modify every input that comes into these synapses with their previousely calculated delay. I want to test if I can reproduce bistability in a point neuron model then.
Hope this makes sense!
As for the first question, any %change in voltage at the soma will do I believe. As for the second question I am only interested in the location-dependent latency in the postsynaptic cell.
To understand why this is so, I want to explain you why I am curious about measuring the delay timings. Recent research has indicated (Bennuci et al.) that when an L5 pyramidal neuron is bombarded with weakly correlated inputs the subthreshold membrane potential assumes a bistable distribution (up and down states). Bennuci has shown in his research that this bistability is caused by the morphology of the basal dentritic tree of the L5 pyramid.
I want to simplify this model, and try to mimic the basal tree dynamics by capturing the delay caused by the dendrites of the basal tree. Once I have the distribution of the delays per synapse (the delay the input takes to travel to the soma), I can modify every input that comes into these synapses with their previousely calculated delay. I want to test if I can reproduce bistability in a point neuron model then.
Hope this makes sense!
-
- Site Admin
- Posts: 6394
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Since the ultimate aim is to investigate a phenomenon that is produced by the summation
of a large number of inputs that are distributed in space and time, you may also want to
take into account the spatial variation of somatically observed amplitude and time course
(as distance from the soma increases, the same synapse produces smaller, wider
responses at the soma).
I should mention that, for excitatory synapses, the time course and amplitude of synaptic
current is relatively independent of synaptic location and subthreshold fluctuations of
membrane potential. Therefore, if the cell is operating in a region where its IV relationship
is relatively linear, the somatic voltage transient that is produced by an excitatory input
anywhere on the cell is given by the product of the synaptic current (which is location-
independent) and the transfer impedance between the soma and the synaptic location
(which does depend on location).
Back to your original question. Here's a code skeleton.
If you are only interested in latencies for nodes in a particular set of sections, append
the sections of interest to a SectionList and instead of
forall for (x) {
the iterator statement would be
forsec seclist for (x) {
This should get you on the right track. The above code may contain a typo or omit an
important delcaration. Also, I've left out some details, like how to make sure that you
have chosen an appropriate spatial grid, and how to determine what node in the model
corresponds to each element of delayvec, etc..
of a large number of inputs that are distributed in space and time, you may also want to
take into account the spatial variation of somatically observed amplitude and time course
(as distance from the soma increases, the same synapse produces smaller, wider
responses at the soma).
I should mention that, for excitatory synapses, the time course and amplitude of synaptic
current is relatively independent of synaptic location and subthreshold fluctuations of
membrane potential. Therefore, if the cell is operating in a region where its IV relationship
is relatively linear, the somatic voltage transient that is produced by an excitatory input
anywhere on the cell is given by the product of the synaptic current (which is location-
independent) and the transfer impedance between the soma and the synaptic location
(which does depend on location).
Back to your original question. Here's a code skeleton.
Code: Select all
// specification of model cell
// topology, geometry, and biophysical properties
create etc.
access soma
. . . etc. . . .
// synaptic mechanism and source of afferent spike "train"
TPRE = 1 // let 1 ms elapse before stimulating the synapse
// so that figures demonstrate a stable baseline
objref precell, nc, syn
syn = new ExpSyn(0.5) // for AMPAergic, Exp2Syn for GABAergic
. . . assign appropriate time constant(s) and reversal potential . . .
pre = new NetStim(0.5)
pre.number = 1
pre.start = TPRE
nc = new NetCon(pre, syn)
// instrumentation
// record v at soma and synaptic locus to a pair of Vectors
// also record time
objref vsoma, vsyn, tvec
vsoma = new Vector()
vsoma.record(&v(0.5), tvec)
objref delayvec
delayvec = new Vector()
// call in the context of a currently accessed section
// with 1 arg that specifies node location
proc putsyn() {
syn.loc($1) // places the synapse
// we also must record v at the new location
vsyn.record(&v($1))
}
// analysis code
PCT = 50 // percent of peak response that you are using to mark the
// "time at which the voltage response occurs"
func latency() { local tsoma, tsyn, i
vsyn.sub(v_init) // eliminate DC baseline
vsoma.sub(v_init)
/* Assuming the synapses are excitatory--
Use Vector class's max() to find vmax, the peak value in vsyn
Then use Vector class's indwhere() to discover the index i of the element of vsyn
which is >= vmax * PCT/100
Then tsyn = tvec.x[i]
Use same strategy to analyze vsoma in order to determine tsoma
*/
return (tsoma-tsyn)
}
// control code
proc batch() {
delayvec = new Vector()
forall for (x) {
putsyn(x)
run()
delayvec.append(latency())
}
}
the sections of interest to a SectionList and instead of
forall for (x) {
the iterator statement would be
forsec seclist for (x) {
This should get you on the right track. The above code may contain a typo or omit an
important delcaration. Also, I've left out some details, like how to make sure that you
have chosen an appropriate spatial grid, and how to determine what node in the model
corresponds to each element of delayvec, etc..