load_file("bpap-dendburst.hoc") load_file("bpap-somainj.hoc") load_file("TreePlot.hoc") load_file("ChannelBlocker.hoc") load_file("VarList.hoc") load_file("epspsizes.hoc") load_file("TreePlotArray.hoc") load_file("Integrator.hoc") load_file("utils.hoc") load_file("bpap-graphics.hoc") load_file("bpap-spiketrain.hoc") load_file("bpap-cell.hoc") load_file("bpap-pars.hoc") load_file("bpap-data.hoc") load_file("bpap-run.hoc") //cvode.atol(1e-8) for no activity // Set up the parameter lists and the default parameters pars_set_defaults() // Need to set these here to speed up computation that occurs // while loading the model cell_set_cvode_atol(0.0001) cell_setup_cell() // cell_setup_cell() uses cvode, so switch back to fixed step if desired here cell_set_cvode_active(1) // Figure 6: Measure EPSP sizes strdef dataname if (1) { print "Determining EPSP sizes - this takes a long time..." data_get_epsprun_dataname(dataname) measure_epspsizes() data_save_parameters_and_data(dataname) } // We want to record from four synapses on the trunk in this case screc_inputs_sri = new Vector() objref seg // Specify a SegmentRefList of synapses we alway want to record from. // These are at the following distances from the soma: // // Dist Segment // 25.7um apical_dendrite[0] (0.25) // 115.4um apical_dendrite[4] (0.50) // 258.6um apical_dendrite[25](0.50) // These distances can be found using cell_print_trunk_distances() apical_dendrite[0] seg = new SegmentRef(0.25) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) apical_dendrite[4] seg = new SegmentRef(0.5) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) apical_dendrite[25] seg = new SegmentRef(0.5) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) parlist.appendVector("screc_inputs_sri") screc_inputs_sr = new SegmentRefList() for i=0, screc_inputs_sri.size() - 1 { screc_inputs_sr.append_segment(segreflist.srl.object(screc_inputs_sri.x(i))) } //create_and_distribute_screc_inputs() create_and_distribute_inputs() // Print picture of cell graphics_lineup_shapeplot() graphics_mark_screc_synapses() // Shape[0].printfile("datastore/somainj.eps") // // Experimental setup // // Soma iclamp setup_soma_iclamp() tstop = 200 // Channel blockers objref kapblocker, kadblocker kapblocker = new ChannelBlocker("gkabar_kap",sl) kadblocker = new ChannelBlocker("gkabar_kad",sl) strdef dataname proc save_parameters_and_data_sims() { data_get_dataname(dataname, "dendburst") data_save_parameters_and_data(dataname) } // // The commands to run the simulations // // Figure 1: response to somatic current injection dendburst_state = 0 soma_iclamp_state = 1 if (1) { nruns = 1 run_bpap() strdef dataname sprint(dataname, "%s-somainj-Ra%03g-cv%01g", cell_model, cell_Ra, cvode_on) data_save_parameters_and_data(dataname) } // Figures 2-4 // // We want to record from a different set of synapses in this case screc_inputs_sri = new Vector() objref seg // Specify a SegmentRefList of synapse we alway want to record from. // oc>segreflist.srl.o(screc_inputs_sri.x(0)).name apical_dendrite[5] seg = new SegmentRef(0.125) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) apical_dendrite[74] seg = new SegmentRef(0.5) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) apical_dendrite[51] seg = new SegmentRef(0.91666667 ) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) apical_dendrite[28] seg = new SegmentRef(0.5 ) screc_inputs_sri.append(segreflist.find_ind_of_segment(seg)) //10, 146, 102, 49 parlist.appendVector("screc_inputs_sri") screc_inputs_sr = new SegmentRefList() for i=0, screc_inputs_sri.size() - 1 { screc_inputs_sr.append_segment(segreflist.srl.object(screc_inputs_sri.x(i))) } //create_and_distribute_screc_inputs() create_and_distribute_inputs() graphics_lineup_shapeplot() graphics_mark_screc_synapses() // Figures 2 & 6: response to SC stimulation from 240 synapses dendburst_state = 1 soma_iclamp_state = 0 nsyn = 240 jitter = 0 nruns = 100 vtreerecinds.append(38, 39, 40, 224, 225, 226) if (1) { run_bpap() save_parameters_and_data_sims() } // Figure S3: Removal of R-type channel dendburst_state = 1 soma_iclamp_state = 0 gmax_car_spine = 0 nsyn = 240 jitter = 0 nruns = 100 if (1) { run_bpap() save_parameters_and_data_sims() } // Figure 3A-H: Effect of asynchronous stimulation dendburst_state = 1 soma_iclamp_state = 0 gmax_car_spine = 170 nsyn = 240 jitter = 10 nruns = 100 if (1) { run_bpap() save_parameters_and_data_sims() } // Figure 3I-P: Effect of subthreshold stimulation dendburst_state = 1 soma_iclamp_state = 0 nsyn = 190 jitter = 0 nruns = 100 if (1) { run_bpap() save_parameters_and_data_sims() } // Figure 7: Effect of scaled synapses dendburst_state = 1 soma_iclamp_state = 0 nsyn = 240 jitter = 0 nruns = 100 ampa_scaled=1 if (1) { run_bpap() save_parameters_and_data_sims() } // Figure 9: Effect of being subthreshold and being scaled ampa_scaled = 1 dendburst_state = 1 soma_iclamp_state = 0 nsyn = 190 jitter = 0 nruns = 100 if (1) { run_bpap() save_parameters_and_data_sims() } // For these plots with few synapses, we don't want any special synapses screc_inputs_sri = new Vector() screc_inputs_sr = new SegmentRefList() create_and_distribute_inputs() // Figure S1 F-J: Effect of somatic stimulation and a few active synapses dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 63 jitter = 0 nsyn = 5 nruns = 500 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 64 jitter = 0 nsyn = 5 nruns = 100 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } // Figure 8: Effect of somatic stimulation and a few active synapses dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 65 jitter = 0 nsyn = 5 nruns = 100 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } // Figure 8: Effect of somatic stimulation and a few active synapses dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 66 jitter = 0 nsyn = 5 nruns = 100 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 67 jitter = 0 nsyn = 5 nruns = 100 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } dendburst_state = 1 soma_iclamp_state = 1 soma_iclamp_del = 68 jitter = 0 nsyn = 5 nruns = 100 ampa_scaled=0 if (1) { data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) nsyn = 190 data_get_dataname(dataname, "dendburst") sprint(dataname, "%s-id%01g", dataname, soma_iclamp_del) run_bpap() data_save_parameters_and_data(dataname) } // Figure S1 L,M: Effect of somatic stimulation only dendburst_state = 1 gsbar_ampa = 0 gsbar_nmda = 0 soma_iclamp_state = 1 nsyn = 190 jitter = 0 nruns = 1 if (1) { run_bpap() save_parameters_and_data_sims() }