-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathProtCleftDyn.mod
More file actions
66 lines (50 loc) · 1.03 KB
/
ProtCleftDyn.mod
File metadata and controls
66 lines (50 loc) · 1.03 KB
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
TITLE synaptic cleft H+ concentration
: INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
NEURON {
: could be a POINTPROCESS ?
SUFFIX ProtCleftDyn
RANGE tot_prot, he, q, h0
}
UNITS {
(mV) = (millivolt)
(molar) = (1/liter) : moles do not appear in units
(mM) = (millimolar)
}
PARAMETER {
tau = 1 (ms)
pKd = 6.3 (1)
b0 = 22 (mM)
pH0 = 7.3 (1)
q0 = 2.2 (M/s)
Kd (mM)
}
STATE {
tot_prot (mM)
he (mM)
}
INITIAL {
h0 = (1000) * 10^(-pH0)
he = h0
Kd = (1000) * 10^(-pKd)
tot_prot = h0 * (1 + b0 / (h0 + Kd))
}
ASSIGNED {
v (mV)
q (mM/ms)
h0 (mM)
}
BREAKPOINT {
SOLVE state METHOD derivimplicit
}
DERIVATIVE state {
evaluate_fct(v)
tot_prot' = q - ((-(Kd + b0 - tot_prot) + sqrt((Kd + b0 - tot_prot)^2 + 4 * tot_prot * Kd)) / 2 - h0) / tau
he = (-(Kd + b0 - tot_prot) + sqrt((Kd + b0 - tot_prot)^2 + 4 * tot_prot * Kd)) / 2 : pourquoi il faut le mettre la ?
}
PROCEDURE evaluate_fct(v(mV)) {
if (v >= -30) {
q = q0
} else {
q = 0
}
}