// $Id: syn_chans_hippo.g,v 16.1 2000/03/02 14:43:39 ajay Exp $ //genesis /* FILE INFORMATION ** These are synaptic channels used in the hippo model. ** GABA_a, GABA_b, AMPA and NMDA channels are utilized. ** Dual exponentials are used. - Gene Wallenstein */ // CONSTANTS float weight = 1.5 // starting weight of hebbsynchan AMPA synapse // Equilibrium potentials float EAMPA = 0.000 float EGABAa = -0.07 float EGABAb = -0.09 float ENMDA = 0.000 float GAMPA = 4.0e-9 // Siemens float GGABAa = 0.1e-6 float GGABAb = 0.1e-8 float GNMDA = 0.2e-7 float AMPACON = GAMPA //=================================================================== // GABA_A (Chloride) synaptic channel //=================================================================== function make_GABAa_channel if ({exists GABAa_channel}) return end create synchan2 GABAa_channel setfield GABAa_channel \ Ek {EGABAa} \ tau1 { 1.0e-3 } \ // 1e-3 sec tau2 { 5.0e-3 } \ // 10e-3, 5e-3 sec gmax {GGABAa} // Siemens end //======================================================================== // GABA conc //======================================================================== function make_GABA_conc if ({exists GABA_conc}) return end create Ca_concen GABA_conc setfield GABA_conc \ tau 0.01333 \ // sec B 17.402e12 \ // Curr to conc for soma Ca_base 0.0 addfield GABA_conc addmsg1 setfield GABA_conc \ addmsg1 "../GABAa_channel . I_Ca Ik" end //=================================================================== // GABA_B synaptic channel //=================================================================== function make_GABAb_channel if ({exists GABAb_channel}) return end create synchan2 GABAb_channel setfield GABAb_channel \ Ek { EGABAb } \ tau1 { 30.0e-3 } \ // 5e-3, 30e-3 sec tau2 { 90.0e-3 } \ // 15e-3, 90e-3 sec gmax {GGABAb} // Siemens end //==================================================================== // AMPA synaptic channel //==================================================================== function make_AMPA_channel if ({exists AMPA_channel}) return end create hebbsynchan AMPA_channel setfield AMPA_channel \ Ek {EAMPA} \ tau1 {1.0e-3} \ // sec tau2 {3.0e-3} \ // sec gmax {GAMPA} \ // Siemens min_weight { 0 } \ max_weight { 200 } \ // 200 for initial sims weight_change_rate {learn_rate} \ pre_thresh_lo {-1.0} \ // volts post_thresh_lo {-15000.0e-3} \ // volts pre_thresh_hi {0.1} \ // amp = 1 per spike post_thresh_hi {-45.0e-3} \ pre_tau1 {20.0e-3} \ // 20e-3 secs pre_tau2 {30.0e-3} \ // 30.0e-3 post_tau {3.0e-3} \ change_weights {0} end //==================================================================== // NMDA (Mg and voltage-dependent) Hebbian synaptic channel //==================================================================== float CMg = 2.0 // [Mg] in mM float eta = 0.33 // per mM float gamma = 60.0 // per Volt function make_NMDA_channel(comp) str comp if ({exists NMDA_channel}) return end create synchan2 {comp}/NMDA_channel setfield {comp}/NMDA_channel \ Ek {ENMDA} \ tau1 {20.0e-3} \ // 80e-3, 20e-3 sec tau2 {0.67e-3} \ // sec gmax {GNMDA} // Siemens // Now create the Mg block create Mg_block {comp}/NMDA_channel_block setfield {comp}/NMDA_channel_block \ CMg {CMg} \ KMg_A {1.0/eta} \ KMg_B {1.0/gamma} // The following lines are needed for the Mg block to 'talk' // to the channel. addmsg {comp}/NMDA_channel {comp}/NMDA_channel_block CHANNEL Gk Ek addmsg {comp}/NMDA_channel_block {comp} CHANNEL Gk Ek addmsg {comp} {comp}/NMDA_channel_block VOLTAGE Vm addmsg {comp} {comp}/NMDA_channel VOLTAGE Vm end