CalciumDetailed#
- class braincell.ion.CalciumDetailed(size, temp=Quantity(309.15, "K"), d=Quantity(1., "um"), tau=Quantity(5., "ms"), C_rest=Quantity(0.00024, "mM"), Co=None, Ci_initializer=Constant(value=0.00024 mM), name=None, **channels)#
Dynamic calcium concentration with a Nernst-computed reversal.
derivative()implements only the first-order relaxation model of section 2 below. Section 1 reproduces, for background only, the fuller ATP-pump model this family of models is drawn from: the pump kinetics in section 1 are NOT implemented by this class.derivativeis three lines long and contains no Michaelis-Menten term and no pump parameter.1. Background: the dynamics of intracellular \(Ca^{2+}\) (not implemented)
The dynamics of intracellular \(Ca^{2+}\) were determined by two contributions [3] :
(i) Influx of \(Ca^{2+}\) due to Calcium currents
\(Ca^{2+}\) ion enter through \(Ca^{2+}\) channel and diffuse into the interior of the cell. Only the \(Ca^{2+}\) concentration in a thin shell beneath the membrane was modeled. The influx of \(Ca^{2+}\) into such a thin shell followed:
\[[Ca]_{i}=-\frac{I_{Ca}}{2 F d}\]where \(F=96489\, \mathrm{C\, mol^{-1}}\) is the Faraday constant, \(d=1\, \mathrm{\mu m}\) is the depth of the shell beneath the membrane, \(I_T\) in \(\mathrm{\mu A/cm^{2}}\) and \([Ca]_{i}\) in millimolar, and \(I_{Ca}\) is the summation of all \(Ca^{2+}\) currents.
(ii) Efflux of \(Ca^{2+}\) due to an active pump
In a thin shell beneath the membrane, \(Ca^{2+}\) retrieval usually consists of a combination of several processes, such as binding to \(Ca^{2+}\) buffers, calcium efflux due to \(Ca^{2+}\) ATPase pump activity and diffusion to neighboring shells. Only the \(Ca^{2+}\) pump was modeled here. We adopted the following kinetic scheme:
\[Ca _{i}^{2+}+ P \overset{c_1}{\underset{c_2}{\rightleftharpoons}} CaP \xrightarrow{c_3} P+ Ca _{0}^{2+}\]where P represents the \(Ca^{2+}\) pump, CaP is an intermediate state, \(Ca _{ o }^{2+}\) is the extracellular \(Ca^{2+}\) concentration, and \(c_{1}, c_{2}\) and \(c_{3}\) are rate constants. \(Ca^{2+}\) ion have a high affinity for the pump \(P\), whereas extrusion of \(Ca^{2+}\) follows a slower process (Blaustein, 1988 ). Therefore, \(c_{3}\) is low compared to \(c_{1}\) and \(c_{2}\) and the Michaelis-Menten approximation can be used for describing the kinetics of the pump. According to such a scheme, the kinetic equation for the \(Ca^{2+}\) pump is:
\[\frac{[Ca^{2+}]_{i}}{dt}=-\frac{K_{T}[Ca]_{i}}{[Ca]_{i}+K_{d}}\]where \(K_{T}=10^{-4}\, \mathrm{mM\, ms^{-1}}\) is the product of \(c_{3}\) with the total concentration of \(P\) and \(K_{d}=c_{2} / c_{1}=10^{-4}\, \mathrm{mM}\) is the dissociation constant, which can be interpreted here as the value of \([Ca]_{i}\) at which the pump is half activated (if \([Ca]_{i} \ll K_{d}\) then the efflux is negligible). None of this pump exists in
derivative()below – no saturating term and no pump parameter appears anywhere in this class.2. The implemented model: a simple first-order relaxation
What
derivative()actually computes is the first-order model of (Bazhenov, et al., 1998) [2], which that paper’s own Appendix credits to (Destexhe et al., 1994) [1]:\[\frac{d\left[Ca^{2+}\right]_{i}}{d t}=-\frac{I_{Ca}}{z F d}+\frac{\left[Ca^{2+}\right]_{rest}-\left[C a^{2+}\right]_{i}}{\tau_{Ca}}\]where \(I_{Ca}\) is the summation of all \(Ca ^{2+}\) currents, \(d\) is the thickness of the perimembrane “shell” in which calcium is able to affect membrane properties \((1.\, \mathrm{\mu m})\), \(z=2\) is the valence of the \(Ca ^{2+}\) ion, \(F\) is the Faraday constant, and \(\tau_{C a}\) is the \(Ca ^{2+}\) removal rate. The resting \(Ca ^{2+}\) concentration was set to be \(\left[ Ca ^{2+}\right]_{\text {rest}}=2.4\times 10^{-4}\, \mathrm{mM}\) (\(0.24\, \mathrm{\mu M}\)), matching the default
C_restbelow exactly. BrainCell additionally clamps the influx term at zero before adding it (see Notes), which neither paper does.3. The reversal potential
The reversal potential of calcium \(Ca ^{2+}\) is calculated according to the Nernst equation:
\[E = k'{RT \over 2F} log{[Ca^{2+}]_0 \over [Ca^{2+}]_i}\]where \(R=8.31441 \, \mathrm{J} /(\mathrm{mol}^{\circ} \mathrm{K})\), \(T=309.15^{\circ} \mathrm{K}\), \(F=96,489 \mathrm{C} / \mathrm{mol}\), and \(\left[\mathrm{Ca}^{2+}\right]_{0}=2 \mathrm{mM}\).
- Parameters:
size (
int|Sequence[int] |integer|Sequence[integer]) – The size of the simulation target, typically the number of neurons or compartments. Forwarded unchanged toCalcium.temp (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Absolute temperature used by the Nernst equation inE. Defaults to 36 degrees Celsius, converted to kelvin viau.celsius2kelvinbefore being stored.d (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Thickness \(d\) of the peri-membrane calcium shell. Defaults to1.0 um.tau (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Time constant \(\tau_{Ca}\) of the calcium removal rate. Defaults to5.0 ms.C_rest (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Resting intracellular calcium concentration \([Ca^{2+}]_{rest}\) thatCirelaxes toward. Defaults to2.4e-4 mM(0.24 uM).Co (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable|None) – Extracellular calcium concentration. Defaults toNone, which falls back toCalcium.default_CoinsideDynamicNernstIon._init_dynamic_nernst_ion().Ci_initializer (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Initializer for the dynamicCistate. Defaults to a constant2.4e-4 mMinitializer, matchingC_rest.name (
str|None) – Runtime ion instance name. Defaults toNone.**channels – Channel instances to attach to this ion, forwarded unchanged to
Calcium.
- Raises:
ValueError – If
tempis explicitly passed asNone.DynamicNernstIon._init_dynamic_nernst_ion()requires an explicit temperature and does not fall back to a class default.
See also
CalciumBase calcium ion family this class computes a reversal potential for.
CalciumFirstOrderSibling dynamic calcium ion with a different first-order form.
Notes
derivativerectifies the influx term withu.math.maximum(drive, 0)so that only inward calcium current raisesCi; no such clamp appears in either Destexhe et al. (1994) [1] or Bazhenov et al. (1998) [2], and it is a BrainCell addition.Bazhenov’s Appendix writes the influx term with one lumped constant, \(A = 5.18 \times 10^{-5}\, \mathrm{mM\, cm^2 / (ms\, \mu A)}\). BrainCell instead writes it out as \(1/(zFd)\), with \(z=2\) hard-coded and
dexposed as a constructor parameter. The two are the same term parameterized differently, not a divergence – it is whydis a BrainCell parameter and not one of Bazhenov’s.Section 1’s Faraday and gas constants, \(F = 96489\, \mathrm{C/mol}\) and \(R = 8.31441\, \mathrm{J/(mol\, K)}\), are the paper’s own literal values, quoted above for reference only. The code instead uses the CODATA constants
u.faraday_constantandu.gas_constant(viaE), neither of which is a constructor parameter.References
- uses_total_current = True#
When true, the template precomputes the aggregate ion current and passes it to
derivative(..., total_current=...).