Conditionally Using Ions for Ion Pool Regulation
Posted: Fri Sep 13, 2024 2:01 pm
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 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:
Thank you!
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
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)))
}
}