/*---------------------------------------------------------------------------- DEMO OF SIMPLIFIED HODGKIN-HUXLEY MODELS OF CORTICAL NEURONS Models described in: Pospischil, M., Toledo-Rodriguez, M., Monier, C., Piwkowska, Z., Bal, T., Fregnac, Y., Markram, H. and Destexhe, A. Minimal Hodgkin-Huxley type models for different classes of cortical and thalamic neurons. Biological Cybernetics 99: 427-441, 2008. Alain Destexhe, CNRS, 2009 http://cns.iaf.cnrs-gif.fr ----------------------------------------------------------------------------*/ load_file("nrngui.hoc") //---------------------------------------------------------------------------- // define a panel to run the different demos //---------------------------------------------------------------------------- proc make_demopanel() { xpanel("Simulations of cortical cells") xradiobutton("Regular-spiking pyramidal cell","restart(\"demo_PY_RS\")",1) xradiobutton("Bursting pyramidal cell","restart(\"demo_PY_IB\")") xradiobutton("Repetivive bursting pyramidal cell","restart(\"demo_PY_IBR\")") xradiobutton("LTS pyramidal cell","restart(\"demo_PY_LTS\")") xradiobutton("Fast-spiking interneuronl","restart(\"demo_IN_FS\")") xpanel(20,100) } proc restart() {local i ismenu = 0 if (electrodes_present) { destroy_elec() } forall delete_section() for i=0, n_graph_lists-1 { graphList[i].remove_all() } flush_list.remove_all() fast_flush_list.remove_all() doNotify() for (i= PWManager[0].count-1; i >= pwmcnt; i -= 1) { PWManager[0].close(i) doNotify() } stoprun = 0 cvode_active(0) ismenu=0 sprint(tstr, "%s.hoc", $s1) load_file(1, tstr) } ismenu=0 load_file("nrngui.hoc") strdef tstr ncells=1 objref El[ncells] electrodes_present=0 // after electrodes are created they must be // destroyed if simulation restarted proc destroy_elec() { execute("objref stim, vc",El[0]) } pwmcnt = PWManager[0].count // the initial GUIs should not be dismissed make_demopanel() // starting with the first demo avoids an error of when the second // demo is selected first restart("demo_PY_RS")