-
Notifications
You must be signed in to change notification settings - Fork 1
/
kpkj.mod
91 lines (75 loc) · 1.29 KB
/
kpkj.mod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
: HH TEA-sensitive Purkinje potassium current
: Created 8/5/02 - nwg
NEURON {
SUFFIX kpkj
USEION k READ ek WRITE ik
RANGE gkbar, ik
GLOBAL minf, hinf, mtau, htau
}
UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
}
PARAMETER {
v (mV)
gkbar = .004 (mho/cm2)
mivh = -24 (mV)
mik = 15.4 (1)
mty0 = .00012851
mtvh1 = 100.7 (mV)
mtk1 = 12.9 (1)
mtvh2 = -56.0 (mV)
mtk2 = -23.1 (1)
hiy0 = .31
hiA = .78
hivh = -5.802 (mV)
hik = 11.2 (1)
ek
}
ASSIGNED {
ik (mA/cm2)
minf
mtau (ms)
hinf
htau (ms)
}
STATE {
m
h
}
INITIAL {
rates(v)
m = minf
h = hinf
}
BREAKPOINT {
SOLVE states METHOD cnexp
ik = gkbar * m^3 * h * (v - ek)
}
DERIVATIVE states {
rates(v)
m' = (minf - m) / mtau
h' = (hinf - h) / htau
}
PROCEDURE rates( Vm (mV)) {
LOCAL v
v = Vm + 11 : Account for Junction Potential
minf = 1/(1+exp(-(v-mivh)/mik))
mtau = (1000) * mtau_func(v)
hinf = hiy0 + hiA/(1+exp((v-hivh)/hik))
htau = 1000 * htau_func(v)
}
FUNCTION mtau_func (v (mV)) (ms) {
if (v < -35) {
mtau_func = (3.4225e-5+.00498*exp(-v/-28.29))*3
} else {
mtau_func = (mty0 + 1/(exp((v+mtvh1)/mtk1)+exp((v+mtvh2)/mtk2)))
}
}
FUNCTION htau_func(Vm (mV)) (ms) {
if ( Vm > 0) {
htau_func = .0012+.0023*exp(-.141*Vm)
} else {
htau_func = 1.2202e-05 + .012 * exp(-((Vm-(-56.3))/49.6)^2)
}
}