Cav3p3_MA2024_PC_Frozen#
- class braincell.channel.Cav3p3_MA2024_PC_Frozen(size, perm=Quantity(0.0001, 'cm / s'), g_scale=1e-05, temp=Quantity(309.15, 'K'), V_sh=Quantity(0., 'mV'), name=None)#
Purkinje cell Cav3.3 with the GHK drive frozen for autodiff.
A standalone Purkinje-cell Cav3.3 mechanism that stops the gradient through the membrane potential where it enters the constant-field (GHK) flux term. Its kinetics, its named parameter block and its forward current are numerically identical to
Cav3p3_MA2024_PC’s, and its attribution is the same: the Cav3.3 kinetics of the CA3 hippocampal pyramidal neuron model of (Xu & Clancy, 2008) [1], imported for the human Purkinje cell model of (Masoli et al., 2024) [2]. It inherits none of that code – see Notes.- Parameters:
size (
int|Sequence[int] |integer|Sequence[integer]) – Channel state shape.perm (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Calcium permeability entering the GHK flux, the mod file’spcabar. Defaults to1.0e-4 cm/s.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.temp (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Absolute temperature. Enters both the gates’ Q10 factor 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 also
Cav3p3_MA2024_PCThe unfrozen Purkinje-cell import of the same mechanism. This class is not derived from it.
Cav3p3_RI2021_SCWhere the equation set, the GHK helper’s constants and the current-law scaling caveat are documented in full.
Cav2p1_MA2024_PC_FrozenThe module’s other standalone frozen variant, which additionally swaps GHK helpers and so is not numerically identical to its unfrozen counterpart.
Notes
This class is not a subclass of the unfrozen Purkinje-cell import, and the module’s frozen variants are not all built the same way.
Cav3p3_MA2024_PCderives fromCav3p3_RI2021_SC; this class derives fromHHdirectly and re-declares everything:root_type, both gates, the whole constructor and parameter block,f_n_inf,f_l_inf,f_n_tau,f_l_tauandcurrent. The two therefore compute the same forward numbers while sharing no code, and a change toCav3p3_RI2021_SCpropagates to one and not the other.“Frozen” describes the gradient path, not the forward numerics and not the channel states. Both gates keep integrating normally – nothing stops evolving.
current()passes the membrane potential through the module-level_freeze_quantity_gradient, which rebuilds the quantity fromjax.lax.stop_gradient()applied to its mantissa, before handing it to the GHK helper. The unfrozenVstill reachesconductance_factor(), but that method ignores its voltage argument and reads only the gate states, so the distinction affects neither value nor gradient there. UnlikeCav2p1_MA2024_PC_Frozen, this class calls the same_cav3p3_nmodl_ghk_fluxhelper its unfrozen counterpart calls, so freezing is the only difference between the two and the forward current is unchanged.The kinetics are those of
PC/channel/Cav3p3_MA24_PC.mod, which is identical toSC/channel/Cav3p3_RI21_SC.modapart from itsSUFFIXline and ag_equivdiagnostic. No mod file ships a frozen-gradient variant: freezing is a BrainCell autodiff facility with no counterpart in NMODL, so it is not an import deviation and changes nothing a NEURON comparison would observe.As in
Cav3p3_RI2021_SC, the mod file’s current-law scaling is not dimensionally self-consistent andg_scaleis therefore dimensionless, the GHK helper carries the mod file’s ownF/Rconstants and itscelsius + 273.14Kelvin conversion plus a small-argument series branch the mod file lacks,V_shhas no counterpart in the mod file, the Q10 is declared on theGateobjects, andcurrent()negates NEURON’s outward-positiveica. Thepermandg_scaledefaults are the deposit’s tuned values, 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.