insert a membrane mechanism at a specific simulation time

The basics of how to develop, test, and use models.
Post Reply
menica
Posts: 71
Joined: Wed Sep 02, 2015 11:02 am

insert a membrane mechanism at a specific simulation time

Post by menica »

Hi!
I would like insert the N/K pump mechanism at a fixed time. This time should be equal to the delay at which I set the IClamp.
How I could do this?


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

Re: insert a membrane mechanism at a specific simulation tim

Post by ted »

It is possible to insert or uninsert mechanisms in the middle of a simulation, but that could easily cause problems. Instead, use events to change the pump's rate of action.

Looking back at my notes, I see a pump.mod that you sent me a few months ago. You need to revise pump.mod by adding a parameter that controls whether or not the pump has any effect. You can do this by inserting the declaration

Code: Select all

on = 1 (1) : pump is on by default
into the PARAMETER block and changing

Code: Select all

inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
in the BREAKPOINT block to

Code: Select all

: inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
inapump = on*ipumpmax*(1/(1 + pow(km/nai,n)))
These changes give pump a global parameter called "on" that you can use to turn the pump on or off.

Now recompile your mod files so these changes take effect.

Next insert the following code into your hoc program after model setup is complete but before you call run():

Code: Select all

TON = 3*PI // or whatever time at which you want to turn the pump on

objref controlpump() {
  on_pump = 0 // turn pump off at start of simulation
  cvode.event($1, "on_pump = 1") // launch an event that turns it on when t == $1
}

objref fih
fih = new FinitializeHandler(0, "controlpump(TON)") // turn pump off during initialization
  // and turn it on when t becomes >= TON
menica
Posts: 71
Joined: Wed Sep 02, 2015 11:02 am

Re: insert a membrane mechanism at a specific simulation tim

Post by menica »

Dear Ted,
thanks for the suggestion.

It works but I am afraid, as you wrote, that it could easly cause problems when insterted in a more complex model (as I am planning).
I could change the pump's rate before the spike arrives, make it smaller before the spike, but also this sounds to me a trick that would not works properly in a more complex model.
I know, the pump should always be active during the simulation time, and it is, but own to the stechiometry 3Na:2K it makes the membrane potential more negative during simulation time even if no current clamp is inserted.
I need to avoid this in my model. The only way to achive this could be modifying the pump mecanism in a way that it starts to pump more only when the Na concentraion change inside (and maybe also the K concentraion change outside) reach a critical value.

In my model I have a presynaptic compartment in which I inserted a current clamp. This is connected to the postsynapic compartment by means a ExpSyn.
What happens when a signal arrives in the postsyn comp:
1. sodium ligand-gated channel opens allowing influx of Na ions (I dodn't include these channel in my model yet)
2. the concentration of Na ions starts to grow making the neuron potential more positive
3. the neuron potential reaches a threshold values (-55) that opens the voltage gated Na channel (I inserted the hh mechanism with gl_hh=0, because I dont' want to consider the leak current at the moment)
4. the Na concentration starts to massively grow until ..
5. the voltage gated na channel closes and passive potassium channel opens allowing the outflux of K ions helping to make the intenral potential more negative (I didn' insert a passive K channel but I am using the active potassium channel in the hh mechanism. A question here: should I just insert hh model without leakage or would be better insert a hh-Na channel and a leak K-channel?)

The pump is a mechanism that helps to restore the membrane potential to its rest-value and it is always active during the processes 2.3.4.5.
How could be possible change the pump mechanism in a way to make it sensible to the sodium concentration change inside the neuron? it should be always active but I should not see it pumping before the spikes arrive, in other words before the Na internal concentration starts to grow.

In the pump model from canavier, I have this expression of the pump:
inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
I find these model based on Micheal- menten model that reads also the potassium external concentration:
inapump = q10*ipumpmax*fnk/((1 + (Kmnai/nai)^1.5)*(1 + Kmko/ko))
Maybe would be better using the second model, but how change it in the way I explained before?
Could I consider the ipumpmax not anymore a constant but varying it before the spike and after or better find and expression to make it dependent from nai?
My experience with NMODL is quite poor.

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

Re: insert a membrane mechanism at a specific simulation tim

Post by ted »

This is altogether ad hoc and unconvincing. It would not fare well in public presentation or manuscript review. You might find it helpful to see how other modelers have formulated models that involve sodium accumulation. ModelDB has many models (including non-NEURON models) that might give you some new ideas for practical ways to deal with sodium accumulation.
menica
Posts: 71
Joined: Wed Sep 02, 2015 11:02 am

Re: insert a membrane mechanism at a specific simulation tim

Post by menica »

Dear Ted,
yes I agree. I know that it is not physiological.
What do you mean with:
[/quote]use events to change the pump's rate of action?


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

Re: insert a membrane mechanism at a specific simulation tim

Post by ted »

See the Hot Topics part of the Forum. Look for. "How to change".

While you're there, browse through the other topics.
Post Reply