1 | ;; -*- Hen -*- |
---|
2 | |
---|
3 | ;; |
---|
4 | ;; This model is used to calculate the channel conductance assuming |
---|
5 | ;; some initial state. The calculation is based on sodium ion flow, |
---|
6 | ;; potassium ion flow and leakage ion flow. (Hodgkin, A. L. and Huxley, |
---|
7 | ;; A. F. (1952) "A Quantitative Description of Membrane Current and its |
---|
8 | ;; Application to Conduction and Excitation in Nerve" Journal of |
---|
9 | ;; Physiology 117: 500-544) |
---|
10 | ;; |
---|
11 | |
---|
12 | (nemo-model hodgkin-huxley |
---|
13 | ((input v) |
---|
14 | |
---|
15 | (const Vrest = -65) |
---|
16 | |
---|
17 | (component (type membrane-capacitance) |
---|
18 | (const C = 1) |
---|
19 | (output C)) |
---|
20 | |
---|
21 | (component (type ion-channel) |
---|
22 | (component (type gate) |
---|
23 | |
---|
24 | ;; rate functions |
---|
25 | (defun amf (v) (0.1 * ((v + 40) / (1.0 - (exp ((neg (v + 40)) / 10)))))) |
---|
26 | (defun bmf (v) (4.0 * (exp ((neg (v + 65)) / 18)))) |
---|
27 | (defun ahf (v) (0.07 * (exp ((neg (v + 65)) / 20)))) |
---|
28 | (defun bhf (v) (1.0 / (1.0 + (exp ((neg (v + 35)) / 10))))) |
---|
29 | |
---|
30 | ;; model states |
---|
31 | |
---|
32 | ;; the value of state complex m is determined by state m1 (open state) |
---|
33 | ;; |
---|
34 | ;; each statement in the transitions block is of the form (-> SRC DEST RATE) |
---|
35 | ;; |
---|
36 | (state-complex (m (transitions (<-> C O (amf (v)) (bmf (v))) ) |
---|
37 | (initial (amf (Vrest) / (amf (Vrest) + bmf (Vrest))) ) |
---|
38 | (open O) (power 3))) |
---|
39 | |
---|
40 | |
---|
41 | |
---|
42 | ;; the value of state complex h is determined by state h1 (open state) |
---|
43 | (state-complex (h (transitions (<-> C O (ahf (v)) (bhf (v)))) |
---|
44 | (initial (ahf (Vrest) / (ahf (Vrest) + bhf (Vrest))) ) |
---|
45 | (open O) (power 1))) |
---|
46 | |
---|
47 | ;; state definitions exported by this model |
---|
48 | (output m h ) |
---|
49 | ) |
---|
50 | |
---|
51 | (component (type pore) |
---|
52 | (const gbar_Na = 120) |
---|
53 | (output gbar_Na ) |
---|
54 | ) |
---|
55 | |
---|
56 | (component (type permeating-substance) (name na) |
---|
57 | (const e_Na = 50) |
---|
58 | (output e_Na )) |
---|
59 | |
---|
60 | |
---|
61 | ) |
---|
62 | |
---|
63 | (component (type ion-channel) |
---|
64 | (component (type gate) |
---|
65 | |
---|
66 | ;; rate functions |
---|
67 | (defun anf (v) (0.01 * ((v + 55) / (1 - (exp ((neg (v + 55)) / 10)))))) |
---|
68 | (defun bnf (v) (0.125 * (exp ((neg (v + 65)) / 80)))) |
---|
69 | |
---|
70 | ;; model states |
---|
71 | |
---|
72 | ;; the value of state complex m is determined by state m1 (open state) |
---|
73 | ;; |
---|
74 | ;; each statement in the transitions block is of the form (-> SRC DEST RATE) |
---|
75 | ;; |
---|
76 | ;; the value of state complex n is determined by state n1 (open state) |
---|
77 | (state-complex (n (transitions (<-> C O (anf (v)) (bnf (v))) ) |
---|
78 | (initial (anf (Vrest) / (anf (Vrest) + bnf (Vrest))) ) |
---|
79 | (open O) (power 4))) |
---|
80 | |
---|
81 | ;; state definitions exported by this model |
---|
82 | (output n) |
---|
83 | ) |
---|
84 | |
---|
85 | (component (type pore) |
---|
86 | (const gbar_K = 36) |
---|
87 | (output gbar_K )) |
---|
88 | |
---|
89 | (component (type permeating-substance) (name k) |
---|
90 | (const e_K = -77) |
---|
91 | (output e_K )) |
---|
92 | |
---|
93 | |
---|
94 | ) |
---|
95 | |
---|
96 | |
---|
97 | (component (type ion-channel) (name Leak) |
---|
98 | |
---|
99 | (component (type pore) |
---|
100 | (const gbar_Leak = 0.3) |
---|
101 | (output gbar_Leak )) |
---|
102 | |
---|
103 | (component (type permeating-substance) (name non-specific) |
---|
104 | (const e_Leak = -54.4) |
---|
105 | (output e_Leak )) |
---|
106 | |
---|
107 | ) ;; end leak current |
---|
108 | |
---|
109 | )) |
---|