-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnav1p7.mod
118 lines (89 loc) · 1.95 KB
/
nav1p7.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
COMMENT
Human WT NaV1.7 Channel
reproduced from
Sheets Et. Al (2007)
ENDCOMMENT
UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
(S) = (siemens)
}
NEURON {
SUFFIX nav1p7
USEION na READ ena WRITE ina
RANGE gnabar, gna, ina
RANGE minf, mtau
RANGE hinf, htau
RANGE sinf, stau
RANGE emut, rmut
RANGE q10
}
PARAMETER{
gnabar = 0.018 (S/cm2)
emut = 0
rmut = 0.0
: q10 = 2.5
}
ASSIGNED {
celsius (degC)
v (mV)
ina (mA/cm2)
ena (mV)
gna (S/cm2)
malpha (1/ms)
mbeta (1/ms)
minf (1)
mtau (ms)
halpha (1/ms)
hbeta (1/ms)
hinf (1)
htau (ms)
salpha (1/ms)
sbeta (1/ms)
sinf (1)
stau (ms)
: tadj (1)
}
STATE{
m h s
}
UNITSOFF
INITIAL{
settables(v)
: tadj = q10 ^ (( celsius - 21) / 10)
m = minf
h = hinf
s = sinf
}
BREAKPOINT{
SOLVE states METHOD cnexp
gna = gnabar * m^3 * h * s
ina = gna * ((1 - rmut) * (v - ena) + (rmut * (v - emut)))
}
DERIVATIVE states{
settables(v)
m' = (minf-m)/mtau
h' = (hinf-h)/htau
s' = (sinf-s)/stau
}
PROCEDURE settables(v (mV)){
TABLE minf, mtau, hinf, htau, sinf, stau
: DEPEND celsius
FROM -100 TO 100 WITH 200
malpha = 15.5 / (1 + exp((v-5 ) / -12.08))
mbeta = 35.2 / (1 + exp((v+72.7) / 16.7))
minf = malpha / (malpha + mbeta)
mtau = 1 / (malpha + mbeta)
: mtau = 1 / (malpha + mbeta) / tadj
halpha = 0.38685 / ( 1 + exp( (v + 122.35) / 15.29 ))
hbeta = -0.00283 + 2.00283 / ( 1 + exp( (v + 5.5266) / -12.70195))
hinf = halpha / (halpha + hbeta)
htau = 1 / (halpha + hbeta)
: htau = 1 / (halpha + hbeta) / tadj
salpha = 0.00003 + 0.00092 / ( 1 + exp( (v + 93.9 ) / 16.6))
sbeta = 132.05 - 132.05 / ( 1 + exp( (v - 384.9) / 28.5))
sinf = salpha / (salpha + sbeta)
stau = 1 / (salpha + sbeta)
: stau = 1 / (salpha + sbeta) / tadj
}
UNITSON