Page 1 of 1

The best practice of Ca2+ pumps on the cell membrane implemented in RxD model

Posted: Wed Dec 18, 2019 7:10 am
by ziemek
Hi!

Ca2+ wave tutorial and Neymotin et al, 2015 model contain Cyt<->ER diffusion of Ca2+ through pumps implemented in RxD.

So I wonder what is the best practice to implement Ca2+ pumps on the cell membrane in RxD?

Should it be as well implemented in RxD, or it should based on ica current as it is in Graham et al. 2014 cad.mod file: https://senselab.med.yale.edu/modeldb/S ... mod#tabs-2

Thanks for your help!

Re: The best practice of Ca2+ pumps on the cell membrane implemented in RxD model

Posted: Wed Dec 18, 2019 1:12 pm
by adamjhn
That's a good question, both rxd and nmodl can be used to produce the same results e.g. Hodgkin Huxley model.

The advantage of rxd is the code for the calcium dynamics will be all in one place and using the same syntax.

The advantage of nmodl is that it allows you to record currents for the specific mechanism e.g. sec(0.5).cad.ica and it is probably faster.

If you already have the nmodl mechanisms, just use it with rxd for the intracellular modeling.

Re: The best practice of Ca2+ pumps on the cell membrane implemented in RxD model

Posted: Wed Dec 18, 2019 3:25 pm
by ziemek
Yes, that was my assumption - if I have any *.mod file - it would be easier.

But there are 3 things which worries me:

1. cad.mod computes cai for the inner shell (depth 0.1) defined in the mod. Since I created Ca2+ shells with RxD - they are defined as different objects - so i suppose their concentrations won't be update automatically cai from the mod?

3. In general - does RxD automatically computes Ca2+ molarity from the Ca2+ current on the membrane?

2. what is the general algorithm for execution together *.mod and RxD mechanisms which write to the same variable?
Since both cad.mod and RxD override cai - I'm worried about any "race condtion" which may happen.

Re: The best practice of Ca2+ pumps on the cell membrane implemented in RxD model

Posted: Fri Jan 03, 2020 9:45 am
by adamjhn
1] Yes, the shell in the mod file is independent of the shells in your rxd model. For your model to make sense you should make sure they are the same. The nmodl current are applied to the rxd region defined with nrn_region='i'.

2] There are race conditions, rxd has a copy of states e.g. cai, which is used to overwrite the NEURON state at the end of each timestep. This mean if a nmodl mechanisms makes changes to the state directly (rather than via a current), those changes will be lost.
For each time step the algorithm; first computes diffusion, then adds the contribution from nmodl mechanisms, then applies the rxd reactions and any specified node.include_flux. Finally the rxd copy of the state is written to the segment.cai used by nmodl mechanisms, overwriting any changes made directly by the mod files.
For your example of the cad mechanisms, this pump/accumulation mechanisms will have no effect as it will be overwritten by rxd. You could scale the derivative of ca (mM/ms) by Faraday constant multiplied by the volume (in m³) and divided by the area (in cm²) to give a current (mA/cm²). Together with a equal and opposite to NONSPECIFIC_CURRENT if you still want the pump to be eclectically neutral.

Code: Select all

ica = ca' * 2 * FARARADAY * 1e-10 * depth*(1+depth/(2*r)) 
i = -ica
Although it would probably be simpler just to write it in rxd, which would also avoid any problems with the shells.

3] Yes, RxD does compute the molarity of Ca2+ from a current on the membrane.