-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAradi_Na.mod
76 lines (62 loc) · 1.11 KB
/
Aradi_Na.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
: Transient Na conductance
NEURON {
SUFFIX Na
USEION na READ ena WRITE ina
RANGE gbar, minf, mtau, hinf, htau, i, g, m, h, taumult, htaumult
}
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
}
PARAMETER {
gbar = 0 (S/cm2)
taumult = 1
htaumult = 1
vmin = -100 (mV) : for look-up table
vmax = 100 (mV)
}
ASSIGNED {
v (mV)
i (mA/cm2)
ina (mA/cm2)
g (S/cm2)
ena (mV)
malpha (/ms)
mbeta (/ms)
minf
mtau (ms)
halpha (/ms)
hbeta (/ms)
hinf
htau (ms)
}
STATE { m h }
INITIAL {
rates(v)
m = minf
h = hinf
}
BREAKPOINT {
SOLVE states METHOD cnexp
g = gbar*(m^3)*h
ina = g*(v - ena)
i = ina
}
DERIVATIVE states {
rates(v)
m' = (minf - m)/mtau
h' = (hinf - h)/htau
}
PROCEDURE rates(v (mV)) {
TABLE minf, mtau, hinf, htau
DEPEND taumult, htaumult
FROM vmin TO vmax WITH 199
malpha = 0.3*(v+45)/(1-exp(-0.2*(v+45)))
mbeta = -0.3*(v+17)/(1-exp(0.2*(v+17)))
mtau = taumult/(malpha + mbeta)
minf = malpha/(malpha + mbeta)
halpha = 0.23*exp(-0.05*(v+67))
hbeta = 3.33/(1+exp(-0.1*(v+14.5)))
htau = htaumult/(halpha + hbeta)
hinf = halpha/(halpha + hbeta)
}