Cav3p1_MA2024_PC_Frozen#
- class braincell.channel.Cav3p1_MA2024_PC_Frozen(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)#
Purkinje cell Cav3.1 with the GHK drive frozen for autodiff.
A standalone Purkinje-cell Cav3.1 mechanism that stops the gradient through the membrane potential where it enters the constant-field (GHK) flux term. Its kinetics, its named Boltzmann/tau parameter block and its forward current are numerically identical to
Cav3p1_MA2020_GoC’s, and its attribution is that ofCav3p1_MA2024_PC: the Cav3.1 fit to (Iftinca et al., 2006) [1] published in (Anwar, Hong & De Schutter, 2012) [2], imported for the human Purkinje cell model of (Masoli et al., 2024) [3]. Unlike its Golgi-cell counterpart it inherits none of that – 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 entering the GHK flux (the mod file’spcabar), despite theg_maxname. Defaults to2.5e-4 cm/s.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 theqtfactor and the GHK flux. Defaults to 22 degrees Celsius.q10 (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Q10 factor forqt. Defaults to3.0.temp_ref (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Reference temperature forqt. Defaults to 37 degrees Celsius.
See also
Cav3p1_MA2024_PCThe unfrozen Purkinje-cell import of the same mechanism. This class is not derived from it.
Cav3p1_MA2020_GoCWhere the equation set, the GHK helper’s constants, the tau-embedded temperature handling and the mod header corrections are documented in full.
Cav3p1_MA2020_GoC_FrozenGolgi-cell counterpart with the same freezing behaviour, reached by inheritance instead.
Notes
This class is not a subclass of the unfrozen Purkinje-cell import, and the two frozen Cav3.1 classes in this module are not built the same way.
Cav3p1_MA2020_GoC_Frozenderives fromCav3p1_MA2020_GoCand overridescurrent()alone. This class derives fromHHdirectly and re-declares everything:root_type, both gates, the whole constructor and parameter block,f_p_inf,f_q_inf,f_p_tau,f_q_tauandcurrent. The two frozen variants therefore compute the same numbers while sharing no code, and a change toCav3p1_MA2020_GoCpropagates to one of them and not to 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.The kinetics are those of
PC/channel/Cav3p1_MA24_PC.mod, which is identical toGoC/channel/Cav3p1_MA20_GoC.modexcept for itsSUFFIXline and a droppedINDEPENDENTstatement. 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
Cav3p1_MA2020_GoC,g_maxis a permeability incm/srather than a conductance density,V_shis accepted and never read with no corresponding parameter in the mod file, the temperature factorqtis embedded in the tau expressions instead of inGate, thetau_pconstant branch atV <= -90 mVis not divided byqt, andcurrent()uses the module-level_cav3p1_nmodl_ghk_fluxhelper with the mod file’s ownF/Rconstants and its273.19 + celsiusKelvin conversion. The permeability default is the deposit’s tunedpcabar, not a value 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.