TITLE Slow A-type potassium current (Kv1.2)
COMMENT
neuromodulation is added as functions:
modulation = 1 + damod*(maxMod-1)*level
where:
damod [0]: is a switch for turning modulation on or off {1/0}
maxMod [1]: is the maximum modulation for this specific channel (read from the param file)
e.g. 10% increase would correspond to a factor of 1.1 (100% +10%) {0-inf}
level [0]: is an additional parameter for scaling modulation.
Can be used simulate non static modulation by gradually changing the value from 0 to 1 {0-1}
[] == default values
{} == ranges
ENDCOMMENT
NEURON {
THREADSAFE
SUFFIX kas
USEION k READ ek WRITE ik
RANGE gbar, gk, ik
RANGE damod, maxMod, level, max2, lev2
}
UNITS {
(S) = (siemens)
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
gbar = 0.0 (S/cm2)
q = 3
a = 0.2
damod = 0
maxMod = 1
level = 0
max2 = 1
lev2 = 0
}
ASSIGNED {
v (mV)
ek (mV)
ik (mA/cm2)
gk (S/cm2)
minf
mtau (ms)
hinf
htau (ms)
}
STATE { m h }
BREAKPOINT {
SOLVE states METHOD cnexp
gk = gbar*m*m*h*modulation()
ik = gk*(v-ek)
}
DERIVATIVE states {
rates()
m' = (minf-m)/mtau*q
h' = (hinf-h)/htau*q
}
INITIAL {
rates()
m = minf
h = hinf
}
PROCEDURE rates() {
LOCAL alpha, beta, sum
UNITSOFF
alpha = 0.25/(1+exp((v-50)/(-20)))
beta = 0.05/(1+exp((v-(-90))/35))
sum = alpha+beta
minf = alpha/sum
mtau = 1/sum
alpha = 0.0025/(1+exp((v-(-95))/16))
beta = 0.002/(1+exp((v-50)/(-70)))
sum = alpha+beta
hinf = a+(alpha/sum)*(1-a)
htau = 1/sum
UNITSON
}
FUNCTION modulation() {
: returns modulation factor
modulation = 1 + damod * ( (maxMod-1)*level + (max2-1)*lev2 )
if (modulation < 0) {
modulation = 0
}
}
COMMENT
Original data by Shen (2004), diss MSN, rat, room temp.
Genesis implementation by Kai Du <kai.du@ki.se>, MScell v9.5.
NEURON implementation by Alexander Kozlov <akozlov@csc.kth.se>.
ENDCOMMENT