source: project/release/3/nemo/trunk/examples/AKP06/PotIhCa.scm @ 11995

Last change on this file since 11995 was 11995, checked in by Ivan Raikov, 12 years ago

More bug fixes.

File size: 7.1 KB
Line 
1;;  -*- Hen -*-
2
3(nemo-model PotIhCa
4            ((input v  cai cao)
5             
6             (const Vrest   = -68)
7             (const diam    = 20)
8             (const celsius = 24)
9             
10             (const temp_adj = (pow 3 (/ (- celsius 22) 10)))
11             
12             (defun ghk (v celsius ci co)
13               (let ((F 96485.0) (R 8.3145))
14                 (let ((zeta (/ (* 2e-3 F v) (* R (+ 273.19 celsius)))))
15                   (if (< (abs (- 1.0 (exp (neg zeta)))) 1e-6)
16                       (* 1e-6  (* 2 F) (- ci (* co (exp (neg zeta)))) (+ 1.0 (/ zeta 2)))
17                       (/ (* 1e-6 (* 2 zeta F) (- ci (* co (exp (neg zeta))))) (- 1.0 (exp (neg zeta))))))))
18             
19             
20             (component (type ion-channel) (name Kv1)
21                       
22                        (component (type gate)
23                                   
24                                   ;; rate functions
25                                   (defun Kv1_amf (v) 
26                                     (let ((cma 0.12889)
27                                           (cka -33.90877)
28                                           (cva 45))
29                                       (* cma (exp (neg (/ (+ v cva) cka))))))
30                                   
31                                   (defun Kv1_bmf (v)
32                                     (let ((cmb   0.12889)
33                                           (ckb   12.42101)
34                                           (cvb   45))
35                                       (* cmb (exp (neg (/ (+ v cvb) ckb))))))
36                                   
37                                   (hh-ionic-conductance 
38                                    (Kv1  ;; ion name: exported variables will be of the form {ion}_{id}
39                                     (initial-m (/ (Kv1_amf Vrest) (+ (Kv1_amf Vrest) (Kv1_bmf Vrest))))
40                                     (m-power   4)
41                                     (h-power   0)
42                                     (m-alpha   (* temp_adj (Kv1_amf v) ))
43                                     (m-beta    (* temp_adj (Kv1_bmf v) )))
44                                   
45                                    ))
46
47
48                       
49                        (component (type pore)
50                                   (const  gbar_Kv1  = 0.011)
51                                   (output gbar_Kv1 ))
52                       
53                        (component (type permeating-substance) (name k)
54                                   (const e_Kv1 = -85)
55                                   (output e_Kv1 ))
56                       
57                        ) ;; end Kv1 current
58             
59             
60             (component (type ion-channel) (name Kv4)
61
62                        (component (type gate)
63                                   
64                                   ;; rate functions
65                                   
66                                   
67                                   (defun Kv4_amf (v) 
68                                     (let ((can    0.15743)
69                                           (ckan   -32.19976)
70                                           (cvan   57))
71                                       (* can (exp (neg (/ (+ v cvan) ckan))))))
72                                   
73
74                                   (defun Kv4_bmf (v) 
75                                     (let ((cbn   0.15743)
76                                           (ckbn  37.51346)
77                                           (cvbn  57))
78                                       (* cbn (exp (neg (/ (+ v cvbn) ckbn))))))
79
80                                   
81                                   (defun Kv4_ahf (v) 
82                                     (let ((cah   0.01342)
83                                           (ckah  -7.86476)
84                                           (cvah  60))
85                                       (/ cah (+ 1.0 (exp (neg (/ (+ v cvah) ckah)))))))
86
87                                   
88                                   (defun Kv4_bhf (v) 
89                                     (let ((cbh   0.04477)
90                                           (ckbh  11.3615)
91                                           (cvbh  54))
92                                       (/ cbh (+ 1.0 (exp (neg (/ (+ v cvbh) ckbh)))))))
93
94                                   (hh-ionic-conductance 
95                                    (Kv4  ;; ion name: exported variables will be of the form {ion}_{id}
96                                     (initial-m (/ (Kv4_amf Vrest) (+ (Kv4_amf Vrest) (Kv4_bmf Vrest))))
97                                     (initial-h (/ (Kv4_ahf Vrest)  (+ (Kv4_ahf Vrest) (Kv4_bhf Vrest))) ) 
98                                     (m-power   4)
99                                     (h-power   1)
100                                     (m-alpha   (* temp_adj (Kv4_amf v)))
101                                     (m-beta    (* temp_adj (Kv4_bmf v)))
102                                     (h-alpha   (* temp_adj (Kv4_ahf v)))
103                                     (h-beta    (* temp_adj (Kv4_bhf v)))
104                                     ))
105                                   
106                                   )
107
108                        (component (type pore)
109                                   (const  gbar_Kv4  = 0.0039)
110                                   (output gbar_Kv4 ))
111                       
112                        (component (type permeating-substance) (name k)
113                                   (const e_Kv4 = -85)
114                                   (output e_Kv4 ))
115                       
116                        ) ;; end Kv4 current
117             
118             
119             (component (type ion-channel) (name Ih)
120                       
121                        (component (type gate)
122                                   
123                                   ;; rate functions
124                                   
125                                   (defun Ih_inf (v)
126                                     (let ((cvn   90.1)
127                                           (ckn   -9.9))
128                                       (/ 1.0 (+ 1.0 (exp (neg (/ (+ v cvn) ckn) ))))))
129                                   
130                                   (defun Ih_tau (v)   
131                                     (let ((cct  190)
132                                           (cat  720)
133                                           (cvt  81.5)
134                                           (ckt  11.9))
135                                       (+ cct (* cat (exp (neg (pow (/ (+ v cvt) ckt) 2)))))))
136                                   
137                                   (hh-ionic-conductance 
138                                    (Ih  ;; ion name: exported variables will be of the form {ion}_{id}
139                                     (initial-m (Ih_inf Vrest))
140                                     (m-power   1)
141                                     (h-power   0)
142                                     (m-inf     (Ih_inf v))
143                                     (m-tau     (/ temp_adj (Ih_tau v)))
144                                     ))
145                                   
146                                   )
147
148                        (component (type pore)
149                                   (const  gbar_Ih  = 0.2)
150                                   (output gbar_Ih ))
151                       
152                        (component (type permeating-substance) (name non-specific)
153                                   (const e_Ih = -30)
154                                   (output e_Ih ))
155                       
156                        ) ;; end Ih current
157
158             (component (type ion-channel) (name CaP)
159                       
160                        (component (type gate)
161                                   
162                                   ;; rate functions
163                                   (defun CaP_inf (v) 
164                                     (let ((cv  19)
165                                           (ck  5.5))
166                                       (/ 1.0 (+ 1.0 (exp (neg (/ (+ v cv) ck)))))))
167                                   
168                                   (defun CaP_tau (v temp_adj) 
169                                     (if (> v -50) 
170                                         (* 1e3 (+ 0.000191 (* 0.00376 (pow (exp (neg (/ (+ v 41.9) 27.8)))  2))))
171                                         (* 1e3 (+ 0.00026367 (* 0.1278 (exp (* 0.10327 v)))))))
172
173                                   (hh-ionic-conductance 
174                                    (CaP  ;; ion name: exported variables will be of the form {ion}_{id}
175                                     (initial-m  (CaP_inf Vrest))
176                                     (m-power    1)
177                                     (h-power    0)
178                                     (m-inf      (CaP_inf v))
179                                     (m-tau      (/ (CaP_tau v) temp_adj))))
180                                   
181                                   )
182
183                        (component (type pore)
184                                   (const gmax_CaP  = 0.01667)
185                                   (gbar_CaP = (* gmax_CaP (ghk v celsius cai cao)))
186                                   (output gbar_CaP ))
187                       
188                        (component (type accumulating-substance) (name ca) )
189                       
190                       
191                        ) ;; end CaP current
192
193             
194             (component (type ion-channel) (name CaBK)
195                       
196                        (component (type gate)
197                                   
198                                   ;; rate functions
199                                   
200                                   (defun CaBK_zinf (ca) 
201                                     (let ((zhalf 0.001))
202                                       (/ 1 (+ 1 (/ zhalf ca)))))
203
204                                   (const CaBK_ztau = 1.0)
205                                   
206                                   (defun CaBK_minf (v)
207                                     (let ((cvm  28.9)
208                                           (ckm  6.2))
209                                       (/ 1.0 (+ 1.0 (exp (neg (/ (+ v 5.0 cvm) ckm)))))))
210                                   
211                                   (defun CaBK_mtau (v)
212                                     (let ((ctm     0.000505)
213                                           (cvtm1   86.4)
214                                           (cktm1   -10.1)
215                                           (cvtm2   -33.3)
216                                           (cktm2   10))
217                                       (+ ctm (/ 1.0 (+ (exp (neg (/ (+ v 5.0 cvtm1) cktm1))) 
218                                                        (exp (neg (/ (+ v 5.0 cvtm2) cktm2))))))))
219           
220                                   (defun CaBK_hinf (v) 
221                                     (let ((ch    0.085)
222                                           (cvh   32)
223                                           (ckh   -5.8))
224                                       (+ ch (/ (- 1.0 ch) (+ 1.0 (exp (neg (/ (+ v 5.0 cvh) ckh))))))))
225                                   
226                                   (defun CaBK_htau (v)
227                                     (let ((cth     0.0019)
228                                           (cvth1   48.5)
229                                           (ckth1   -5.2)
230                                           (cvth2   -54.2)
231                                           (ckth2   12.9))
232                                       (+ cth (/ 1.0 ( + (exp (- (/ (+ v cvth1) ckth1))) 
233                                                         (exp (- (/ (+ v cvth2) ckth2))))))))
234                                   
235                                   (state-complex
236                                    (CaBK_z
237                                     (transitions (-> zC zO  (/ (CaBK_zinf cai) CaBK_ztau))
238                                                  (-> zO zC  (/ (- 1 (CaBK_zinf cai)) CaBK_ztau)))
239                                     (initial   (CaBK_zinf 1e-4))
240                                     (open zO)  (power 2)))
241                                   
242                                   (output CaBK_z ) 
243
244           
245                                   (hh-ionic-conductance 
246                                    (CaBK  ;; ion name: exported variables will be of the form {ion}_{id}
247                                     (initial-m  (/ (CaBK_minf Vrest) temp_adj))
248                                     (initial-h  (/ (CaBK_hinf Vrest) temp_adj ))
249                                     (m-power    3)
250                                     (h-power    1)
251                                     (m-inf      (/ (CaBK_minf v) temp_adj ))
252                                     (m-tau      (/ (CaBK_mtau v) temp_adj ))
253                                     (h-inf      (/ (CaBK_hinf v) temp_adj) )
254                                     (h-tau      (/ (CaBK_htau v) temp_adj) )))
255                                   
256                                   )
257                       
258                        (component (type pore)
259                                   (const  gbar_CaBK  = 0.014)
260                                   (output gbar_CaBK ))
261                       
262                        (component (type permeating-substance) (name k)
263                                   (const e_CaBK = -85)
264                                   (output e_CaBK ))
265                       
266                        ) ;; end BK current
267             
268             
269             
270             )) ;; end model
Note: See TracBrowser for help on using the repository browser.