Cav3p1_MA2020_GoC#

class braincell.channel.Cav3p1_MA2020_GoC(size, g_max=Quantity(0.00025, 'cm / s'), V_sh=Quantity(0., 'mV'), temp=Quantity(295.15, 'K'), q10=3.0, temp_ref=Quantity(310.15, 'K'), name=None)#

Golgi cell Cav3.1 low-threshold calcium current with GHK drive.

The Cav3.1 (T-type) low-threshold calcium current of the cerebellar Golgi cell model of (Masoli et al., 2020) [3]. Its kinetics were fitted to the Cav3.1 temperature-dependence recordings of (Iftinca et al., 2006) [1] and published in the Purkinje-cell calcium-buffering model of (Anwar, Hong & De Schutter, 2012) [2]. Gating is \(p^2 q\), driven by a constant-field (GHK) calcium flux rather than an ohmic term:

\[\begin{split}\begin{aligned} I_{Ca} &= -P \, p^2 q \, \Phi(V, [Ca]_i, [Ca]_o, z{=}2, T) \\ p_\infty &= \frac{1}{1 + \exp((V - v_{0,m}) / k_m)} \\ q_\infty &= \frac{1}{1 + \exp((V - v_{0,h}) / k_h)} \\ \tau_p &= \begin{cases} 1 & V \leq -90\ \mathrm{mV} \\ \dfrac{1}{q_t}\left(C_{\tau m} + \dfrac{A_{\tau m}} {e^{(V - v_{\tau m1})/k_{\tau m1}} + e^{(V - v_{\tau m2})/k_{\tau m2}}}\right) & V > -90\ \mathrm{mV} \end{cases} \\ \tau_q &= \frac{1}{q_t}\left(C_{\tau h} + \frac{A_{\tau h}} {e^{(V - v_{\tau h1})/k_{\tau h1}}}\right) \\ q_t &= Q_{10}^{(T - T_{ref}) / 10} \end{aligned}\end{split}\]

with \(v_{0,m} = -52\) mV, \(k_m = -5\) mV, \(v_{0,h} = -72\) mV, \(k_h = 7\) mV, \(C_{\tau m} = A_{\tau m} = A_{\tau h} = 1\), \(C_{\tau h} = 15\), \(v_{\tau m1} = -40\) mV, \(v_{\tau m2} = -102\) mV, \(k_{\tau m1} = 9\) mV, \(k_{\tau m2} = -18\) mV, \(v_{\tau h1} = -32\) mV and \(k_{\tau h1} = 7\) mV; the time constants are in milliseconds and \(P\) is the calcium permeability. The \(\tau_p\) branch point is inclusive at exactly \(-90\) mV, and its constant branch is not divided by \(q_t\) (see Notes).

Parameters:
  • size (int | Sequence[int] | integer | Sequence[integer]) – Channel state shape.

  • g_max (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Calcium permeability \(P\) entering the GHK flux – the mod file’s pcabar – despite the g_max name and conductance-like spelling. Defaults to 2.5e-4 cm/s (see Notes).

  • V_sh (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Threshold shift. Accepted and stored, but read by no method of this class (see Notes). Defaults to 0.0 mV.

  • temp (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Absolute temperature. Enters both \(q_t\) and the GHK flux. Defaults to 22 degrees Celsius.

  • q10 (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Q10 factor for \(q_t\). Defaults to 3.0.

  • temp_ref (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Reference temperature for \(q_t\). Defaults to 37 degrees Celsius.

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

See also

Cav3p1_MA2024_PC

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

Cav3p1_MA2020_GoC_Frozen

This class with the GHK term’s voltage dependence removed from the autodiff graph.

Cav3p1Test_PC24

Anonymous test variant that replaces the GHK drive with a direct conductance-density current law.

braincell.channel._base.ghk_flux

Shared GHK flux helper; this class does not call it directly (see Notes).

Notes

Ported from GoC/channel/Cav3p1_MA20_GoC.mod. That file’s TITLE reads “Low threshold calcium current Cerebellum Purkinje Cell Model” and its COMMENT records the rename “Suffix from CaT3_1 to CaV3_1” – both inherited verbatim from Anwar’s original Purkinje-cell mechanism (ModelDB 138382). This class is nonetheless the Golgi cell port (SUFFIX Cav3p1_MA20_GoC), used in the Golgi cell model cited as [3]; the TITLE’s “Purkinje” is upstream provenance, not a description of this class. An earlier revision of this docstring’s summary line repeated it as though it were, and that is corrected here.

Two corrections to the mod header’s own reference line, “Anwar H, Hong S, De Schutter E (2010) … in Purkinje cell”: the citable record is 2012 – 2010 is the online-first date, which is also why the DOI carries -010- – and the published title ends “Purkinje cells”, plural. Entry [2] below is the corrected form. The header’s “Written by Haroon Anwar” line names the mechanism’s author and is deliberately not turned into a citation.

Temperature handling is encoded in the tau expressions, not in the gate declaration. The source NMODL applies \(q_t\) directly inside the tau formulas instead of through a uniform gate-level phi:

  • for p/m the v <= -90 branch is hard-coded to 1 ms and is not divided by qt;

  • in the other branch the full C_tau_m + A_tau_m / (...) expression is divided by qt;

  • for q/h the full C_tau_h + A_tau_h / exp(...) expression is also divided by qt.

That does not match the generic HH gate temperature path, where Gate(q10=..., temp_ref=...) multiplies the whole derivative by phi and therefore divides the whole tau by qt. Gate phi is intentionally left at 1 here and the source-mod temperature handling is encoded directly in f_p_tau() and f_q_tau().

current() evaluates the GHK constant-field equation through the module-level _cav3p1_nmodl_ghk_flux helper rather than ghk_flux(), so that it reproduces the mod file’s own constants exactly: F = 9.6485e4 C/mol, R = 8.3145 J/(K mol) and the mod file’s kelvinfkt conversion 273.19 + celsius, whose 0.04 K offset from brainunit.celsius2kelvin() is carried as _CAV3P1_NMODL_TEMP_OFFSET. The helper also keeps the mod file’s small-zeta series branch, taken when |1 - exp(-zeta)| < 1e-6. NEURON’s raw ica for this mechanism is outward-positive; current() negates it to match BrainCell’s repo-wide inward-positive convention.

g_max is a permeability in cm/s, not a conductance density: the name is BrainCell’s uniform parameter name for the scale factor in front of the gating product, and this mechanism’s current law is a permeability-scaled GHK flux. V_sh is accepted, stored and never read; the mod file declares no corresponding parameter at all.

g_max’s default is the pcabar of the cell-model deposit this mechanism was imported from – a value tuned for that model, not a permeability reported by either 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