source: project/release/4/nemo/trunk/examples/Golgi/parts/Golgi_Na.nemo @ 27148

Last change on this file since 27148 was 27148, checked in by Ivan Raikov, 9 years ago

nemo: added an example Golgi cell model

File size: 2.3 KB
Line 
1
2;; Reference: Theta-Frequency Bursting and Resonance in Cerebellar Granule Cells:Experimental
3;; Evidence and Modeling of a Slow K+-Dependent Mechanism
4;; Egidio D'Angelo,Thierry Nieus,Arianna Maffei,Simona Armano,Paola Rossi,Vanni Taglietti,
5;; Andrea Fontana and Giovanni Naldi
6
7(nemo-model Golgi_Na
8
9  (
10   (input v celsius)
11
12   (defun linoid (x y)
13         (if ((abs (x / y)) < 1e-6)
14             then (y * (1 - ((x / y) / 2)))
15             else (x / (1 - exp (x / y) ))
16              ))
17
18
19   (component (type ionic-current) (name Na )
20             
21              (component (type gate)
22
23                         ;; rate constants
24                         (Q10 = (pow (3 ((celsius - 20) / 10))))
25
26                         (const Aalpha_m  = 0.3)
27                         (const Kalpha_m  = -10)
28                         (const V0alpha_m = -25)
29       
30                         (const Abeta_m  = 12)
31                         (const Kbeta_m  = -18.182)
32                         (const V0beta_m = -50)
33
34                         (const Aalpha_h  = 0.21)
35                         (const Kalpha_h  = -3.333)
36                         (const V0alpha_h = -50)
37 
38                         (const Abeta_h  = 3)
39                         (const Kbeta_h  = -5)
40                         (const V0beta_h = -17)
41
42                         ;; rate functions
43                         (defun alpha_m (v Q10)
44                           (Q10 * Aalpha_m * linoid((v - V0alpha_m) Kalpha_m) ))
45
46                         (defun beta_m (v Q10)
47                           (Q10 * Abeta_m * exp((v - V0beta_m) / Kbeta_m) ))
48
49                         (defun alpha_h (v Q10)
50                           (Q10 * Aalpha_h * exp((v - V0alpha_h) / Kalpha_h) ))
51                               
52                         (defun beta_h (v Q10)
53                           (Q10 * Abeta_h / (1 + exp((v - V0beta_h) / Kbeta_h) )))
54
55                         
56                         (hh-ionic-gate
57                          (Na  ;; ion name: exported variables will be of the form {ion}_{id}
58                           (initial-m  ((alpha_m (v Q10)) / (alpha_m (v Q10) + beta_m (v Q10)) ))
59                           (initial-h  ((alpha_h (v Q10)) / (alpha_h (v Q10) + beta_h (v Q10)) ))
60                           (m-power    3)
61                           (h-power    1)
62                           (m-alpha    (alpha_m (v Q10)))
63                           (m-beta     (beta_m (v Q10)))
64                           (h-alpha    (alpha_h (v Q10)))
65                           (h-beta     (beta_h (v Q10)))
66                           ))
67                         
68                         )
69             
70              (component (type pore)
71                         (const  gbar  = 0.048)
72                         (output gbar ))
73
74             
75              (component (type permeating-ion) (name na)
76                         (const e = 87.39)
77                         (output e ))
78             
79              ) ;; end Na current
80
81
82   (component (type voltage-clamp) (name Na)
83
84              (const vchold   = -71)
85              (const vcbase   = -60)
86              (const vcinc    = 10)
87              (const vcsteps  = 9)
88              (const vchdur   = 30)
89              (const vcbdur   = 100)
90           
91              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
92
93))
Note: See TracBrowser for help on using the repository browser.