Changeset 29324 in project


Ignore:
Timestamp:
07/07/13 07:28:12 (8 years ago)
Author:
Ivan Raikov
Message:

nemo: added back useion case for ghk currents; bug fixes in CA1 example

Location:
release/4/nemo/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/nemo/trunk/examples/CA1/CA1_Royeck08.nemo

    r29313 r29324  
    3232   (component (type defaults)
    3333              (const V_t = -35)
    34               (const celsius = 23)
     34              (const celsius = 30)
    3535              (output celsius V_t)
    3636              )
     
    135135
    136136
     137   (component (type voltage-clamp) (name Ih)
     138             
     139              (const vchold   = -75)
     140              (const vcbase   = -70)
     141              (const vcinc    = 20)
     142              (const vcsteps  = 8)
     143              (const vchdur   = 30)
     144              (const vcbdur   = 100)
     145             
     146              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     147              )
     148
     149
    137150   (component (type ionic-current) (name CaL )
    138151             
     
    189202
    190203
     204   (component (type voltage-clamp) (name CaL)
     205             
     206              (const vchold   = -75)
     207              (const vcbase   = -70)
     208              (const vcinc    = 10)
     209              (const vcsteps  = 8)
     210              (const vchdur   = 30)
     211              (const vcbdur   = 200)
     212
     213              (component (type default-concentration) (name ca)
     214                      (const cn       = 5e-5)
     215                      (const cnout    = 2)
     216                      (output cn cnout))
     217             
     218              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     219              )
     220
     221
    191222
    192223   (component (type ionic-current) (name CaNPQ )
     
    243274             
    244275              ) ;; end CaNPQ current
     276
     277
     278   (component (type voltage-clamp) (name CaNPQ)
     279             
     280              (const vchold   = -75)
     281              (const vcbase   = -70)
     282              (const vcinc    = 10)
     283              (const vcsteps  = 8)
     284              (const vchdur   = 30)
     285              (const vcbdur   = 200)
     286
     287              (component (type default-concentration) (name ca)
     288                      (const cn       = 5e-5)
     289                      (const cnout    = 2)
     290                      (output cn cnout))
     291             
     292              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     293              )
    245294
    246295
     
    308357              ) ;; end CaR current
    309358
     359
     360   (component (type voltage-clamp) (name CaR)
     361             
     362              (const vchold   = -75)
     363              (const vcbase   = -70)
     364              (const vcinc    = 10)
     365              (const vcsteps  = 8)
     366              (const vchdur   = 30)
     367              (const vcbdur   = 200)
     368
     369              (component (type default-concentration) (name ca)
     370                      (const cn       = 5e-5)
     371                      (const cnout    = 2)
     372                      (output cn cnout))
     373             
     374              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     375              )
    310376   
    311377   
     
    372438             
    373439              ) ;; end CaT current
     440
     441
     442
     443   (component (type voltage-clamp) (name CaT)
     444             
     445              (const vchold   = -75)
     446              (const vcbase   = -60)
     447              (const vcinc    = 10)
     448              (const vcsteps  = 7)
     449              (const vchdur   = 30)
     450              (const vcbdur   = 200)
     451
     452              (component (type default-concentration) (name ca)
     453                      (const cn       = 5e-5)
     454                      (const cnout    = 2)
     455                      (output cn cnout))
     456             
     457              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     458              )
     459
    374460   
    375461   (component (type ionic-current) (name KdrG )
     
    440526              )
    441527
     528   (component (type voltage-clamp) (name KaG)
     529             
     530              (const vchold   = -75)
     531              (const vcbase   = -70)
     532              (const vcinc    = 10)
     533              (const vcsteps  = 8)
     534              (const vchdur   = 30)
     535              (const vcbdur   = 100)
     536
     537              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     538              )
     539
    442540
    443541   (component (type ionic-current) (name KAHP )
     
    474572                         (const ek = -95)
    475573                         (output ek))
     574
     575              (component (type modulating-ion) (name ca2)
     576                         (const valence = 2)
     577                         (output valence))
    476578             
    477579              ;; end K-AHP current
    478580              )
    479581
     582
     583   (component (type voltage-clamp) (name KAHP)
     584             
     585              (const vchold   = -75)
     586              (const vcbase   = -70)
     587              (const vcinc    = 10)
     588              (const vcsteps  = 8)
     589              (const vchdur   = 30)
     590              (const vcbdur   = 100)
     591
     592              (const cnhold   = 5e-5)
     593              (const cnbase   = 5e-5)
     594              (const cninc    = 1e3)
     595              (const cnsteps  = 1)
     596              (const cnout    = 2)
     597             
     598              (output vchold vcbase vcinc vcsteps vchdur vcbdur
     599                      cnhold cnbase cninc cnsteps cnout)
     600              )
    480601
    481602
     
    533654              )
    534655
     656
     657   (component (type voltage-clamp) (name KCT)
     658
     659              (const vchold   = -75)
     660              (const vcbase   = -70)
     661              (const vcinc    = 10)
     662              (const vcsteps  = 8)
     663              (const vchdur   = 30)
     664              (const vcbdur   = 100)
     665
     666              (const cnhold   = 5e-5)
     667              (const cnbase   = 5e-5)
     668              (const cninc    = 1e3)
     669              (const cnsteps  = 1)
     670              (const cnout    = 2)
     671             
     672              (output vchold vcbase vcinc vcsteps vchdur vcbdur
     673                      cnhold cnbase cninc cnsteps cnout)
     674
     675              )
     676
     677
    535678   
    536679
     
    572715              ;; end KM current
    573716              )
     717
     718
     719   (component (type voltage-clamp) (name KM)
     720             
     721              (const vchold   = -75)
     722              (const vcbase   = -70)
     723              (const vcinc    = 10)
     724              (const vcsteps  = 8)
     725              (const vchdur   = 30)
     726              (const vcbdur   = 100)
     727
     728              (output vchold vcbase vcinc vcsteps vchdur vcbdur)
     729              )
    574730
    575731   
     
    647803   
    648804
     805   (component (type voltage-clamp) (name Nax)
     806
     807              (const vchold   = -71)
     808              (const vcbase   = -60)
     809              (const vcinc    = 10)
     810              (const vcsteps  = 9)
     811              (const vchdur   = 30)
     812              (const vcbdur   = 100)
     813
     814              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     815
     816
    649817   (component (type ionic-current) (name NaP )
    650818             
     
    682850              ;; end NaP current
    683851              )
     852
     853
     854   (component (type voltage-clamp) (name NaP)
     855
     856              (const vchold   = -71)
     857              (const vcbase   = -60)
     858              (const vcinc    = 10)
     859              (const vcsteps  = 9)
     860              (const vchdur   = 30)
     861              (const vcbdur   = 100)
     862
     863              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
    684864
    685865   
     
    738918
    739919
     920   (component (type voltage-clamp) (name NaIn)
     921
     922              (const vchold   = -71)
     923              (const vcbase   = -60)
     924              (const vcinc    = 10)
     925              (const vcsteps  = 9)
     926              (const vchdur   = 30)
     927              (const vcbdur   = 100)
     928
     929              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     930
     931
    740932   (component (type ionic-current) (name Na )
    741933             
     
    8371029              ;; end Na current
    8381030              )
     1031
     1032
     1033   (component (type voltage-clamp) (name Na)
     1034
     1035              (const vchold   = -71)
     1036              (const vcbase   = -60)
     1037              (const vcinc    = 10)
     1038              (const vcsteps  = 9)
     1039              (const vchdur   = 30)
     1040              (const vcbdur   = 100)
     1041
     1042              (output vchold vcbase vcinc vcsteps vchdur vcbdur))
     1043
     1044    )
    8391045                           
     1046   ;; Following are templates for various driver scripts used to run this model
     1047   (
     1048
     1049
     1050    (".hoc" () 
     1051#<<EOF
     1052
     1053create soma
     1054access soma
     1055
     1056insert {{model_name}}
     1057
     1058soma {
     1059        nseg = 1
     1060
     1061{% with diam = default(diam, 30), L = default(L, 30), celsius = default(celsius, 30) %}
     1062        diam = {{diam}}
     1063        L = {{L}}
     1064        celsius = {{celsius}}
     1065{% endwith %}
     1066
     1067        cm = 1
     1068
     1069        Ra = 100
     1070    }
     1071EOF
     1072)
     1073
    8401074))
  • release/4/nemo/trunk/nemo-nmodl.scm

    r29314 r29324  
    605605                                                      (valence (and (fifth x) (inexact->exact (eval-const (fifth x) (fifth x))))))
    606606
    607                                                  (UseIon ion readqs writeqs valence))))
     607                                                 (UseIon ion readqs writeqs valence)))
     608                                           
     609                                           (else ;; no erev present, probably a concentration channel
     610                                            (let* ((ion    (first x))
     611
     612                                                   (concqs  (filter identity
     613                                                                    (list (safe-cadr (member-imports (string->symbol (s+ ion 'i)) imports))
     614                                                                          (safe-cadr (member-imports (string->symbol (s+ ion 'o)) imports)))))
     615                                                   
     616                                                   (readqs concqs)
     617                                                   
     618                                                    (writeqs (list (second x)))
     619                                                   
     620                                                   (valence (and (fifth x) (inexact->exact (eval-const (fifth x) (fifth x))))))
     621
     622                                                 (UseIon ion readqs writeqs valence)))
    608623                                         ))
    609                                        )
     624                                       ))
    610625                                     (delete-duplicates perm-ions (lambda (x y) (eq? (car x) (car y)) ))
    611626                                     )
     
    848863                               (fold (lambda (def ax)
    849864                                       (let* ((rhs   (second def))
    850                                               (vars  (rhsvars rhs)))
     865                                              (vars  (cond ((nemo:rhs? rhs)
     866                                                            (rhsvars rhs))
     867                                                           ((extended-procedure? rhs)
     868                                                            (let* ((fd  (procedure-data rhs))
     869                                                                   (cs  (lookup-def 'consts fd)))
     870                                                              (map (compose nmodl-name first) cs)
     871                                                              ))
     872                                                           (else '())
     873                                                           ))
     874                                              )
    851875                                         (append (filter is-const? vars) ax)))
    852                                      (list) (append asgn-eq-defs rate-eq-defs reaction-eq-defs ))))
     876                                     (list) (append asgn-eq-defs rate-eq-defs reaction-eq-defs defuns ))))
    853877               )
    854878          (if (not (null? range-consts)) (pp indent+ (RANGE ,(slp ", " range-consts)))))
Note: See TracChangeset for help on using the changeset viewer.