Kv1p5_MA2020_GrC#

class braincell.channel.Kv1p5_MA2020_GrC(size, g_max=Quantity(0.00013195, 'S / cm^2'), gnonspec=Quantity(0., 'S / cm^2'), temp=Quantity(310.15, 'K'), Tauact=1.0, Tauinactf=1.0, Tauinacts=1.0, name=None)#

Granule-cell Kv1.5 channel with two current owners.

This channel imports the two-current form of the NEURON mechanism Kv1p5_MA20_GrC.mod. The relevant source lines are quoted here because the mechanism depends on potassium and sodium concentrations while writing two separate current variables:

"USEION k READ ek,ki,ko WRITE ik"
"USEION na READ nai,nao"
"USEION no WRITE ino VALENCE 1: nonspecific cation current"
"ik = gKur*(0.1 + 1/(1 + exp(-(v - 15)/13)))*m*m*m*n*u*(v - ek)"
"ino=gnonspec*(0.1 + 1/(1 + exp(-(v - 15)/13)))*m*m*m*n*u*(v - z*log((nao+ko)/(nai+ki)))"
Parameters:
  • size (int | Sequence[int] | integer | Sequence[integer]) – Channel state shape.

  • g_max (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Maximum potassium conductance, default 0.13195e-3 S/cm2. This is the BrainCell name for the NEURON gKur parameter.

  • gnonspec (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Maximum nonspecific cation conductance for the ino component, default 0.0 S/cm2.

  • temp (Array | ndarray | bool | number | bool | int | float | complex | Quantity) – Absolute temperature used by the q10 and nonspecific reversal expressions, default 37 degrees Celsius.

  • Tauact (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Activation time-scale multiplier, default 1.0 (dimensionless).

  • Tauinactf (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Fast inactivation time-scale multiplier, default 1.0 (dimensionless).

  • Tauinacts (Array | ndarray | bool | number | bool | int | float | complex | Quantity | Callable) – Slow inactivation time-scale multiplier, default 1.0 (dimensionless).

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

See also

Kv1p5_MA2024_PC

Purkinje-cell parent class that supplies the inherited gate kinetics.

Notes

BrainCell keeps current(...) as the total membrane-current API. The special multi-owner case is exposed through current_components(), which returns {"k": ik, "no": ino}. Sodium is a read-only concentration dependency for the nonspecific reversal expression and is not a current owner. No is a placeholder ion that receives the nonspecific current contribution.

The inherited Kv1.5 gate kinetics are potassium kinetics and are reused verbatim from Kv1p5_MA2024_PC. Gate methods declare only the ion arguments they read, so the inherited f_m_inf(self, V, K) and friends bind to potassium alone even though this channel is rooted on three ions. The parent declares three gates – m (power 3), n (power 1) and u (power 1) – so the shared gate product used by both current components is

\[m^3 \, n \, u\]

and both components are further scaled by the shared voltage factor computed in _voltage_factor:

\[0.1 + \frac{1}{1 + \exp\left(-\dfrac{V - 15\ \text{mV}} {13\ \text{mV}}\right)}\]

Temperature scaling is not attached through the gate objects: the parent’s gates tuple sets neither phi nor q10, so HH.gate_phi() resolves to the default 1.0 for m, n and u alike. Instead the parent’s own _q10 method computes 2.2 ** ((temp_K - 310.15) / 10) (310.15 K is 37 degrees Celsius) and multiplies it into the alpha/beta rates used inside f_m_tau and f_n_tau only; f_u_tau returns the constant 6800 * Tauinacts and receives no q10 scaling at all. This is the mechanism’s own code path, not a general BrainCell convention, and it is reproduced here rather than any closed-form temperature dependence printed in the cited papers.

BrainCell channel currents use the package convention conductance * (E - V). The quoted NEURON source assigns (v - E) currents, so this implementation uses the sign convention already used by the surrounding BrainCell channel catalogue.

This mechanism is a cardiac IKur channel, not a cerebellar one: the .mod file Kv1p5_MA20_GrC.mod carries the TITLE “Cardiac IKur current & nonspec cation current with identical kinetics”, and its kinetics were fitted to human atrial myocyte recordings by Feng et al. (1998) [1], not to any cerebellar recording. The granule-cell citation [2] names the model BrainCell imported this parameterisation from – the MA2020 granule-cell deposit – not the origin of the kinetics.

References

current(V, K, Na, No)[source]#

Return total Kv1.5 membrane current.

Parameters:
  • V (array-like) – Membrane potential.

  • K (IonInfo) – Potassium ion information used by the ik component.

  • Na (IonInfo) – Sodium ion information read by the nonspecific reversal expression.

  • No (IonInfo) – Nonspecific current-owner placeholder information.

Returns:

Sum of the potassium ik and nonspecific ino components.

Return type:

array-like

Notes

This method remains the value consumed by the membrane voltage solver. Owner-specific ion totals use current_components() instead.

current_components(V, K, Na, No)[source]#

Return owner-specific Kv1.5 current components.

Parameters:
  • V (array-like) – Membrane potential.

  • K (IonInfo) – Potassium ion information supplying E, Ci, and Co.

  • Na (IonInfo) – Sodium ion information supplying Ci and Co for the nonspecific reversal expression.

  • No (IonInfo) – Nonspecific current-owner placeholder. It is accepted for root-type compatibility and ownership but does not enter the NEURON formula directly.

Returns:

Mapping "k" to the potassium component and "no" to the nonspecific cation component.

Return type:

dict

Notes

The NEURON source computes:

"ik = gKur*(0.1 + 1/(1 + exp(-(v - 15)/13)))*m*m*m*n*u*(v - ek)"
"ino=gnonspec*(0.1 + 1/(1 + exp(-(v - 15)/13)))*m*m*m*n*u*(v - z*log((nao+ko)/(nai+ki)))"

BrainCell uses (E - V) current signs. The nonspecific reversal expression is therefore expanded directly in this method as z * log((nao + ko) / (nai + ki)) and used in gnonspec * gates * (E_no - V).