Different initial concentration and potential in different cells

Extending NEURON to handle reaction-diffusion problems.

Moderators: hines, wwlytton, ramcdougal

Post Reply
Barbara
Posts: 2
Joined: Fri Dec 10, 2021 9:01 am

Different initial concentration and potential in different cells

Post by Barbara »

Hi all,
I'm building a synapse model with a neuron and an astrocyte.
I would need to initialise the initial concentrations differently, however, not for the extracellular space.

I defined the ionic species as follow:

Code: Select all

rxd_na = rxd.Species([extracellular, cyt], name = 'na', charge = 1, d = 1)
rxd_k = rxd.Species([extracellular, cyt], name = 'k', charge = 1, d = 1)
rxd_ca = rxd.Species([extracellular, cyt], name = 'ca', charge = 2, d = 1)

na_a = rxd.Species([extracellular, cyt_astro], name='na_a', charge=1, d=1)
k_a = rxd.Species([extracellular, cyt_astro], name='k_a', charge=1, d=1)
ca_a = rxd.Species([extracellular, cyt_astro], name='ca_a', charge=2, d=1)
without the astrocyte, I would normally initialise the concentrations and the potential with:

Code: Select all

h.cao0_ca_ion = 1.8
h.nao0_na_ion = 145
h.ko0_k_ion = 3

h.cai0_ca_ion = 0.006
h.nai0_na_ion = 5
h.ki0_k_ion = 130

h.finitialize(-65*mV)
But now that I need the initial concentration in cyt and cyt_astro different I don't know how am I supposed to define those. I tried with the following for all the ions and sections but the code just ignore these commands and sets the default.

Code: Select all

rxd_ca[extracellular].initial = 1.8
...
Also, about the initialization of the voltage, how should I do it?

Thanks in advance for any help! :)
ted
Site Admin
Posts: 6287
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Different initial concentration and potential in different cells

Post by ted »

h.cai0_ca_ion = 0.006 ?
6e-3 mM suggests a dead or dying cell. 0.1e-4 or 0.05e-4 would be more appropriate.

Are you sure that your concentrations are consistent with the ionic reversal potentials your model assumes/needs?

Models that involve ion accumulation, especially if diffusion and/or active transport are included, can be difficult to initialize. Unless parameters are carefully contrived to ensure that the model is in its steady state from time t==0, it may take many hundreds of ms for concentrations and reversal potentials to settle down.
adamjhn
Posts: 54
Joined: Tue Apr 18, 2017 10:05 am

Re: Different initial concentration and potential in different cells

Post by adamjhn »

I would define a species once for all the regions and then set the initial concentration using a function of the rxd.node. As you have several species, I would define a function for initialization, that checks the node attributes to determine which initial value to use.

Also, I agree with Ted, 6e-3 mM seems high, to avoid confusion you can import particular units from neuron.units. For example, to set extracellular calcium to 1.8mM with 60nM in neurons and 85nM in astrocytes, modify your species definition as follows;

Code: Select all

from neuron.units import mM, nM

def initcon(nd, extracellular, neuronal, astrocyte):
    return (neuronal if nd.region == cyt else astrocyte) if hasattr(nd,'sec') else extracellular

rxd_ca = rxd.Species([extracellular, cyt, cyt_astro], name='ca', charge=2, d=1,
                     initial=lambda nd: initcon(nd, 1.8 * mM, 60 * nM, 85 * nM))
Post Reply