Changeset 27023 in project


Ignore:
Timestamp:
07/08/12 10:03:03 (9 years ago)
Author:
Ivan Raikov
Message:

nemo: updated single-file CGC model

File:
1 edited

Legend:

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

    r27006 r27023  
    1212    (ica from ion-currents))
    1313
    14    (const Vrest = -68)
    15              
    16    (const fix_celsius = 30)
    17 
    18 
    19 
    20    (defun sigmoid (x y) (1 / (exp (x / y) + 1)))
    21    
     14
     15   (defun sigm (x y) (1 / (exp (x / y) + 1)))
     16
    2217
    2318   (defun linoid (x y)
     
    2621             else (x / (exp (x / y) - 1))
    2722              ))
     23
     24   (const fix_celsius = 30)
    2825
    2926   (component (type decaying-pool) (name ca)
     
    4037              (output ca)
    4138              )
    42 
    4339
    4440   (component (type ionic-current) (name CaHVA )
     
    7571
    7672                         (defun alpha_u (v)
    77                            (Q10 * Aalpha_s * exp((v - V0alpha_s) / Kalpha_s)))
     73                           (Q10 * Aalpha_u * exp((v - V0alpha_u) / Kalpha_u)))
    7874
    7975                         (defun beta_u (v)
     
    9692                         )
    9793             
    98                      
    9994              (component (type pore)
    10095                         (const  gbar  = 0.00046)
     
    10499                         (const e = 129.33)
    105100                         (output e ))
     101
     102                         
     103
    106104             
    107105              ) ;; end CaHVA current
     106
     107              (component (type voltage-clamp) (name CaHVA)
     108           
     109                         (const vchold   = -71)
     110                         (const vcbase   = -69)
     111                         (const vcinc    = 10)
     112                         (const vcsteps  = 8)
     113                         (const vchdur   = 30)
     114                         (const vcbdur   = 100)
     115           
     116                         (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     117                         )
    108118
    109119
     
    140150
    141151                         (defun alpha_a (v)
    142                            (Q10 * Aalpha_a * sigmoid((v - V0alpha_a) Kalpha_a)))
     152                           (Q10 * Aalpha_a * sigm((v - V0alpha_a) Kalpha_a)))
    143153
    144154                         (defun beta_a (v)
    145                            (Q10 * Abeta_a * exp((v - V0beta_a) / Kbeta_a)))
     155                           (Q10 * (Abeta_a / exp((v - V0beta_a) / Kbeta_a))))
    146156
    147157                         (defun alpha_b (v)
    148                            (Q10 * Aalpha_b * sigmoid((v - V0alpha_b) Kalpha_b)))
     158                           (Q10 * Aalpha_b * sigm((v - V0alpha_b) Kalpha_b)))
    149159
    150160                         (defun beta_b (v)
    151                            (Q10 * Abeta_b * sigmoid((v - V0beta_b) Kbeta_b)))
     161                           (Q10 * Abeta_b * sigm((v - V0beta_b) Kbeta_b)))
     162
     163
    152164
    153165                         (a_inf = (1 / (1 + exp ((v - V0_ainf) / K_ainf))))
     
    181193             
    182194              ) ;; end KA current
    183    
     195             
     196
     197              (component (type voltage-clamp) (name KA)
     198           
     199                         (const vchold   = -71)
     200                         (const vcbase   = -69)
     201                         (const vcinc    = 10)
     202                         (const vcsteps  = 8)
     203                         (const vchdur   = 30)
     204                         (const vcbdur   = 100)
     205           
     206                         (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     207                         )
     208
    184209
    185210   (component (type ionic-current) (name KCa )
     
    259284                           (m-power    1)
    260285                           (h-power    0)
    261                            (m-inf      (alpha_d (v)))
    262                            (m-tau      (beta_d (v)))
     286                           (m-alpha    (alpha_d (v)))
     287                           (m-beta     (beta_d (v)))
    263288                           ))
    264289                         
     
    276301             
    277302              ) ;; end Kir current
    278              
    279                          
    280 
     303
     304                     
     305
     306              (component (type voltage-clamp) (name Kir)
     307           
     308                         (const vchold   = -71)
     309                         (const vcbase   = -69)
     310                         (const vcinc    = 10)
     311                         (const vcsteps  = 8)
     312                         (const vchdur   = 30)
     313                         (const vcbdur   = 100)
     314           
     315                         (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     316                         )
    281317
    282318
     
    311347                           (m-power    1)
    312348                           (h-power    0)
     349                           (m-tau      (1 / (alpha_n(v) + beta_n (v)) ))
    313350                           (m-inf      (1 / (1 + exp((neg (v - V0_ninf)) / B_ninf))))
    314                            (m-tau      (1 / (alpha_n(v) + beta_n (v)) ))
    315351                           ))
    316352                         )
     
    327363
    328364
     365              (component (type voltage-clamp) (name KM)
     366           
     367                         (const vchold   = -71)
     368                         (const vcbase   = -69)
     369                         (const vcinc    = 10)
     370                         (const vcsteps  = 8)
     371                         (const vchdur   = 30)
     372                         (const vcbdur   = 100)
     373           
     374                         (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     375                         )
    329376
    330377   (component (type ionic-current) (name KV )
     
    348395
    349396                         (defun beta_n (v)
    350                            (Q10 * Abeta_n * linoid ((v - V0beta_n) Kbeta_n)))
     397                           (Q10 * Abeta_n * exp((v - V0beta_n) / Kbeta_n) ))
    351398
    352399                         (hh-ionic-gate
     
    369416             
    370417              ) ;; end KV current
    371 
    372 
    373    (component (type ionic-current) (name pNa )
    374              
    375               (component (type gate)
    376 
    377                          ;; rate constants
    378                          (const Q10 = (pow (3 ((fix_celsius - 30) / 10))))
    379 
    380                          (const Aalpha_m  = -0.091)
    381                          (const Kalpha_m  = -5)
    382                          (const V0alpha_m = -42)
    383                          (const Abeta_m   = 0.062)
    384                          (const Kbeta_m   = 5)
    385                          (const V0beta_m  = -42)
    386                          (const V0_minf   = -42)
    387                          (const B_minf    = 5)
    388 
    389                          ;; rate functions
    390                          (defun alpha_m (v)
    391                            (Q10 * Aalpha_m * linoid( (v - V0alpha_m) Kalpha_m)))
    392 
    393                          (defun beta_m (v)
    394                            (Q10 * Abeta_m * linoid ( (v - V0beta_m) Kbeta_m) ))
    395                          
    396 
    397                          (hh-ionic-gate
    398                           (pNa  ;; ion name: exported variables will be of the form {ion}_{id}
    399                            (initial-m  ((alpha_d (v)) / (alpha_d (v) + beta_d (v)) ))
    400                            (m-power    1)
    401                            (h-power    0)
    402                            (m-inf      (1 / (1 + exp((neg (v - V0_minf)) / B_minf))))
    403                            (m-tau      (5 / (alpha_m (v) + beta_m (v))))
    404                            ))
    405                          
    406                          )
    407 
    408 
    409               (component (type pore)
    410                          (const  gbar  = 2e-5)
    411                          (output gbar ))
    412 
    413              
    414               (component (type permeating-ion) (name na)
    415                          (const e = 87.39)
    416                          (output e ))
    417              
    418               ) ;; end pNa current
    419 
     418             
     419
     420              (component (type voltage-clamp) (name KV)
     421           
     422                         (const vchold   = -71)
     423                         (const vcbase   = -69)
     424                         (const vcinc    = 10)
     425                         (const vcsteps  = 8)
     426                         (const vchdur   = 30)
     427                         (const vcbdur   = 100)
     428           
     429                         (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     430                         )
     431             
    420432   
     433   (component (type ionic-current) (name Lkg1)
     434             
     435              (component (type pore)
     436                         (const  gbar  = (5.68e-5))
     437                         (output gbar))
     438             
     439              (component (type permeating-ion) (name non-specific)
     440                         (const e = -58)
     441                         (output e ))
     442             
     443              ) ;; end leak current
     444
     445
     446   (component (type ionic-current) (name Lkg2)
     447             
     448              (component (type pore)
     449                         (const  ggaba  = (2.17e-5))
     450                         (output ggaba))
     451             
     452              (component (type permeating-ion) (name non-specific)
     453                         (const egaba = -65)
     454                         (output egaba ))
     455             
     456              ) ;; end leak current
     457
    421458
    422459   (component (type ionic-current) (name Na )
     
    444481
    445482                         ;; rate functions
    446                          (defun alpha_m (v)
     483                         (defun alpha_m (v)     
    447484                           (Q10 * Aalpha_m * linoid((v - V0alpha_m) Kalpha_m) ))
    448485
     
    451488
    452489                         (defun alpha_h (v)
    453                            (Q10 * Aalpha_h * linoid((v - V0alpha_h) Kalpha_h) ))
    454 
     490                           (Q10 * Aalpha_h * exp((v - V0alpha_h) / Kalpha_h) ))
     491                               
    455492                         (defun beta_h (v)
    456                            (Q10 * Abeta_h * exp((v - V0beta_h) / Kbeta_h) ))
     493                           (Q10 * Abeta_h / (1 + exp((v - V0beta_h) / Kbeta_h) )))
    457494
    458495                         
     
    483520
    484521
     522   (component (type voltage-clamp) (name Na)
     523
     524              (const vchold   = -71)
     525              (const vcbase   = -60)
     526              (const vcinc    = 10)
     527              (const vcsteps  = 9)
     528              (const vchdur   = 30)
     529              (const vcbdur   = 100)
     530           
     531              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     532
     533
    485534   (component (type ionic-current) (name Nar )
    486535             
     
    543592             
    544593              ) ;; end Nar current
    545              
    546    
    547    (component (type ionic-current) (name Lkg1)
    548              
    549               (component (type pore)
    550                          (const  gbar  = (5.68e-5))
    551                          (output gbar))
    552              
    553               (component (type permeating-ion) (name non-specific)
    554                          (const e = -58)
    555                          (output e ))
    556              
    557               ) ;; end leak current
    558 
    559    (component (type ionic-current) (name Lkg2)
    560              
    561               (component (type pore)
    562                          (const  ggaba  = (2.17e-5))
    563                          (output ggaba))
    564              
    565               (component (type permeating-ion) (name non-specific)
    566                          (const egaba = -65)
    567                          (output egaba ))
    568              
    569               ) ;; end leak current
    570  
    571    
     594
     595
     596   (component (type voltage-clamp) (name Nar)
     597
     598              (const vchold   = -71)
     599              (const vcbase   = -60)
     600              (const vcinc    = 10)
     601              (const vcsteps  = 9)
     602              (const vchdur   = 30)
     603              (const vcbdur   = 100)
     604           
     605              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     606
     607   (component (type ionic-current) (name pNa )
     608             
     609              (component (type gate)
     610
     611                         ;; rate constants
     612                         (const Q10 = (pow (3 ((fix_celsius - 30) / 10))))
     613
     614                         (const Aalpha_m  = -0.091)
     615                         (const Kalpha_m  = -5)
     616                         (const V0alpha_m = -42)
     617                         (const Abeta_m   = 0.062)
     618                         (const Kbeta_m   = 5)
     619                         (const V0beta_m  = -42)
     620                         (const V0_minf   = -42)
     621                         (const B_minf    = 5)
     622
     623                         ;; rate functions
     624                         (defun alpha_m (v)
     625                           (Q10 * Aalpha_m * linoid( (v - V0alpha_m) Kalpha_m)))
     626
     627                         (defun beta_m (v)
     628                           (Q10 * Abeta_m * linoid ( (v - V0beta_m) Kbeta_m) ))
     629                         
     630
     631                         (hh-ionic-gate
     632                          (pNa  ;; ion name: exported variables will be of the form {ion}_{id}
     633                           (initial-m  ((alpha_m (v)) / (alpha_m (v) + beta_m (v)) ))
     634                           (m-power    1)
     635                           (h-power    0)
     636                           (m-inf      (1 / (1 + exp((neg (v - V0_minf)) / B_minf))))
     637                           (m-tau      (5 / (alpha_m (v) + beta_m (v))))
     638                           ))
     639                         
     640                         )
     641
     642
     643              (component (type pore)
     644                         (const  gbar  = 2e-5)
     645                         (output gbar ))
     646
     647             
     648              (component (type permeating-ion) (name na)
     649                         (const e = 87.39)
     650                         (output e ))
     651             
     652              ) ;; end pNa current
     653
     654   (component (type voltage-clamp) (name pNa)
     655
     656              (const vchold   = -71)
     657              (const vcbase   = -60)
     658              (const vcinc    = 10)
     659              (const vcsteps  = 9)
     660              (const vchdur   = 30)
     661              (const vcbdur   = 100)
     662           
     663              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     664
    572665))
Note: See TracChangeset for help on using the changeset viewer.