// Model Topology and Biophysics // Creates cell template and adds membrane mechanisms // Created: March 2011, Linford Briant load_file("nrngui.hoc") tstop=2000 celsius=20 proc init() { finitialize(-55) /* if (cvode.active()) { cvode.re_init() } else {fcurrent() } frecord_init() */ } begintemplate SPNcell public soma, axon, mprox, mdend, ldend create soma, axon, mprox, mdend[1], ldend[2] public nclist objectvar nclist proc init() {ndendm=2 ndendl=3 create soma, axon, mprox, mdend[ndendm], ldend[ndendl] connect mprox(0), soma(1) connect axon(0), soma(1) for i=0, ndendl-1 connect ldend[i](0), soma(0) for i=0, ndendm-1 connect mdend[i](0), mprox(1) nclist=new List() } endtemplate SPNcell // nSPNcells=7 instances set-up in case we want to study postganglionic gain nSPNcells=7 ndendm=2 ndendl=3 objectvar SPNcells[nSPNcells] for i=0, nSPNcells-1 {SPNcells[i]=new SPNcell()} for i=0, nSPNcells-1 SPNcells[i].soma {nseg=1 L=23 Ra=120 insert capacitance {cm=1} insert pas {g_pas=8e-06 e_pas=-60} insert na3 {gbar_na3=0.05 ar2_na3=1 ena=55} insert na_ion {ena=55} insert borgkdr {gkdrbar_borgkdr=0.01} insert borgka {gkabar_borgka=0.012 vhalfn_borgka=-45 a0n_borgka=0.04 zetak_borgka=-5 a0l_borgka=0.023 gmn_borgka=0.45 zetan_borgka=-4 zetal_borgka=2 vhalfl_borgka=-67 zetam_borgka=4} insert cadifus2 {} insert morphology {diam=14} insert cal {gcalbar_cal=0.001} insert can {gcanbar_can=0.001} insert kahp {gkahpbar_kahp=0.0001} insert cagk {gkbar_cagk=0.005 d1_cagk=1.6} insert ca_ion {} insert k_ion {ek=-90} } for i=0, nSPNcells-1 SPNcells[i].axon {nseg=10 L=500 Ra=120 /* First segment only */ insert ca_ion {} insert capacitance {cm=1} insert morphology {diam=0.5} insert na3 {gbar_na3=0.1 ena=55 ar2_na3=1} insert na_ion {ena=55} insert borgkdr {gkdrbar_borgkdr=0.001} insert k_ion {ek=-90} insert pas {g_pas=0.0002 e_pas=-70} insert cal {gcalbar_cal(1)=0.001 gcalbar_cal(0)=0} insert can {gcanbar_can(1)=0.008 gcanbar_can(0)=0 cons_can=0.5} } for i=0, nSPNcells-1 SPNcells[i].mprox { nseg=5 L=25 Ra=120 insert capacitance {cm=1} insert morphology {diam=5} insert pas {g_pas=8e-06 e_pas=-60} insert na3 {gbar_na3=0 ar2_na3=1} insert na_ion {ena=55} insert borgkdr {gkdrbar_borgkdr=0} insert k_ion {ek=-90} } for i=0, nSPNcells-1 for j=0, ndendm-1 SPNcells[i].mdend[j] { nseg=20 L=600 Ra=120 insert capacitance {cm=1} insert morphology {diam=2} insert pas {g_pas=8e-06 e_pas=-60} insert na3 {gbar_na3=0 ar2_na3=1} insert na_ion {ena=55} insert borgkdr {gkdrbar_borgkdr=0} insert k_ion {ek=-90} } for i=0, nSPNcells-1 for j=0, ndendl-1 SPNcells[i].ldend[j] { nseg=10 L=200 Ra=120 insert capacitance {cm=1} insert morphology {diam=2} insert pas {g_pas=8e-06 e_pas=-60} insert na3 {gbar_na3=0 ar2_na3=1} insert na_ion {ena=55} insert borgkdr {gkdrbar_borgkdr=0} insert borgka {gkabar_borgka=0} insert k_ion {ek=-90} } // The following procedure displays the topology and segment properties for the first instance of SPNcells template, for inspection. proc SPNcellsCheck() { topology() access SPNcells[0].soma psection() access SPNcells[0].mdend[0] psection() access SPNcells[0].ldend[0] psection() access SPNcells[0].mprox[0] psection() access SPNcells[0].axon psection() } // Parameter fitting for _cagk proc d1() { for i=0, nSPNcells-1 SPNcells[i].soma {d1_cagk=$1} } d1(1.6) SPNcell[0].soma.gkbar_cagk=0 // Parameter fitting for _na3 Rd_na3=0.03 Rg_na3=0.03 SPNcells[0].soma.pert_na3=-10 SPNcells[0].axon.pert_na3=-10 // Setting passive properties of membrane in all sections proc passive() { g_passive=$1 e_passive=$2 SPNcells[0].mdend[0].g_pas=g_passive SPNcells[0].mdend[1].g_pas=g_passive SPNcells[0].ldend[0].g_pas=g_passive SPNcells[0].ldend[1].g_pas=g_passive SPNcells[0].ldend[2].g_pas=g_passive SPNcells[0].mprox.g_pas=g_passive SPNcells[0].soma.g_pas=g_passive SPNcells[0].mdend[0].e_pas=e_passive SPNcells[0].mdend[1].e_pas=e_passive SPNcells[0].ldend[0].e_pas=e_passive SPNcells[0].ldend[1].e_pas=e_passive SPNcells[0].ldend[2].e_pas=e_passive SPNcells[0].mprox.e_pas=e_passive SPNcells[0].soma.e_pas=e_passive } passive(1.8e-05,-40)