// GENERATE A FAMILY OF BURST PSPs DEPENDING ON THE TYPE OF INHIBITION // JM Schulz, 2018 nrnpython("import numpy as N") strdef ColLabel, file_name1, file_name2, file_name3, file_name4 objref storeM_slow, storeM_noRect, storeM_onlyRect, storeM_partRect load_file("Print-to-File.hoc") ColLabel = "Membrane potential" file_name1="C:/../Inh_slow.atf" file_name2="C:/../Inh_noRect.atf" file_name3="C:/../Inh_onlyRect.atf" file_name4="C:/../Inh_partRect.atf" // Numerical parameters for simulation. tstop = 300 // stop time of simulation stimStart=20 dtime=0.2 simul_iter=8 ampaWeight=0.00014 nmdaWeight=0.00014 //ampaWeight GABAweight_total=1.4*0.0005 // parameters of voltage-dependent magnesium block of NMDAR alpha_vspom=-0.087 v0_block=-10 //synGABA[0] is not rectifying, synGABA[1] is rectifying GABAweight0=GABAweight_total/5 GABAweight1=4*GABAweight_total/5 GABAtau2=30 GABAtau1=1.0 synGABA[0].tau1= 0.5 synGABA[0].tau2 = 15 ncGABA[0].weight = GABAweight0 synGABA[0].slope_factor=0.3 synGABA[0].V50=-150 synGABA[1].tau1= GABAtau1 synGABA[1].tau2 = GABAtau2 ncGABA[1].weight = GABAweight1 synGABA[1].slope_factor=3 synGABA[1].V50=-52 //setup recording vectors objref recv, rect recv = new Vector() rect = new Vector() storeM_slow = new Matrix(tstop/dtime+1,simul_iter) storeM_noRect = new Matrix(tstop/dtime+1,simul_iter) storeM_onlyRect = new Matrix(tstop/dtime+1,simul_iter) storeM_partRect = new Matrix(tstop/dtime+1,simul_iter) recv.record(&dend.v(0.5),dtime) rect.record(&t) // Create graphs for visualisation. objref Inh_slow, Inh_noRect, Inh_onlyRect, Inh_partRect objref shapeSyn Inh_slow = new Graph() Inh_slow.label("Normal inhibition") Inh_slow.addvar("dend.v(0.5)",2,1) Inh_slow.exec_menu("Keep Lines") Inh_slow.size(0,tstop,-75,-15) Inh_noRect = new Graph() Inh_noRect.label("No rectification") Inh_noRect.addvar("dend.v(0.5)",2,1) Inh_noRect.exec_menu("Keep Lines") Inh_noRect.size(0,tstop,-75,-15) Inh_onlyRect = new Graph() Inh_onlyRect.label("Only rectifying part") Inh_onlyRect.addvar("dend.v(0.5)",2,1) Inh_onlyRect.exec_menu("Keep Lines") Inh_onlyRect.size(0,tstop,-75,-15) Inh_partRect = new Graph() Inh_partRect.label("Rectifying part reduced by 50%") Inh_partRect.addvar("dend.v(0.5)",2,1) Inh_partRect.exec_menu("Keep Lines") Inh_partRect.size(0,tstop,-75,-15) shapeSyn = new Shape() shapeSyn.label("Syn") // Adjust GABA synapse dynamics shapeSyn.point_mark(synGABA[0],3,"O",6) for (ii=0; ii