Changeset 26998 in project


Ignore:
Timestamp:
07/05/12 11:46:24 (9 years ago)
Author:
Ivan Raikov
Message:

nemo: updates to granule cell example

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/nemo/trunk/examples/CGC.nemo

    r26997 r26998  
    77(nemo-model CGC
    88
    9       ((input v)
     9  (
     10   (input v
     11    (cai from ion-pools)
     12    (ica from ion-currents))
    1013
    1114   (const Vrest = -68)
    1215             
    1316   (const fix_celsius = 30)
    14    (const Q10 = (pow (3 ((fix_celsius - 22) / 10))))
     17
     18
     19
     20   (defun sigmoid (x y) (1 / (exp (x / y) + 1)))
     21   
     22
     23   (defun linoid (x y)
     24         (if ((abs (x / y)) < 1e-6)
     25             then (y * (1 - ((x / y) / 2)))
     26             else (x / (exp (x / y) - 1))
     27              ))
     28
     29   (component (type decaying-pool) (name ca)
     30              (const  F       = 96485.0)
     31              (const  d       = .2)
     32              (const  cao     = 2.)
     33              (const  cai0    = 1e-4)
     34              (const  beta    = 1.5)
     35             
     36              (d (ca) =  ((neg (ica) / (2 * F * d)) -
     37                          (beta * (cai - cai0)))
     38                         (initial cai0))
     39             
     40              (output ca)
     41              )
     42
    1543
    1644   (component (type ionic-current) (name CaHVA )
     
    1947
    2048                         ;; rate constants
     49
     50                         (const Q10 = (pow (3 ((fix_celsius - 20) / 10))))
    2151
    2252                         (const Aalpha_s  = 0.04944)
     
    5383                         (hh-ionic-gate
    5484                          (CaHVA  ;; ion name: exported variables will be of the form {ion}_{id}
    55                            (initial-m  (alpha_s (v))/(alpha_s (v) + beta_s (v)) )
     85                           (initial-m  ((alpha_s (v))/(alpha_s (v) + beta_s (v)) ))
     86                           (initial-h  ((alpha_u (v))/(alpha_u (v) + beta_u (v)) ))
    5687                           (m-power    2)
    5788                           (h-power    1)
     
    77108
    78109
     110   (component (type ionic-current) (name KA )
     111             
     112              (component (type gate)
     113
     114                         ;; rate constants
     115
     116                         (const Q10 = (pow (3 ((fix_celsius - 20) / 10))))
     117
     118                         (const Aalpha_a  = 4.88826)
     119                         (const Kalpha_a  = -23.32708)
     120                         (const V0alpha_a = -9.17203)
     121                         (const Abeta_a   = 0.99285)
     122                         (const Kbeta_a   = 19.47175)
     123                         (const V0beta_a  = -18.27914)
     124
     125                         (const Aalpha_b  = 0.11042)
     126                         (const Kalpha_b  = 12.8433)
     127                         (const V0alpha_b = -111.33209)
     128                         (const Abeta_b   = 0.10353)
     129                         (const Kbeta_b   = -8.90123)
     130                         (const V0beta_b  = -49.9537)
     131
     132                         (const V0_ainf = -46.7)
     133                         (const  K_ainf = -19.8)
     134
     135                         (const V0_binf   = -78.8)
     136                         (const K_binf    = 8.4)
     137
     138                         
     139                         ;; rate functions
     140
     141                         (defun alpha_a (v)
     142                           (Q10 * Aalpha_a * sigmoid((v - V0alpha_a) Kalpha_a)))
     143
     144                         (defun beta_a (v)
     145                           (Q10 * Abeta_a * exp((v - V0beta_a) / Kbeta_a)))
     146
     147                         (defun alpha_b (v)
     148                           (Q10 * Aalpha_b * sigmoid((v - V0alpha_b) Kalpha_b)))
     149
     150                         (defun beta_b (v)
     151                           (Q10 * Abeta_b * sigmoid((v - V0beta_b) Kbeta_b)))
     152
     153                         (a_inf = (1 / (1 + exp ((v - V0_ainf) / K_ainf))))
     154                         (tau_a = (1 / (alpha_a (v) + beta_a (v)) ))
     155                         (b_inf = (1 / (1 + exp ((v - V0_binf) / K_binf))))
     156                         (tau_b = (1 / (alpha_b (v) + beta_b (v)) ))
     157
     158                         (hh-ionic-gate
     159                          (KA  ;; ion name: exported variables will be of the form {ion}_{id}
     160                           (initial-m  ((alpha_a (v)) / (alpha_a (v) + beta_a (v)) ))
     161                           (initial-h  ((alpha_b (v)) / (alpha_b (v) + beta_b (v)) ))
     162                           (m-power    3)
     163                           (h-power    1)
     164                           (m-inf      a_inf)
     165                           (m-tau      tau_a)
     166                           (h-inf      b_inf)
     167                           (h-tau      tau_b)
     168                           ))
     169
     170                         )
     171
     172                     
     173              (component (type pore)
     174                         (const  gbar  = 0.004)
     175                         (output gbar ))
     176
     177             
     178              (component (type permeating-ion) (name k)
     179                         (const e = -84.69)
     180                         (output e ))
     181             
     182              ) ;; end KA current
     183   
     184
     185   (component (type ionic-current) (name KCa )
     186             
     187              (component (type gate)
     188
     189                         ;; rate constants
     190                         (const Q10 = (pow (3 ((fix_celsius - 30) / 10))))
     191                         
     192                         (const Aalpha_c = 2.5)
     193                         (const Balpha_c = 1.5e-3)
     194
     195                         (const Kalpha_c =  -11.765)
     196
     197                         (const Abeta_c = 1.5)
     198                         (const Bbeta_c = 0.15e-3)
     199
     200                         (const Kbeta_c = -11.765)
     201
     202                         ;; rate functions
     203                         (defun alpha_c (v cai)
     204                           (Q10 * Aalpha_c / (1 + (Balpha_c * exp(v / Kalpha_c) / cai))))
     205
     206                         (defun beta_c (v cai)
     207                           (Q10 * Abeta_c / (1 + (cai / (Bbeta_c * exp (v / Kbeta_c))) )))
     208
     209
     210                         (hh-ionic-gate
     211                          (KCa  ;; ion name: exported variables will be of the form {ion}_{id}
     212                           (initial-m  ((alpha_c (v cai)) / (alpha_c (v cai) + beta_c (v cai)) ))
     213                           (m-power    1)
     214                           (h-power    0)
     215                           (m-inf      (alpha_c (v cai)))
     216                           (m-tau      (beta_c (v cai)))
     217                           ))
     218                         
     219                         )
     220
     221              (component (type pore)
     222                         (const  gbar  = 0.004)
     223                         (output gbar ))
     224
     225             
     226              (component (type permeating-ion) (name k)
     227                         (const e = -84.69)
     228                         (output e ))
     229             
     230              ) ;; end KCa current
     231
     232
     233   (component (type ionic-current) (name Kir )
     234             
     235              (component (type gate)
     236
     237                         ;; rate constants
     238                         (const Q10 = (pow (3 ((fix_celsius - 20) / 10))))
     239
     240                         (const Aalpha_d = 0.13289)
     241                         (const Kalpha_d = -24.3902)
     242
     243                         (const V0alpha_d = -83.94)
     244                         (const Abeta_d   = 0.16994)
     245
     246                         (const Kbeta_d = 35.714)
     247                         (const V0beta_d = -83.94)
     248   
     249                         ;; rate functions
     250                         (defun alpha_d (v)
     251                           (Q10 * Aalpha_d * exp((v - V0alpha_d) / Kalpha_d)))
     252                         
     253                         (defun beta_d (v)
     254                           (Q10 * Abeta_d * exp((v - V0beta_d) / Kbeta_d) ))
     255
     256                         (hh-ionic-gate
     257                          (Kir  ;; ion name: exported variables will be of the form {ion}_{id}
     258                           (initial-m  ((alpha_d (v)) / (alpha_d (v) + beta_d (v)) ))
     259                           (m-power    1)
     260                           (h-power    0)
     261                           (m-inf      (alpha_d (v)))
     262                           (m-tau      (beta_d (v)))
     263                           ))
     264                         
     265                         )
     266
     267
     268              (component (type pore)
     269                         (const  gbar  = 0.0009)
     270                         (output gbar ))
     271
     272             
     273              (component (type permeating-ion) (name k)
     274                         (const e = -84.69)
     275                         (output e ))
     276             
     277              ) ;; end Kir current
     278             
     279                         
     280
     281   (component (type ionic-current) (name pNa )
     282             
     283              (component (type gate)
     284
     285                         ;; rate constants
     286                         (const Q10 = (pow (3 ((fix_celsius - 30) / 10))))
     287
     288                         (const Aalpha_m  = -0.091)
     289                         (const Kalpha_m  = -5)
     290                         (const V0alpha_m = -42)
     291                         (const Abeta_m   = 0.062)
     292                         (const Kbeta_m   = 5)
     293                         (const V0beta_m  = -42)
     294                         (const V0_minf   = -42)
     295                         (const B_minf    = 5)
     296
     297                         ;; rate functions
     298                         (defun alpha_m (v)
     299                           (Q10 * Aalpha_m * linoid( (v - V0alpha_m) Kalpha_m)))
     300
     301                         (defun beta_m (v)
     302                           (Q10 * Abeta_m * linoid ( (v - V0beta_m) Kbeta_m) ))
     303                         
     304
     305                         (hh-ionic-gate
     306                          (pNa  ;; ion name: exported variables will be of the form {ion}_{id}
     307                           (initial-m  ((alpha_d (v)) / (alpha_d (v) + beta_d (v)) ))
     308                           (m-power    1)
     309                           (h-power    0)
     310                           (m-inf      (1 / (1 + exp((neg (v - V0_minf)) / B_minf))))
     311                           (m-tau      (5 / (alpha_m (v) + beta_m (v))))
     312                           ))
     313                         
     314                         )
     315
     316
     317              (component (type pore)
     318                         (const  gbar  = 2e-5)
     319                         (output gbar ))
     320
     321             
     322              (component (type permeating-ion) (name k)
     323                         (const e = 87.39)
     324                         (output e ))
     325             
     326              ) ;; end pNa current
     327
    79328))
Note: See TracChangeset for help on using the changeset viewer.