source: project/release/3/nemo/trunk/examples/hh-substrate.nemo @ 12685

Last change on this file since 12685 was 12685, checked in by Ivan Raikov, 13 years ago

Bug fixes.

File size: 3.1 KB
Line 
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                              (conserve (1 = (C + O)))
39                              (open O)  (power 3)))
40
41
42           
43            ;; the value of state complex h is determined by state h1 (open state)
44            (state-complex (h (transitions (<-> C O (ahf (v)) (bhf (v))))
45                              ;(initial (ahf (Vrest) / (ahf (Vrest) + bhf (Vrest))) )
46                              (conserve (1 = (C + O)))
47                              (open O) (power 1)))
48           
49            ;; state definitions exported by this model
50            (output m h ) 
51            )
52
53         (component (type pore)
54            (const gbar_Na  = 120)
55            (output gbar_Na )
56            )
57
58         (component (type permeating-substance) (name na)
59                    (const e_Na = 50)
60                    (output e_Na ))
61
62         
63         )
64
65       (component (type ion-channel)
66         (component (type gate)
67                   
68            ;; rate functions
69            (defun anf (v)   (0.01  * ((v + 55) / (1 - (exp ((neg (v + 55)) / 10))))))
70            (defun bnf (v)   (0.125 * (exp ((neg (v + 65)) / 80))))
71
72            ;; model states
73           
74            ;; the value of state complex m is determined by state m1 (open state)
75            ;;
76            ;; each statement in the transitions block is of the form (-> SRC DEST RATE)
77            ;;
78            ;; the value of state complex n is determined by state n1 (open state)
79            (state-complex (n (transitions (<-> C O (anf (v)) (bnf (v))) )
80                              ;(initial (anf (Vrest) / (anf (Vrest) + bnf (Vrest))) )
81                              (conserve (1 = (C + O)))
82                              (open O)  (power 4)))
83           
84            ;; state definitions exported by this model
85            (output n)
86            )
87
88         (component (type pore)
89            (const   gbar_K   = 36)
90            (output  gbar_K ))
91
92         (component (type permeating-substance) (name k)
93                    (const e_K = -77)
94                    (output e_K ))
95
96
97          )
98
99
100       (component (type ion-channel) (name Leak)
101                 
102                  (component (type pore)
103                             (const  gbar_Leak  = 0.3)
104                             (output gbar_Leak ))
105                 
106              (component (type permeating-substance) (name non-specific)
107                         (const e_Leak = -54.4)
108                         (output e_Leak ))
109             
110              ) ;; end leak current
111
112       ))
Note: See TracBrowser for help on using the repository browser.