-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNav1p1.mod
104 lines (85 loc) · 1.68 KB
/
Nav1p1.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
92
93
94
95
96
97
98
99
100
101
102
103
: Nav1.1
UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
(S) = (siemens)
}
NEURON {
SUFFIX nav1p1
USEION na READ ena WRITE ina
RANGE gnabar, gna, ina
GLOBAL vhminf, kminf, amtaul, bmtaul, cmtaul, dmtaul, amtaur, bmtaur, cmtaur, dmtaur,brkvmtau
GLOBAL vhhinf, khinf, ahtaul, bhtaul, chtaul, dhtaul, ahtaur, bhtaur, chtaur, dhtaur, brkvhtau
}
PARAMETER{
gnabar = 0.008 (S/cm2)
ena = 55 (mV)
vhminf = -35
kminf = 5.5
amtaul = 0.006
bmtaul = 0.08
cmtaul = -55
dmtaul = 12
brkvmtau = -50
amtaur = 0.015
bmtaur = 0.065
cmtaur = -10.8
dmtaur = 10
vhhinf = -40
khinf = 12
ahtaul = 1.98
bhtaul = 8.54
chtaul = -73.3
dhtaul = 4.7
brkvhtau = -55
ahtaur = 0.17
bhtaur = 10.82
chtaur = -39.1
dhtaur = 4.59
}
ASSIGNED{
v (mV)
ina (mA/cm2)
gna (S/cm2)
minf
hinf
mtau (ms)
htau (ms)
}
STATE{
m h
}
BREAKPOINT{
SOLVE states METHOD cnexp
gna = gnabar * m^3 * h
ina = gna * (v - ena)
}
UNITSOFF
INITIAL{
settables(v)
m = minf
h = hinf
}
DERIVATIVE states{
settables(v)
m' = (minf-m)/mtau
h' = (hinf-h)/htau
}
UNITSOFF
PROCEDURE settables(v (mV)){
TABLE minf, mtau, hinf, htau
FROM -100 TO 100 WITH 200
minf = 1/(1+exp(-(v-vhminf)/kminf))
if (v < brkvmtau){
mtau = amtaul+bmtaul*(1/(1+exp(-(v-cmtaul)/dmtaul)))
}else{
mtau = amtaur+bmtaur*(1/(1+exp((v-cmtaur)/dmtaur)))
}
hinf = 1/(1+exp((v-vhhinf)/khinf))
if (v < brkvhtau){
htau = ahtaul+bhtaul*(1/(1+exp(-(v-chtaul)/dhtaul)))
}else{
htau = ahtaur+bhtaur*(1/(1+exp((v-chtaur)/dhtaur)))
}
}
UNITSON