// Detailed model of Cerebellar Granular Cell model // Multicompartmental model - Control and synaptic mechanisms panel script // Last updated 07-Jan-2009 // Model developer: Shyam Diwakar M. // Developed at Egidio D'Angelo's Lab at Univ of Pavia // Code contributors: Thierry Nieus, Sergio Solinas // Dept. of Gen. Physiology (Univ. of Pavia, Italy) // School of biotech (Amrita University, India) // Email:shyam@unipv.it /* Model published as [Diwakar et al, J.Neurophysiology] Shyam Diwakar, Jacopo Magistretti, Mitchell Goldfarb, Giovanni Naldi, and Egidio D'Angelo. Axonal Na+ channels ensure fast spike activation and back-propagation in cerebellar granule cells, J Neurophysiol (December 10, 2008). doi:10.1152/jn.90382.2008 */ objref AmpaSchemeMenu,mfpanel,ifpanel Ampa_Gmax=600 Gaba_gmax = Granule[0].synG[0].gmax Nmda_Gmax2_ES=16000 GmaxCOD=Ampa_Gmax GmaxNES = Nmda_Gmax2_ES GmaxGaba = 2500 Ampa_G = 600 Nmda_G = Granule[0].synNS[0].gmax NumSin=0 NumISin=0 xpanel("Control Panel") xlabel(" ===== Command Panel ===== ") //xbutton("GrC Soma","GrcPanel()") xbutton("Postsynaptic","Synapses()") xbutton("Exc Presyn Parameters","PresynParam()") xbutton("Inh Presyn Parameters","PresynGParam()") xmenu("Mossy Fibers") xradiobutton("Homogeneous mf","HomogeneousMf()") //xradiobutton("Heterogeneous mf","HeterogeneousMF()") xradiobutton("Mossy traces","MossyFiberTraces()") xmenu() xmenu("Inhibitory Synapses") xradiobutton("Homogeneous if","HomogeneousIf()") //xradiobutton("Heterogeneous if","HeterogeneousIF()") xradiobutton("Inhib Synaptic fiber traces","InhibFiberTraces()") xmenu() xpanel() // *************************** GrC parameters ***********************// objref GRCparams proc GrcPanel(){ GRCparams = new VBox() GRCparams.intercept(1) xpanel("1") xlabel("Soma Properties") xvalue("gNabar","Granule[0].soma.gnabar_GRC_NA", 1,"", 0, 0 ) xvalue("gKVbar","Granule[0].soma.gkbar_GRC_KV", 1,"", 0, 0 ) xvalue("gKAbar","Granule[0].soma.gkbar_GRC_KA", 1,"", 0, 0 ) xvalue("gKirbar","Granule[0].soma.gkbar_GRC_KIR", 1,"", 0, 0 ) xvalue("gKCabar","Granule[0].soma.gkbar_GRC_KCA", 1,"", 0, 0 ) xvalue("gCaHVAbar","Granule[0].soma.gcabar_GRC_CA", 1,"", 0, 0 ) xvalue("gKSlowbar","Granule[0].soma.gkbar_GRC_KM", 1,"", 0, 0 ) xvalue("gLeakage","Granule[0].soma.gl_GRC_LKG1", 1,"", 0, 0 ) xvalue("gGabaA","Granule[0].soma.ggaba_GRC_LKG2", 1,"", 0, 0 ) xpanel() xpanel("2") xlabel("Calcium parameters") xvalue("Shell thickness","Granule[0].soma.d_GRC_CALC", 1,"", 0, 0 ) xvalue("Initial concentration","Granule[0].soma.cai0_GRC_CALC", 1,"", 0, 0 ) xvalue("Removal rate","Granule[0].soma.beta_GRC_CALC", 1,"", 0, 0 ) xpanel() GRCparams.intercept(0) GRCparams.map("Granule Cell Parameters") } proc UpdateAmpaNmda() { Ampa_Gmax = Ampa_G Nmda_Gmax2_ES = Nmda_G for(i=0;i<8;i=i+1) { AmpaCOD[i].gmax=Ampa_Gmax NMDAS[i].gmax=Nmda_Gmax2_ES } for(i=0;i<4;i=i+1) { Granule[0].synA[i].gmax=Ampa_Gmax Granule[0].synNS[i].gmax=Nmda_Gmax2_ES } } proc UpdateGaba() { for(i=0;i<8;i=i+1) { GRC_GABA[i].gmax=GmaxGaba GRC_GABA[i].U=0.34 } for(i=0;i<4;i=i+1) { Granule[0].synG[i].gmax=GmaxGaba } } // ************************************* Presynpatic-Exc and Inh ********************************* proc PresynParam(){ Tau_rec=Granule[0].synA[0].tau_rec Tau_facil=Granule[0].synA[0].tau_facil Tau_1=Granule[0].synA[0].tau_1 U=Granule[0].synA[0].U xpanel("PRESYNAPTIC PARAMETERS") xlabel("Exc Presynaptic parameters") xvalue("T_transition (ms)","Tau_1", 1,"UpDatePre()", 0, 0 ) xvalue("T_recovery (ms)","Tau_rec", 1,"UpDatePre()", 0, 0 ) xvalue("T_facilita (ms)","Tau_facil", 1,"UpDatePre()", 0, 0 ) xvalue("Release probability","U", 1,"UpDatePre()", 0, 0 ) xpanel() } proc UpDatePre(){ for (i=0;i