Conditionally Using Ions for Ion Pool Regulation

NMODL and the Channel Builder.
Post Reply
urid
Posts: 4
Joined: Thu Sep 05, 2024 2:30 pm

Conditionally Using Ions for Ion Pool Regulation

Post by urid »

Hi,

I am fairly new to using NEURON (via Python), and I am trying to create a mechanism in which the conductance can be optionally regulated by an ion pool. If a Ca pool, say, writes to cai, and if a mechanism was inhibited by cai, then I would need to have the line

Code: Select all

USEION ca READ cai
in the NEURON block. That said, if I use cai for only a few neurons in the network, would reading in the ion unnecessarily affect the performance time of the model if I'm reading in cai for something like 18 neurons (with more than 10 mechanisms and around 20 synaptic connections each), but using it for only 2? Or does that consideration not really matter? If it does matter, is there a solution to this that is not creating a separate ca-regulated mechanism for each mechanism that I have (so if I also have a sodium pool option, that would lead to almost triple the number of mod files)? For example, my NMODL file could read something like:

Code: Select all

UNITS {
	(mV) = (millivolt)
	(mA) = (milliamp)
	(uS) = (microsiemens)
    (um) = (micrometer)
    (mM) = (milli/liter)
}

NEURON {
    SUFFIX test
    RANGE i, g, e, regulated
    NONSPECIFIC_CURRENT i
    USEION ca READ cai
}

PARAMETER {
    g (uS) e (mV) regulated
}

ASSIGNED {
    i (mA/cm2) v (mV) area (um2) cai (mM)
}


BREAKPOINT {
    SOLVE states METHOD derivimplicit
    i = (100)*g/area*(v-e)*regulation(cai)
}

FUNCTION regulation(c) {
    if (regulated == 0) {
        regulation = 1
    } if (regulated == 1) {
        regulation = 1/(1+17*(c/(6e-4+c)))
    }
}
Thank you!
ted
Site Admin
Posts: 6353
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Conditionally Using Ions for Ion Pool Regulation

Post by ted »

Relax. Numerical integration is computationally expensive. Merely "READing" cai costs nothing by comparison. You could insert hundreds of mechanisms that READ cai into every section of a model cell, with no noticeable effect on run time--unless at least one of those mechanisms involved an ODE in a DERIVATIVE block or a state transition in a KINETIC block. Example: suppose you have a section foo, and into it you insert a ca-accumulation mechanism that calculates cai by integrating ica. That increases the number of ODEs by foo.nseg, which will do much more to runtime than if you added cai-dependency to all the other density mechanisms and point processes that are attached to your entire model cell.
urid
Posts: 4
Joined: Thu Sep 05, 2024 2:30 pm

Re: Conditionally Using Ions for Ion Pool Regulation

Post by urid »

Thanks for the quick reply, that makes a lot of sense!
ted
Site Admin
Posts: 6353
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Conditionally Using Ions for Ion Pool Regulation

Post by ted »

Calcium is a key signal in many phenomena, some of which involve calcium diffusion from the site of ca entry (or site of release from organelles) to the site of ca action. Calcium accumulation mechanisms for such cases add even more overhead because more ODEs (or more complex kinetic schemes) are involved. But no matter how complex that may be, using the calcium concentrations remains computationally cheap.
Post Reply