// ReConv algorithm for reconstructing evoked LFP in cerebellar granular layer // Uses Multicompartmental GrC model (see http://senselab.med.yale.edu/ModelDb/showmodel.asp?model=116835) // Last updated 11-June-2011 // Model developer: Shyam Diwakar M. // Developed at Amrita School of Biotechnology (India) and at Prof. Egidio D'Angelo's Lab at Univ of Pavia (Italy) // Amrita School of Biotechnology, Amritapuri // Clappana P.O., Kollam, 690 525, Kerala, India. // http://research.amrita.edu/compneuro // Email:shyam@amrita.edu /* Model published as [Diwakar et al., 2011, manuscript accepted, PLoS ONE] Shyam Diwakar, Paola Lombardo, Sergio Solinas, Giovanni Naldi, Egidio D'Angelo. "Local field potential modeling predicts dense activation in cerebellar granule cells clusters under LTP and LTD control", PLoS ONE, 2011. */ 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