knadapt

package
v1.1.31 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2021 License: BSD-3-Clause Imports: 0 Imported by: 0

README

knadapt

Package knadapt provides code for sodium (Na) gated potassium (K) currents that drive adaptation (accommodation) in neural firing. As neurons spike, driving an influx of Na, this activates the K channels, which, like leak channels, pull the membrane potential back down toward rest (or even below). Multiple different time constants have been identified and this implementation supports 3: M-type (fast), Slick (medium), and Slack (slow)

Here's a good reference:

Kaczmarek, L. K. (2013). Slack, Slick, and Sodium-Activated Potassium Channels. ISRN Neuroscience, 2013. https://doi.org/10.1155/2013/354262

This package supports both spiking and rate-coded activations.

Spiking

The logic is simplest for the spiking case:

	if spike {
		gKNa += Rise * (Max - gKNa)
	} else {
		gKNa -= 1/Tau * gKNa
	}

The KNa conductance ($g_{kna}$ in mathematical terminology, gKNa in the program) rises to a Max value with a Rise rate constant, when the neuron spikes, and otherwise it decays back down to zero with another time constant Tau.

Rate code

The equivalent rate-code equation just substitutes the rate-coded activation variable in as a multiplier on the rise term:

	gKNa += act * Rise * (Max - gKNa) - (1/Tau * gKNa)

Defaults

The default parameters, which were fit to various empirical firing patterns and also have proven useful in simulations, are:

Channel Type Tau (ms) Rise Max
Fast (M-type) 50 0.05 0.1
Medium (Slick) 200 0.02 0.1
Slow (Slack) 1000 0.001 1.0

Documentation

Overview

Package knadapt provides code for sodium (Na) gated potassium (K) currents that drive adaptation (accommodation) in neural firing. As neurons spike, driving an influx of Na, this activates the K channels, which, like leak channels, pull the membrane potential back down toward rest (or even below). Multiple different time constants have been identified and this implementation supports 3: M-type (fast), Slick (medium), and Slack (slow)

Here's a good reference:

Kaczmarek, L. K. (2013). Slack, Slick, and Sodium-Activated Potassium Channels. ISRN Neuroscience, 2013. https://doi.org/10.1155/2013/354262

This package supports both spiking and rate-coded activations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Chan

type Chan struct {
	On   bool    `desc:"if On, use this component of K-Na adaptation"`
	Rise float32 `` /* 143-byte string literal not displayed */
	Max  float32 `` /* 133-byte string literal not displayed */
	Tau  float32 `` /* 191-byte string literal not displayed */
	Dt   float32 `view:"-" desc:"1/Tau rate constant"`
}

Chan describes one channel type of sodium-gated adaptation, with a specific set of rate constants.

func (*Chan) Defaults

func (ka *Chan) Defaults()

func (*Chan) GcFmRate

func (ka *Chan) GcFmRate(gKNa *float32, act float32)

GcFmRate updates the KNa conductance based on rate-coded activation. act should already have the compensatory rate multiplier prior to calling.

func (*Chan) GcFmSpike

func (ka *Chan) GcFmSpike(gKNa *float32, spike bool)

GcFmSpike updates the KNa conductance based on spike or not

func (*Chan) Update

func (ka *Chan) Update()

type Params

type Params struct {
	On   bool    `desc:"if On, apply K-Na adaptation"`
	Rate float32 `viewif:"On" def:"0.8" desc:"extra multiplier for rate-coded activations on rise factors -- adjust to match discrete spiking"`
	Fast Chan    `view:"inline" desc:"fast time-scale adaptation"`
	Med  Chan    `view:"inline" desc:"medium time-scale adaptation"`
	Slow Chan    `view:"inline" desc:"slow time-scale adaptation"`
}

Params describes sodium-gated potassium channel adaptation mechanism. Evidence supports at least 3 different time constants: M-type (fast), Slick (medium), and Slack (slow)

func (*Params) Defaults

func (ka *Params) Defaults()

func (*Params) GcFmRate

func (ka *Params) GcFmRate(gKNaF, gKNaM, gKNaS *float32, act float32)

GcFmRate updates all time scales of KNa adaptation from rate code activation

func (*Params) GcFmSpike

func (ka *Params) GcFmSpike(gKNaF, gKNaM, gKNaS *float32, spike bool)

GcFmSpike updates all time scales of KNa adaptation from spiking

func (*Params) Update

func (ka *Params) Update()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL