Cav3p3_RI2021_SC#
- class braincell.channel.Cav3p3_RI2021_SC(size, perm=Quantity(0.0001, 'cm / s'), g_scale=1e-05, temp=Quantity(309.15, 'K'), V_sh=Quantity(0., 'mV'), name=None)#
Stellate cell Cav3.3 low-threshold calcium current, GHK drive.
The Cav3.3 (T-type, alpha1I) low-threshold calcium current of the cerebellar stellate cell model of (Rizza et al., 2021) [2]. Its kinetics are those of the CA3 hippocampal pyramidal neuron model of (Xu & Clancy, 2008) [1], reused unchanged for the stellate cell. Gating is \(n^2 l\), driven by a hand-written constant-field (GHK) calcium flux rather than an ohmic term:
\[\begin{split}\begin{aligned} I_{Ca} &= -s \, P \, n^2 l \, \Phi(V', [Ca]_i, [Ca]_o, z{=}2, T) \\ n_\infty &= \frac{1}{1 + \exp(-(V' - v_{1/2,n}) / k_n)} \\ l_\infty &= \frac{1}{1 + \exp(-(V' - v_{1/2,l}) / k_l)} \\ \tau_n &= \frac{1}{\phi} \begin{cases} 7.2 + 0.02\, e^{-V' / 14.7} & V' > -60 \\ 0.875\, e^{(V' + 120) / 41} & V' \leq -60 \end{cases} \\ \tau_l &= \frac{1}{\phi} \begin{cases} 79.5 + 2\, e^{-V' / 9.3} & V' > -60 \\ 260 & V' \leq -60 \end{cases} \\ \phi &= 2.3^{(T - 28\,^\circ\mathrm{C}) / 10} \end{aligned}\end{split}\]where \(V' = V - V_{sh}\), \(v_{1/2,n} = -41.5\) mV, \(k_n = 6.2\) mV, \(v_{1/2,l} = -69.8\) mV, \(k_l = -6.1\) mV, \(s\) is
g_scale, \(P\) ispermand \(\Phi\) is the module-level_cav3p3_nmodl_ghk_fluxhelper (see Notes). The tau branches read \(V'\) in millivolts and return milliseconds; both are exclusive at exactly \(-60\) mV, and neither is continuous across that point – at \(V' = -60\) mV the upper branches give about 8.4 ms and 1347 ms against the lower branches’ 3.8 ms and 260 ms. That discontinuity is the mod file’s, reproduced rather than smoothed. \(\phi\) is supplied by theGatedeclarations, which divide each tau by it.- Parameters:
size (
int|Sequence[int] |integer|Sequence[integer]) – Channel state shape.perm (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Calcium permeability \(P\) entering the GHK flux, the mod file’spcabar. Defaults to1.0e-4 cm/s(see Notes).g_scale (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Dimensionless empirical scale factor multiplying the flux, carrying the numeric value of the mod file’sgCav3_3bar. Defaults to1.0e-5(see Notes).temp (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Absolute temperature. Enters both \(\phi\) and the GHK flux. Defaults to 36 degrees Celsius.V_sh (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Voltage shift subtracted from \(V\) before every rate and before the GHK term. Defaults to0.0 mV. The mod file declares no corresponding parameter (see Notes).
See also
Cav3p3_MA2024_PCThe same mechanism re-imported for the human Purkinje cell model; identical kinetics, different model citation.
Cav3p3_MA2024_PC_FrozenPurkinje-cell variant with the GHK term’s voltage dependence removed from the autodiff graph. It is not a subclass of this class (see its Notes).
braincell.channel._base.ghk_fluxThe shared GHK helper, which this class does not call (see Notes).
Notes
Ported from
SC/channel/Cav3p3_RI21_SC.mod, whoseTITLEreads “CaV 3.3 CA3 hippocampal neuron” and whoseCOMMENTrecords “Created by jun xu @ Clancy Lab of Cornell University Medical College” and cites (Xu & Clancy, 2008). The “CA3 hippocampal neuron” of the title is upstream provenance: this class is the stellate cell port, used in the model cited as [2].The mod file’s current-law scaling is not dimensionally self-consistent, and BrainCell’s parameter units follow from that. The file mixes
pcabar(declared like a permeability,cm/s),gCav3_3bar(declared like a conductance density,S/cm2) and a hand-written GHK expression carrying its own built-in unit conversion constants, then multiplies all three together. To keep the BrainCell current law dimensionally consistent while still matching NEURON numerically,g_scaleis treated here as a dimensionless empirical scale factor rather than as a physical conductance density;permremains the permeability-like term.current()evaluates the constant-field equation through the module-level_cav3p3_nmodl_ghk_fluxhelper rather thanghk_flux(), so that it reproduces this mod file’s own constants exactly:F = 96520 C/mol,R = 8.3134 J/(K mol)and the mod file’sT = celsius + 273.14conversion, whose 0.01 K offset frombrainunit.celsius2kelvin()is carried as_CAV3P3_NMODL_TEMP_OFFSET. The helper writes the flux as \(-zF(c_o - c_i e^{w}) w / (e^{w} - 1)\) with \(w = zFV'/(RT)\), matching the mod file line for line, and adds one thing the mod file has no counterpart for: a small-\(w\) series branch \(-zF(c_o - c_i e^{w})(1 - w/2)\), taken when \(|e^{w} - 1| < 10^{-6}\), which avoids the division by zero the mod file’s expression has at \(V' = 0\).current()negates the result to match BrainCell’s repo-wide inward-positive convention against NEURON’s outward-positiveica.V_shhas no counterpart in the mod file at all; it is a BrainCell extension. Unlike theV_shof the Cav3.1 classes in this module it is read – by all four rate methods and bycurrent()– but its0.0 mVdefault leaves the mechanism at the mod file’s behaviour.The mod file applies its temperature factor as
tau = tau / qtwithqt = q10^((celsius - 28)/10)andq10 = 2.3. That is exactly the generic gate temperature path, so the Q10 is declared on theGateobjects here rather than written intof_n_tau()andf_l_tau(). The mod file reads NEURON’s globalcelsiuswhere this class reads its owntempparameter, which defaults to 36 degrees Celsius.The mod file writes
vhalfn,vhalfl,knandklas bare numbers with a:mvcomment rather than as united quantities; BrainCell attachesu.mVto all four.The
RI2021import-deviations tables list noTABLEremoval, noderivimplicit->cnexpsubstitution and no rate-refresh relocation for this mechanism.permandg_scaledefault to thepcabarandgCav3_3barof the cell-model deposit this mechanism was imported from – values tuned for that model, not values reported by the origin paper.References
- current(V, Ca)[source]#
Calculate the current for this ion channel.
This method should be implemented by subclasses to compute the current based on the channel’s specific properties and state.
- Parameters:
*args – Variable length argument list.
**kwargs – Arbitrary keyword arguments.
- Raises:
NotImplementedError – This method must be implemented by subclasses.