proc celldef() { topol() subsets() geom() biophys() geom_nseg() } create soma, axon proc topol() { local i connect axon(0), soma(1) basic_shape() } proc basic_shape() { soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(15, 0, 0, 1)} axon {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(120, 0, 0, 1)} } objref all proc subsets() { local i objref all all = new SectionList() soma all.append() axon all.append() } proc geom() { forsec all { } soma.L = 150 axon.L = 8000 //40000 soma.diam = 6 axon.diam = 12 soma { } axon { } } proc geom_nseg() { soma { nseg = 15 } axon { nseg = 800 } // 4000 } proc biophys() { forsec all { Ra = 28 } soma { insert hhsoma gnabar_hhsoma = 0.48 gkbar_hhsoma = 1.088 gl_hhsoma = 0.0016 el_hhsoma = -60 } axon { insert hhaxon gnabar_hhaxon = 0.48 gkbar_hhaxon = 1.088 gl_hhaxon = 0.0016 el_hhaxon = -60 q10m_hhaxon = 1 q10h_hhaxon = 1 q10n_hhaxon = 1 } } access axon celldef() load_file("40ms.ses") objectvar stim soma stim = new IClamp(0.5) stim.del = 10 stim.dur = 1 stim.amp = 17 objref rec, rec2, rec3, rec4, rec5, rec6, rec7, rec8, rec8, rec9, nil objref APtim, APtim2, APtim3, APtim4, APtim5, APtim6, APtim7, APtim8, APtim9 objref spkid, spkid2, spkid3, spkid4, spkid5, spkid6, spkid7, spkid8, spkid9 objref savefreq, savefreq2, savefreq3, savefreq4, savefreq5, savefreq6, savefreq7, savefreq8, savefreq9 objref ascifile, f1 ascifile = new Vector() f1 = new File() f1.ropen("q10s_non-spiker_at13nA.txt") ascifile.scanf(f1) savefreq = new File() //creates an output file where things can be saved for l=0, 4096 { axon.q10n_hhaxon = ascifile.x[(7*l)] //changes the Potassium gate tau value by 1/q10 axon.q10m_hhaxon = ascifile.x[(7*l)+1] //change the sodium ma dn h gates by 1/q10 axon.q10h_hhaxon = ascifile.x[(7*l)+2] axon.gnabar_hhaxon = ascifile.x[(7*l)+3]*0.48 //changes the sodium conductance axon.gkbar_hhaxon = ascifile.x[(7*l)+4]*1.088 //changes the potassium conductance axon.gl_hhaxon = ascifile.x[(7*l)+5]*0.0016 //changes the leak channel conductance axon rec = new NetCon(&v(0.125), nil, 0, 1, 0) //watches axon at 0.1cm axon rec2 = new NetCon(&v(.625), nil, 0, 1, 0) //watches axon at .5cm APtim = new Vector() //vector to record netcon into APtim2 = new Vector() //vector to record netcon into spkid = new Vector() //vector to hold the spike number identification spkid2 = new Vector() //vector to hold the spike number identification rec.record(APtim, spkid) //puts the values of APtim and spkid into the network connection (netcon) SOOOO rec contains AP time and spike id at axon = 0.75 rec2.record(APtim2, spkid2) //puts the values of APtim and spkid into the second network connection SOOOO rec2 contains the AP time and spike id numbers at axon = 0.5 savefreq = new File() //creates new file to save data to savefreq2 = new File() //creates new file to save data to savefreq3 = new File() //creates new file to save data to savefreq.aopen("Arrival_time_and_counter_17nA.dat")//opens new file //run() APtim.resize(3) APtim2.resize(3) savefreq.printf("%g\t%g\t%g\t%g\t%g\n", APtim.x(0), APtim.x(1), APtim2.x(0), APtim2.x(1), ascifile.x[(7*l)+6]) savefreq.close() }