CA1 pyramidal neuron: synaptically-induced bAP predicts synapse location (Sterratt et al. 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144490
This is an adaptation of Poirazi et al.'s (2003) CA1 model that is used to measure BAP-induced voltage and calcium signals in spines after simulated Schaffer collateral synapse stimulation. In the model, the peak calcium concentration is highly correlated with soma-synapse distance under a number of physiologically-realistic suprathreshold stimulation regimes and for a range of dendritic morphologies. There are also simulations demonstrating that peak calcium can be used to set up a synaptic democracy in a homeostatic manner, whereby synapses regulate their synaptic strength on the basis of the difference between peak calcium and a uniform target value.
Reference:
1 . Sterratt DC, Groen MR, Meredith RM, van Ooyen A (2012) Spine calcium transients induced by synaptically-evoked action potentials can predict synapse location and establish synaptic democracy. PLoS Comput Biol 8:e1002545 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism:
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I Mixed; I R; I_AHP;
Gap Junctions:
Receptor(s): AMPA; NMDA;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Dendritic Action Potentials; Synaptic Plasticity;
Implementer(s): Sterratt, David ; Groen, Martine R [martine.groen at gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; AMPA; NMDA; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I Mixed; I R; I_AHP;
/
bpap
CA1_multi
datastore
pars
plots
poirazi-nmda-car
tests
validation-plots
README.txt
ampa_forti.mod
cacum.mod
cad.mod *
cagk.mod
cal.mod
calH.mod
car.mod
car_mag.mod
cat.mod
d3.mod *
h.mod
hha_old.mod
hha2.mod
kadist.mod
kaprox.mod
kca.mod
km.mod
nap.mod
nmda_andr.mod
somacar.mod
binaverages.m
bpap-cell.hoc
bpap-data.hoc
bpap-dendburst.hoc
bpap-graphics.hoc
bpap-gui.hoc
bpap-gui.ses
bpap-pars.hoc
bpap-record.hoc
bpap-run.hoc
bpap-scaling.hoc
bpap-sims.hoc
bpap-sims-cell1.hoc
bpap-sims-cell2.hoc
bpap-sims-scaling.hoc
bpap-somainj.hoc
bpap-spiketrain.hoc
ca1_mrg_cell1.hoc
ca1_mrg_cell2.hoc
ca1_poirazi.hoc
ChannelBlocker.hoc
CrossingFinder.hoc
epspsizes.hoc
figure-example.R
figures.R
figures-common.R
FileUtils.hoc
FormatFile.hoc
ghk.inc
GraphUtils.hoc
Integrator.hoc
Makefile
mosinit.hoc
NmdaAmpaSpineSynStim.hoc
NmdaAmpaSynStim.hoc
ObjectClass.hoc
plotscalingresults_pergroup1.m
plotscalingresults5.m
PointProcessDistributor.hoc
ReferenceAxis.hoc
removezeros.m
RPlot.hoc
scaling_plots.m
Segment.hoc
SimpleSpine.hoc
Spine.hoc
TreePlot.hoc
TreePlotArray.hoc
triexpsyn.inc
units.inc
utils.hoc
validate-bpap.hoc
VarList.hoc
VCaGraph.hoc
                            
if (name_declared("pkgversions") != 4 ) {  execute("strdef pkgversions") }
sprint(pkgversions,"%sbpap-pars = $Revision: 1.1 $, ",pkgversions)

//
// Parameters
//

objref parlist                          // Parameter List
proc pars_set_defaults() {
    parlist = new VarList()
    
    // Simulation parameters 
    parlist.appendSetDouble("tstop", 100)
    parlist.appendSetDouble("Dt", 0.2) // Time step for recording membrane potentials
    parlist.appendSetDouble("dt", dt) // Time step for recording membrane potentials
    parlist.appendSetDouble("nruns", 1)     
    parlist.appendSetDouble("epsp_start", 50)// EPSP start time
    
    // Neuron parameters
    parlist.appendSetString("cell_model", "ca1_poirazi")
    parlist.appendSetDouble("cell_Ra", 50, "cell_set_cell_pars()", "Ohm-cm")
    parlist.appendSetDouble("diam_thresh", 1.5, "", "um") // What counts as a thin branch
    
    // Somatic current injection stimuli
    parlist.appendSetDouble("soma_iclamp_amp", 3 , "stim.amp = soma_iclamp_state*soma_iclamp_amp",  "nA")
    parlist.appendSetDouble("soma_iclamp_del", 50, "stim.del = soma_iclamp_del", "ms")
    parlist.appendSetDouble("soma_iclamp_dur", 1, "stim.dur = soma_iclamp_dur", "ms")
    parlist.appendSetDouble("soma_iclamp_state", 0, "stim.amp = soma_iclamp_state*soma_iclamp_amp")     
    
    // Synapse parameters
    parlist.appendSetDouble("nsyn",    250)
    // sah.mark_synapses(scall_inputs, screc_inputs)
    parlist.appendSetDouble("thickproxfrac",  0.000 )
    parlist.appendSetDouble("thickmedfrac",   0.016)
    parlist.appendSetDouble("thickdistfrac",   0.129)
    parlist.appendSetDouble("thinfrac",   0.855)
    
    // Synaptic Stimuli parameters
    parlist.appendSetDouble("noise", 0)
    parlist.appendSetDouble("start", 50, "set_all_input_pars()", "ms")
    parlist.appendSetDouble("jitter_type", 1, "", "")
    parlist.appendSetDouble("jitter", 1, "", "ms")
    parlist.appendSetDouble("interval", 500, "set_all_input_pars()", "ms")
    parlist.appendSetDouble("spiketime_state",0)
    parlist.appendSetString("scstim_file","./scstim.dat")
    
    // Spines and calcium
    // 10 R-type ca channels with conductance 16pS; divide by area of spine.
    parlist.appendSetDouble("headdiam",0.4,"set_all_input_pars()", "um")
    parlist.appendSetDouble("headL",0.2,"set_all_input_pars()", "um")
    parlist.appendSetDouble("neckdiam",0.2)
    parlist.appendSetDouble("neckL",1)
    parlist.appendSetDouble("cai0", 70e-6, "set_all_input_pars()", "mM") // From Sabatini & al (2002)
    parlist.appendSetDouble("kappa", 20, "set_all_input_pars()") // From Sabatini & al (2002)
    parlist.appendSetDouble("tauca",12, "set_all_input_pars()", "ms") // From Sabatini & al (2002)
    
    // R-type Ca channels on spines
    // parlist.appendSetDouble("gmax_car_spine",10*16e-12/(PI*0.2*1.0*1e-8),"set_all_input_pars()","S/cm2")
    parlist.appendSetDouble("gmax_car_spine",170,"set_all_input_pars()","pS")
    
    // Synpse paramters
    // AMPA
    parlist.appendSetDouble("taurise_exp_AmpaSyn", 0.2)
    parlist.appendSetDouble("taufast_exp_AmpaSyn", 4)
    parlist.appendSetDouble("tauslow_exp_AmpaSyn", 10) // Anything >5 will do
    parlist.appendSetDouble("afast_AmpaSyn", 1)
    parlist.appendSetDouble("T_exp_AmpaSyn", 33)
    parlist.appendSetDouble("e_ampa", 0, "", "mV")
    // 0.000022 below thresh; 0.000023 above with cvode and atol=0.001
    // And with 0.25ms fixed time step
    parlist.appendSetDouble("gsbar_ampa", 0.20E-3, "set_all_input_pars()","uS")
    parlist.appendSetDouble("ampa_scaled",0,"set_all_input_pars()")
    
    // NMDA
    parlist.appendSetDouble("e_nmda", 0)
    parlist.appendSetDouble("gsbar_nmda", 0.045E-3, "set_all_input_pars()","uS")
    parlist.appendSetDouble("dendburst_state", 1, "set_all_input_pars()")
    parlist.appendSetDouble("ka_blocked_state", 0, "kapblocker.block(ka_blocked_state) kadblocker.block(ka_blocked_state) ")
    parlist.appendSetDouble("taulmin_ka",lmin_kad, "lmin_kad=taulmin_ka lmin_kap=taulmin_ka", "ms")
    parlist.appendDouble("K0_NmdaSyn", "", "mM")
    parlist.appendDouble("delta_NmdaSyn")
    parlist.appendDouble("cvode_atol")
    parlist.appendDouble("cvode_on")
    parlist.appendDouble("dt")
    // Set the Vargas & Robinson "Figure 3" parameters
    K0_NmdaSyn =  2.57                   
    delta_NmdaSyn = 0.96
}

Loading data, please wait...