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

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

More fixes to the matlab code generator.

File size: 3.0 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                              (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       ))
Note: See TracBrowser for help on using the repository browser.