Trigger on voltage

Anything that doesn't fit elsewhere.
Post Reply
Wosen

Trigger on voltage

Post by Wosen »

Hi, is there a way to trigger an event on the voltage crossing a threshold and can I link a procedure to the event where I reset the model to its resting state? In the event procedure I would like to reset sodium mechanisms and voltage to some predefined state but not the current clamp mechanism (in case it is only possible to reset all mechanisms I will find a workaround for the latter condition, so that is less important).

I ask this because I have reduced a complex to a simple model that cannot produce a full blown spike, hence, loosely speaking, I would like a spike generation mechanism similar to the one of an integrate-and-fire model.

Thanks for every help!

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

Re: Trigger on voltage

Post by ted »

If your model cell can generate even a low amplitude spike, you don't have to do anything special--just make sure that any NetCon that uses your cell as a "presynaptic neuron" has its threshold parameter set to an appropriate value.

If your model cell can't make any spikes at all, get spikeout.mod from https://senselab.med.yale.edu/modeldb/S ... URON\coba\. Attach an instance of the SpikeOut class to the soma of your model cell, and set its
--thresh parameter to the value that you want to call "spike threshold"
--refrac parameter to the "spike duration" that you want
--vrefrac to the membrane potential that you want your cell to have at the end of a spike
--grefrac to a value large enough that the cell's membrane potential is "sufficiently close" to vrefrac at the end of a spike

Then use the SpikeOut instance as an "event source" for NetCons, just as if it were an artificial spiking cell.
Wosen

Re: Trigger on voltage

Post by Wosen »

Thanks for your reply Ted!

I will try the approach with spikeout.mod.

Best regards,
David
Wosen

Re: Trigger on voltage

Post by Wosen »

Hello Ted,

I have tried to implement a NetCon to do what I need based on what I have seen in the spikeout.mod which was your suggestion.

I have the following issue:
My cell model geometry is ball and stick. I set the NetCon at the beginning of the axon close to the soma at about 0.03. In the NET_RECEIVE block I reset the voltage to its resting state value. And here comes the problem: I need to reset the voltage of the entire cell to the resting state value not only at the position of the mechanism in which I have the NET_RECEIVE block. Do you have a suggestion how to do that? Currently I just reset the voltage at the position I put the mechanism.
I would be very grateful!

Here is (hopefully only) the relevant parts, of the mechanism, especially the NET_RECEIVE block:

Code: Select all

NEURON {
        POINT_PROCESS sodium_trigger
        USEION na READ ena WRITE ina
        RANGE gnabar, gna, ena
        GLOBAL minf, mtau, v1_2, v_resting
}

PARAMETER {
        gnabar = 0.00215  (S)  <0,1e9> 
        v1_2 = -40 (mV)
        v_resting = -75 (mV)
        mtau = 0.1 (ms) 
        ena = 60 (mV)
}

NET_RECEIVE (w) {
        v = v_resting
        m = 1 / (1 + exp((v1_2 - v_resting)/6))                                                                                                                                   
}
And the relevant part of my hoc code reads:

Code: Select all

access axon

sodiumchan = new sodium_trigger(0.03)
APgen = new NetCon(&v(0.03), sodiumchan,-40,1,0)
Thanks a lot in advance!
Very best regards,
David
Wosen

Re: Trigger on voltage

Post by Wosen »

Dear Ted,

as I defined a partial workaround to the previously stated question, my issue now reduces to the following question:

Can I set the voltage of the entire multi-compartment cell model to a defined value without resetting the whole simulation (finitialize(v))? Is there another (more efficient) way apart from looping over all segments of all sections and setting v to some value?

Thank you for your help,
David
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Trigger on voltage

Post by ted »

Actually you don't want to finitialize(v). That will reset time to 0, force all state variables to their steady state values for whatever the numerical argument of finitialize() is (or to whatever the local potential is, if finitialize() has no argument), reset all Graphs and Vectors to which data are recorded, reset all signal sources including voltage and current clamps, and all artificial spiking cells. Basically a disaster. Your only option is to iterate over all sections whose v is to be reset, and force their potentials to the value you want. If you are using adaptive integration, you must follow that by calling cvode.re_init()

But I don't understand why you'd want to do this anyway. The whole point of having a dendrite is to introduce membrane that is not isopotential with the spike trigger zone. It has been a decade at least since it was demonstrated that somatic spikes do not suck all synaptic charge out of the dendrites of real cells or reset membrane potential to ek or resting level (sorry, I don't recall the authors but I think that was published in Science). And years before that it was known that backpropagating spikes spread decrementally into dendrites, often dying out over relatively short distances. So why reset the whole dendrite after a somatic spike?
Wosen

Re: Trigger on voltage

Post by Wosen »

Dear Ted,

I had solved the problem exatly as you proposed by resetting voltage by looping over the variable and it works nicely (no trouble with computation time).

Concerning your remark:
ted wrote:But I don't understand why you'd want to do this anyway. The whole point of having a dendrite is to introduce membrane that is not isopotential with the spike trigger zone. It has been a decade at least since it was demonstrated that somatic spikes do not suck all synaptic charge out of the dendrites of real cells or reset membrane potential to ek or resting level (sorry, I don't recall the authors but I think that was published in Science). And years before that it was known that backpropagating spikes spread decrementally into dendrites, often dying out over relatively short distances. So why reset the whole dendrite after a somatic spike?
Surely you are right with your remarks and the simple answer is that we do not have any dendritic tree in our model cell. It is just soma and axon, ball and stick, hence a leaky integrate and fire neuron that is not a point neuron and has somewhat more realistic sodium currents.

Best regards,
David
Post Reply