//genesis // CONSTANTS //genesis /* Modified from Traub91_proto*/ /* Constants*/ float PI = 3.14159 float CM = 0.01 float RM = 1.20 float RA = 2.00 float EREST_ACT = -0.070 float ECA = 0.140 + EREST_ACT float SOMA_A = 3.320e-9 // soma area in square meters /* Sizes */ /* Spine*/ float head_dia = 0.8e-6 //on average to Granule cells peduculated spines (Woolf, Shepherd, Greer, 1991) float head_len = 0.8e-6 //on average to Granule cells peduculated spines (Woolf, Shepherd, Greer, 1991) float neck_dia = 0.23e-6 //on average to Granule cells peduculated spines (Woolf, Shepherd, Greer, 1991) float neck_len = 1.9e-6 //on average to Granule cells peduculated spines (Woolf, Shepherd, Greer, 1991) /* soma */ float soma_dia = 10.0e-6 /* Shell thickness */ float thick = 0.1e-6 /* Synaptic channels */ //Parameters from Davison, Feng e Brown, J.Neurophysiol., vol90, pg.1921-1935, 2003. //From spines of granule cells of olfactory bulb float G_NMDA = 0.593e-9 // maximum conductance float E_NMDA = 0.0 // reversal potential float tau1_NMDA = 52.0e-3 // open time constant float tau2_NMDA = 343.0e-3 // close time constant float CMg = 1.2 // Magnesium concentration for magnesium block float eta = 0.2801 float gamma = 62 float fraction = 0.185 // relative fraction of Ca current flowing into shell float G_AMPA = 1.0e-9 // maximum conductance float E_AMPA = 0.0 // reversal potential float tau1_AMPA = 2.0e-3 // open time constant float tau2_AMPA = 5.5e-3 // close time constant float G_GABA_A= 1.1e-9 // maximum conductance float E_GABA_A= -0.075 // reversal potential float tau1_GABA_A= 4e-3// open time constant float tau2_GABA_A= 18e-3// close time constant //======================================================================== // AMPA Channel, NMDA channel with Mg_block //======================================================================== function make_AMPA_NMDA /* add a non-NMDA channel: is always activated together with the NMDA ** channel */ create synchan AMPA_NMDA //cria o AMPA setfield AMPA_NMDA gmax {G_AMPA} Ek {E_AMPA} tau1 {tau1_AMPA} tau2 {tau2_AMPA} // NMDA Channeland Mg_block ce AMPA_NMDA /* add a NMDA channel: is used to compute channel conductance only */ create synchan NMDA //cria o NMDA setfield NMDA gmax {G_NMDA} Ek {E_NMDA} tau1 {tau1_NMDA} tau2 {tau2_NMDA} /* add the Mg block: the blocked NMDA current is used to compute voltage */ create Mg_block Mg_block setfield Mg_block CMg {CMg} Ek {E_NMDA} Zk 2 \ KMg_A {1/eta} \ \\ *({exp {EREST_ACT*gamma}})} \ KMg_B {1.0/gamma} addmsg NMDA Mg_block CHANNEL Gk Ek //Ca fraction create neutral Ca_fraction setfield Ca_fraction x 0.185 //iCa fraction create calculator ICa_fraction ce .. addfield AMPA_NMDA addmsg1 setfield AMPA_NMDA addmsg1 ".. ./Mg_block VOLTAGE Vm" addfield AMPA_NMDA addmsg2 setfield AMPA_NMDA addmsg2 "./Mg_block .. CHANNEL Gk Ek" addfield AMPA_NMDA addmsg3 setfield AMPA_NMDA addmsg3 "./Mg_block ./ICa_fraction SUM Ik" addfield AMPA_NMDA addmsg4 setfield AMPA_NMDA addmsg4 "./Ca_fraction ./ICa_fraction MULTIPLY x" end //======================================================================== // GABA_A Channel //======================================================================== function make_GABA_A create synchan GABA_A //cria o GABA_A setfield GABA_A gmax {G_GABA_A} Ek {E_GABA_A} tau1 {tau1_GABA_A} tau2 {tau2_GABA_A} end //======================================================================== // Ca conc //======================================================================== function make_Ca_conc if ({exists Ca_conc}) return end create Ca_concen Ca_conc setfield Ca_conc \ tau 0.0011 \ // sec (Egger and Stroh, 2009) B 26e11 \ // Curr to conc for soma Ca_base 50e-6 //0.05 uM (Egger and Stroh, 2009) addfield Ca_conc addmsg1 setfield Ca_conc addmsg1 "../AMPA_NMDA/ICa_fraction . I_Ca output" end //======================================================================== // Tabulated Ca ChannelTraub 91 //======================================================================== function make_Ca if ({exists Ca}) return end create tabchannel Ca setfield ^ \ Ek {ECA} \ // V Gbar { 40 * SOMA_A } \ // S Ik 0 \ // A Gk 0 \ // S Xpower 2 \ Ypower 1 \ Zpower 0 setupalpha Ca X 1.6e3 \ 0 1.0 {-1.0 * (0.065 + EREST_ACT) } -0.01389 \ {-20e3 * (0.0511 + EREST_ACT) } \ 20e3 -1.0 {-1.0 * (0.0511 + EREST_ACT) } 5.0e-3 float xmin = -0.1 float xmax = 0.05 int xdivs = 49 call Ca TABCREATE Y {xdivs} {xmin} {xmax} int i float x,dx,y dx = (xmax - xmin)/xdivs x = xmin for (i = 0 ; i <= {xdivs} ; i = i + 1) if (x > EREST_ACT) y = 5.0*{exp {-50*(x - EREST_ACT)}} else y = 5.0 end setfield Ca Y_A->table[{i}] {y} setfield Ca Y_B->table[{i}] 5.0 x = x + dx end setfield Ca Y_A->calc_mode 0 Y_B->calc_mode 0 call Ca TABFILL Y 3000 0 end