Nav_MA2020_GrC#
- class braincell.channel.Nav_MA2020_GrC(size, temp=Quantity(305.15, 'K'), g_max=Quantity(13., 'mS / cm^2'), name=None, solver=None, substeps=None)#
Resurgent Nav sodium current, granule-cell parameterisation.
A 13-state Raman & Bean (2001) [2]-style resurgent sodium Markov scheme, refitted to the transient/persistent/resurgent granule-cell recordings and kinetic scheme of Magistretti et al. (2006) [1] and imported here for the granule-cell model of (Masoli et al., 2020) [3]. Five closed states
C1-C5form an activation ladder mirrored by five inactivated statesI1-I5;C5opens intoO, which can transition into a blocked stateOBor into the shared deep-inactivated stateI6(also reachable fromI5);I6is algebraically eliminated asdependent_state.All transition rates share one temperature factor and a small set of voltage-dependent and constant primitives:
\[\begin{split}\begin{aligned} \phi &= 3^{(T - 20)/10} \\ \alpha(V) &= \phi\, A_\alpha\, e^{V/V_\alpha}, \quad \beta(V) = \phi\, A_\beta\, e^{-V/V_\beta}, \quad \theta(V) = \phi\, A_\theta\, e^{-V/V_\theta} \\ \gamma &= \phi A_\gamma, \quad \delta = \phi A_\delta, \quad \varepsilon = \phi A_\varepsilon \\ C_{on} &= \phi A_{Con}, \quad C_{off} = \phi A_{Coff}, \quad O_{on} = \phi A_{Oon}, \quad O_{off} = \phi A_{Ooff} \\ a &= (O_{on}/C_{on})^{1/4}, \quad b = (O_{off}/C_{off})^{1/4} \end{aligned}\end{split}\]with \(V\) in mV (unitless argument to the exponentials) and \(T\) the temperature in degrees Celsius. The closed and inactivated ladders share the same scaling weights \(n_1{=}5.422,\ n_2{=}3.279,\ n_3{=}1.83,\ n_4{=}0.738\):
\[\begin{split}\begin{aligned} f_{0k} &= n_k\, \alpha(V), & b_{0k} &= n_{5-k}\, \beta(V), & k&=1,\dots,4 \\ f_{1k} &= n_k\, \alpha(V)\, a, & b_{1k} &= n_{5-k}\, \beta(V)\, b, & k&=1,\dots,4 \\ f_{ik} &= C_{on}\, a^{\,k-1}, & b_{ik} &= C_{off}\, b^{\,k-1}, & k&=1,\dots,5 \\ f_{0O} &= \gamma, & b_{0O} &= \delta \\ f_{ip} &= \varepsilon, & b_{ip} &= \theta \\ f_{1n} &= \gamma, & b_{1n} &= \delta \\ f_{in} &= O_{on}, & b_{in} &= O_{off} \end{aligned}\end{split}\]where subscript
0k/1kindex theCk<->Ck+1/Ik<->Ik+1ladder steps,iktheCk<->Ikcross-links,0OtheC5<->Oopening step,iptheO<->OBblocking step, and1n/intheI5<->I6/O<->I6deep-inactivation links.- Parameters:
size (
int|Sequence[int] |integer|Sequence[integer]) – Channel state shape.temp (
Array|ndarray|bool|number|bool|int|float|complex|Quantity) – Absolute temperature driving \(\phi\), default 32 degrees Celsius.g_max (
Array|ndarray|bool|number|bool|int|float|complex|Quantity|Callable) – Maximal conductance density, default13.0 mS/cm2.solver (
str|None) – Override forMarkov’s default ODE solver.substeps (
int|None) – Override forMarkov’s default substep count.
See also
NaFHF_MA2020_GrCSame 13-state scheme with an additional slow-blocked branch (
L3-L6) enabled.Nav1p6_MA2020_GoCSame general resurgent-Markov family, fitted instead to Purkinje-cell kinetics with its own constants.
Notes
Ported from
Nav_MA20_GrC.mod, whose header attributes the scheme to “Raman 13 state model. Adapted from Magistretti et al, 2006.” This class does not subclassNav1p6_MA2020_GoC; it is an independent implementation with its own__init__and rate constants. \(\phi\) is referenced to 20 degrees Celsius here, unlike the Nav1.6/Nav1.1 Golgi/Purkinje/basket/stellate family, which references 22 degrees Celsius.Discrepancy between code and bibliography record. This class ships
ACon = 0.005andAOoff = 0.005. The bibliography’s cross-checked fingerprint for theMA2020granule sodium pair states thatNav_MA2020_GrCandNaFHF_MA2020_GrCshareACon = 0.025andAOoff = 0.002– those values are correct forNaFHF_MA2020_GrC(confirmed against its own code) but not for this class. The values documented above are read directly from this class’s__init__and are the ones in effect at runtime.No import deviation is recorded for this mechanism in the bibliography’s
MA2020import-deviations tables.References
- current(V, Na)[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.
- init_state(V, Na, batch_size=None)[source]#
Initialize the state of the ion channel.
This method should set up the initial state of all variables for the channel.
- Parameters:
*args – Variable length argument list.
**kwargs – Arbitrary keyword arguments.