Kv3p3_MA2024_PC#

class braincell.channel.Kv3p3_MA2024_PC(size, g_max=Quantity(0.005, 'S / cm^2'), temp=Quantity(295.15, 'K'), gateCurrent=0.0, name=None)#

Kv3.3 high-threshold potassium current of the Purkinje model.

Fast-activating, non-inactivating high-threshold potassium current imported from the human Purkinje cell model of Masoli et al. (2024) [3]. Gating is a single n gate of power 4 in alpha/beta form:

\[\begin{split}\begin{aligned} \alpha_n &= 0.22 \, \exp((V + 16) / 26.5) \\ \beta_n &= 0.22 \, \exp(-(V + 16) / 26.5) \end{aligned}\end{split}\]

where \(V\) is in millivolts and the rates are per millisecond. Because the two prefactors are equal, \(n_\infty = \alpha_n / (\alpha_n + \beta_n)\) is exactly 0.5 at -16 mV, and the \(n^4\) conductance reaches half its maximum near +6.1 mV – the high activation threshold the source mechanism’s TITLE line describes.

Parameters:
  • size (int | Sequence[int] | integer | Sequence[integer]) – Channel state shape.

  • g_max (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Maximal conductance density. Defaults to 0.005 S/cm2, equivalently 5.0 mS/cm2, which is exactly the source mechanism’s gbar = 0.005 S/cm2. Most channels in this module spell their default in mS/cm2; this one keeps the .mod file’s own S/cm2, so read the number with care.

  • temp (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Absolute temperature driving the gate’s q10 factor, default 22 degrees Celsius. This equals the gate’s reference temperature, so the default temperature factor is exactly 1.

  • gateCurrent (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Gating-current switch, default 0.0 (dimensionless, off). Any non-zero value enables the gating-current term described below.

  • name (str | None) – Optional channel name.

See also

Kv1p1_MA2024_PC

Kv1.1 current of the same model, sharing this class’s gating-current construction.

Kv3p4_MA2024_PC

The other Kv3-family current of the same model.

Notes

Ported from PC/channel/Kv3p3_MA24_PC.mod. No other cell type in this repository imports this mechanism, so unlike most channels in this module it has no sibling ports.

Why this class overrides current. The mechanism emits an optional Kv gating current alongside the ionic current, so OhmicHH is not enough. current() returns

\[g_{\max} \, n^4 \, (E_K - V) - I_{\text{gate}}\]

with

\[I_{\text{gate}} = n_c \cdot 10^{6} \cdot e_0 \cdot 4 \, z_n \cdot \frac{\mathrm{d}n}{\mathrm{d}t}, \qquad n_c = 10^{12} \, \frac{g_{\max}}{g_{\text{unit}}}\]

where \(g_{\text{unit}} = 16\) pS is the unitary channel conductance, \(z_n = 1.9196\) the n-gate valence, \(e_0 = 1.60217646 \times 10^{-19}\) C the elementary charge and \(\mathrm{d}n/\mathrm{d}t\) the same \(\phi(\alpha_n (1 - n) - \beta_n n)\) the gate integrates. NEURON emits this term as a separate NONSPECIFIC_CURRENT; BrainCell folds it into the single current() return, and the subtraction reflects the package’s inward-positive sign convention against NMODL’s outward-positive one. The term is selected with u.math.where rather than a Python branch, so gateCurrent may be an array and the choice stays traceable. The construction is the one Kv1p1_MA2024_PC uses; only \(z_n\) and the rate constants differ.

Where the q10 factor is applied. The gate declares q10 = 2.7 at a reference of 22 degrees Celsius, so HH.compute_derivative() scales the rate balance by \(\phi = 2.7^{(T - 22)/10}\). The .mod file instead multiplies qt into alpha and beta, which divides its taun by the same factor. The two forms are algebraically identical.

Provenance. The .mod header states that the six rate parameters were obtained by least-squares fits to \(G/G_{\max}(V)\) and \(\tau_n(V)\) data recorded from rat cerebellar Purkinje neurons by Martina et al. (2007) [1], and names the RIKEN implementation published by Akemann et al. (2009) [2] as its model reference. The Purkinje-cell paper [3] names the model this parameterisation was imported from, not the origin of the equations.

Two header transcription errors are worth knowing about, and neither is reproduced above. The header prints the Martina page range as “563-671”; the published range is 563-571, with a stray unbalanced parenthesis before it. And the mechanism itself is named for the Kv3 family as a whole – its TITLE reads “Voltage-gated potassium channel from Kv3 subunits” – with the specific “.3” arriving only through the ported file’s own : Suffix from Kv3 to Kv3_3 rename line, not from either origin paper.

Conductance default. 0.005 S/cm2 is the deposit’s tuned value, carried across from the .mod file. It is not a value printed in any of the cited papers.

Import deviations: none. This mechanism carries no NMODL TABLE and was already integrated with cnexp upstream, so neither the table-removal nor the derivimplicit substitution recorded for other channels in this model applies here.

References

current(V, K)[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.

root_type#

alias of Potassium