Cav2p1_MA2024_PC_Frozen#
- class braincell.channel.Cav2p1_MA2024_PC_Frozen(size, g_max=Quantity(0.00022, 'cm / s'), V_sh=Quantity(0., 'mV'), temp=Quantity(296.15, 'K'), name=None)#
Purkinje cell Cav2.1 with the GHK drive frozen for autodiff.
A standalone Purkinje-cell Cav2.1 mechanism that stops the gradient through the membrane potential where it enters the constant-field (GHK) flux term. Its kinetics and its named parameter block are those of
Cav2p1_RI2021_SC, and its attribution is that ofCav2p1_MA2024_PC: the Cav2.1 kinetics built from the dissociated Purkinje neuron recordings of (Swensen & Bean, 2005) [1] and published in (Anwar, Hong & De Schutter, 2012) [2], imported for the human Purkinje cell model of (Masoli et al., 2024) [3]. It inherits none of that code, and its forward current is not identical to the unfrozen class’s – 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.2e-4 cm/s.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; the mod file’svshift. Defaults to0.0 mV.temp (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Absolute temperature. Enters both the gate’s Q10 factor and the GHK flux. Defaults to 23 degrees Celsius.
See also
Cav2p1_MA2024_PCThe unfrozen Purkinje-cell import of the same mechanism. This class is not derived from it.
Cav2p1_RI2021_SCWhere the equation set, the permeability discrepancy and the mod header corrections are documented in full.
Cav2p1_RI2021_SC_FrozenStellate-cell frozen variant, which is a subclass of this class and overrides nothing.
Cav2p1_MA2025_BC_FrozenBasket-cell frozen variant, likewise a subclass of this class overriding nothing.
Notes
This class is not a subclass of the unfrozen Purkinje-cell import. It derives from
HHdirectly and re-declares everything:root_type, the gate, the whole constructor and parameter block,f_m_inf,f_m_tauandcurrent. A change toCav2p1_RI2021_SCtherefore does not propagate here. The two Cav2.1 frozen siblings,Cav2p1_RI2021_SC_FrozenandCav2p1_MA2025_BC_Frozen, are subclasses of this class and add nothing but a registry key.“Frozen” describes the gradient path, not the channel states. The
mgate keeps integrating exactly as in the unfrozen class – 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.The freezing is not the only difference from the unfrozen class.
current()here calls the module-level_cav3p1_nmodl_ghk_fluxhelper, whereasCav2p1_RI2021_SCcalls the sharedghk_flux(). The two helpers use different physical constants: the shared one uses CODATA values and the temperature as passed, while the NMODL helper usesF = 9.6485e4 C/mol,R = 8.3145 J/(K mol)and a273.19 + celsiusKelvin conversion carried as_CAV3P1_NMODL_TEMP_OFFSET. Those are exactly the constantsCav2p1_MA24_PC.moditself declares, so the helper’s_cav3p1_name – inherited from the Cav3.1 import, whose mod file declares the same values – understates its applicability here. The consequence is that this class’s forward current differs fromCav2p1_MA2024_PC’s by of order \(10^{-4}\) in relative terms, and that this class is the closer of the two to the mod file. Nothing in the mod file corresponds to the freezing itself: it is a BrainCell autodiff facility with no NMODL counterpart, so it is not an import deviation and changes nothing a NEURON comparison would observe.As in
Cav2p1_RI2021_SC,g_maxis a permeability incm/srather than a conductance density, the mod file’s unusedvhalfh/cvhare dropped, the Q10 is declared on theGatebecause the mod file divides the whole tau by it, andcurrent()negates NEURON’s outward-positiveicato match BrainCell’s inward-positive convention. 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.