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’spcabar– despite theg_maxname and conductance-like spelling. Defaults to2.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 to0.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 to3.0.temp_ref (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Reference temperature for \(q_t\). Defaults to 37 degrees Celsius.
See also
Cav3p1_MA2024_PCThe same mechanism re-imported for the human Purkinje cell model; identical kinetics, different model citation.
Cav3p1_MA2020_GoC_FrozenThis class with the GHK term’s voltage dependence removed from the autodiff graph.
Cav3p1Test_PC24Anonymous test variant that replaces the GHK drive with a direct conductance-density current law.
braincell.channel._base.ghk_fluxShared GHK flux helper; this class does not call it directly (see Notes).
Notes
Ported from
GoC/channel/Cav3p1_MA20_GoC.mod. That file’sTITLEreads “Low threshold calcium current Cerebellum Purkinje Cell Model” and itsCOMMENTrecords 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]; theTITLE’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/mthev <= -90branch is hard-coded to1 msand is not divided byqt;in the other branch the full
C_tau_m + A_tau_m / (...)expression is divided byqt;for
q/hthe fullC_tau_h + A_tau_h / exp(...)expression is also divided byqt.
That does not match the generic
HHgate temperature path, whereGate(q10=..., temp_ref=...)multiplies the whole derivative byphiand therefore divides the whole tau byqt. Gatephiis intentionally left at 1 here and the source-mod temperature handling is encoded directly inf_p_tau()andf_q_tau().current()evaluates the GHK constant-field equation through the module-level_cav3p1_nmodl_ghk_fluxhelper rather thanghk_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’skelvinfktconversion273.19 + celsius, whose 0.04 K offset frombrainunit.celsius2kelvin()is carried as_CAV3P1_NMODL_TEMP_OFFSET. The helper also keeps the mod file’s small-zetaseries branch, taken when|1 - exp(-zeta)| < 1e-6. NEURON’s rawicafor this mechanism is outward-positive;current()negates it to match BrainCell’s repo-wide inward-positive convention.g_maxis a permeability incm/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_shis accepted, stored and never read; the mod file declares no corresponding parameter at all.g_max’s default is thepcabarof 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.