proc readsyn() {localobj synfile synfile = new File() synfile.ropen($s1) $o2.G1_weight = synfile.scanvar() $o2.G1_eRev = synfile.scanvar() $o2.G1_opentc = synfile.scanvar() $o2.G1_closetc = synfile.scanvar() $o2.G2_weight = synfile.scanvar() $o2.G2_eRev = synfile.scanvar() $o2.G2_opentc = synfile.scanvar() $o2.G2_closetc = synfile.scanvar() $o2.G3_weight = synfile.scanvar() $o2.G3_eRev = synfile.scanvar() $o2.G3_opentc = synfile.scanvar() $o2.G3_closetc = synfile.scanvar() w1 = $o2.G1_weight tc1 = $o2.G1_closetc w2 = $o2.G2_weight tc2 = $o2.G2_closetc w3 = $o2.G3_weight tc3 = $o2.G3_closetc } /* Written by Bob Calin-Jageman */ load_file("nrngui.hoc") // chdir("c:/sims/nfrost") // chdir("mods") // nrn_load_dll("nrnmech.dll") // chdir("..") load_file("celltypes/C2Type.hoc") load_file("celltypes/DSIType.hoc") load_file("celltypes/VSIType.hoc") load_file("celltypes/IFType.hoc") load_file("celltypes/IFType.hoc") load_file("celltypes/DRIType.hoc") objref C2, DSI, VSI, DRI, VSINA, IF, synlist, outfile strdef runcode, experiment, outfilename experiment = "none" runcode = "single" outfile = new File() outfile.aopen("bursts.txt") strdef dstring C2 = new C2Type() DSI = new DSIType() VSI = new VSIType() IF = new IFType() synlist = new List() DRI = new DRIType() objectvar DSI_DSIs, DSI_DSInc DSI.soma {DSI_DSIs = new tholdsyn(0.5)} access DSI.soma DSI_DSInc = new NetCon(&v(0.5), DSI_DSIs, 0, 0, 1) synlist.append(DSI_DSIs) objectvar VSI_VSIs, VSI_VSInc VSI.soma {VSI_VSIs = new tholdsyn(0.5)} access VSI.soma VSI_VSInc = new NetCon(&v(0.5), VSI_VSIs, 0, 0, 1) synlist.append(VSI_VSIs) readsyn("syndefs/DSI_DSI.txt", DSI_DSIs) readsyn("syndefs/VSI_VSI.txt", VSI_VSIs) access C2.soma load_file("ses/cpg.ses") tstop = 42000 objref cellpointer, spikeholder cellpointer = VSI objref mysyns mysyns = new List("tholdsyn") proc init() {local x finitialize(v_init) fcurrent() spikeholder = new Vector() lastsp1 = 0 C2.soma.v = C2.ileak.vrest DSI.soma.v = DSI.ileak.vrest VSI.soma.v = VSI.ileak.vrest } proc advance() { if (cellpointer.sthold.lastspike != lastsp1) { //print t spikeholder.append(t) lastsp1 = cellpointer.sthold.lastspike } fadvance() } proc cfplot() {local x, delay, firstsp, lastsp, y, offset localobj istim, outf access $o1.soma istim = new IClamp(0.5) offset = $2 istim.del = offset istim.dur = 5000 cellpointer = $o1 outf = new File() outf.aopen("cfplot.txt") for (x=$3; x < $4; x = x + 0.5) { istim.amp = x init() run() delay = 0 firstsp = 0 lastsp = 0 if (spikeholder.size() > 2) { for (y=1; y < spikeholder.size(); y = y + 1) { if ((spikeholder.x[y-1] > offset) && (spikeholder.x[y-1] < (offset+10000))) { lastsp = spikeholder.x[y] - spikeholder.x[y-1] if (firstsp == 0) {firstsp = lastsp } if (delay ==0) {delay = spikeholder.x[y-1] - 1000 } } } } if (lastsp != 0) { print $o1, x, delay, 1/(firstsp/1000), 1/(lastsp/1000) } if (lastsp != 0) { outf.printf("%s %f %f %f %f\n", $o1, x, delay, 1/(firstsp/1000), 1/(lastsp/1000)) } else { outf.printf("%s %f %f %f %f\n", $o1, x, delay, firstsp, lastsp) } } istim.amp = 0 outf.close() }