-
Notifications
You must be signed in to change notification settings - Fork 0
/
Kdr_nmodl.mod
127 lines (94 loc) · 2.61 KB
/
Kdr_nmodl.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
119
120
121
122
123
124
125
126
COMMENT
**************************************************
File generated by: neuroConstruct v1.6.0
**************************************************
This file holds the implementation in NEURON of the Cell Mechanism:
Kdr_nmodl (Type: Channel mechanism, Model: File Based Membrane Mechanism)
with parameters:
Max Conductance Density = 6.0E-6 mS um^-2
ENDCOMMENT
TITLE Delayed rectifire
COMMENT
from "An Active Membrane Model of the Cerebellar Purkinje Cell
1. Simulation of Current Clamp in Slice"
Taken from De Schutter model conversion from GENESIS by Jenny Davie, Arnd Roth,
Volker Steuber, Erik De Schutter & Michael Hausser 28.8.2004
ENDCOMMENT
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
}
NEURON {
SUFFIX Kdr_nmodl
USEION k WRITE ik
RANGE gmax, gk, minf, hinf, mexp, hexp, ik, alpha2, beta2, gamma2, zeta2
}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER {
v (mV)
celsius = 37 (degC)
dt (ms)
gmax = 0.6 (mho/cm2)
ek = -85 (mV)
}
STATE {
m h
}
ASSIGNED {
ik (mA/cm2)
gk minf hinf mexp hexp alpha2 beta2 gamma2 zeta2
}
BREAKPOINT {
SOLVE states
gk = gmax *m*m*h
ik = gk* (v-ek)
}
UNITSOFF
INITIAL {
trates(v)
m = minf
h = hinf
}
PROCEDURE states() { :Computes state variables m,h
trates(v) : at the current v and dt.
m = m + mexp*(minf-m)
h = h + hexp*(hinf-h)
}
PROCEDURE trates(v) {
TABLE minf, mexp, hinf, hexp DEPEND dt, celsius FROM -100 TO 100 WITH 200
rates(v)
}
PROCEDURE rates(vm) { :Computes rate and other constants at current v.
:Call once from HOC to initialize inf at resting v.
LOCAL q10, tinc, tauh, alpha, beta, gamma, zeta, taum
q10 = 3^((celsius - 37)/10)
tinc = -dt * q10
:"m" potassium activation system
alpha = trap0(vm,8,23.5e-3,12)
beta = 5*exp((vm+127)/(-30))
minf = alpha/(alpha+beta)
gamma = trap0(vm,-12,23.5e-3,12)
zeta = 5*exp((vm+147)/(-30))
taum = 1/(gamma + zeta)
mexp = 1 - exp(tinc/taum)
:"h" potassium activation system
hinf = 1.0 / (1+exp((vm+25)/4))
if(vm<-25) {
tauh = 1200
}else{
tauh = 10
}
hexp = 1 - exp(tinc/tauh)
alpha2 = alpha
beta2 = beta
gamma2 = gamma
zeta2 = zeta
}
FUNCTION trap0(vn,th,a,q) {
if (fabs(vn-th) > 1e-6) {
trap0 = a * (vn - th) / (1 - exp(-(vn - th)/q))
} else {
trap0 = a * q
}
}
UNITSON