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\) is perm and \(\Phi\) is the module-level _cav3p3_nmodl_ghk_flux helper (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 the Gate declarations, 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’s pcabar. Defaults to 1.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’s gCav3_3bar. Defaults to 1.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 to 0.0 mV. The mod file declares no corresponding parameter (see Notes).

  • name (str | None) – Optional channel name.

See also

Cav3p3_MA2024_PC

The same mechanism re-imported for the human Purkinje cell model; identical kinetics, different model citation.

Cav3p3_MA2024_PC_Frozen

Purkinje-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_flux

The shared GHK helper, which this class does not call (see Notes).

Notes

Ported from SC/channel/Cav3p3_RI21_SC.mod, whose TITLE reads “CaV 3.3 CA3 hippocampal neuron” and whose COMMENT records “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_scale is treated here as a dimensionless empirical scale factor rather than as a physical conductance density; perm remains the permeability-like term.

current() evaluates the constant-field equation through the module-level _cav3p3_nmodl_ghk_flux helper rather than ghk_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’s T = celsius + 273.14 conversion, whose 0.01 K offset from brainunit.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-positive ica.

V_sh has no counterpart in the mod file at all; it is a BrainCell extension. Unlike the V_sh of the Cav3.1 classes in this module it is read – by all four rate methods and by current() – but its 0.0 mV default leaves the mechanism at the mod file’s behaviour.

The mod file applies its temperature factor as tau = tau / qt with qt = q10^((celsius - 28)/10) and q10 = 2.3. That is exactly the generic gate temperature path, so the Q10 is declared on the Gate objects here rather than written into f_n_tau() and f_l_tau(). The mod file reads NEURON’s global celsius where this class reads its own temp parameter, which defaults to 36 degrees Celsius.

The mod file writes vhalfn, vhalfl, kn and kl as bare numbers with a :mv comment rather than as united quantities; BrainCell attaches u.mV to all four.

The RI2021 import-deviations tables list no TABLE removal, no derivimplicit -> cnexp substitution and no rate-refresh relocation for this mechanism.

perm and g_scale default to the pcabar and gCav3_3bar of 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.

root_type#

alias of Calcium