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,"%sSimpleSpine = $Revision: 1.2 $, ",pkgversions)

begintemplate SimpleSpine

public head
public headL, headdiam
public neckL, neckdiam
public loc, addSyn
objref this

create head
proc init() {
    headL = 0.2
    headdiam = 1
    neckL = 1 
    neckdiam = 0.2
    create head
    head insert pas
    // Negative arg prevents location
    if ($1 >= 0) { this.loc($1) }
    // Get properties of spine from parent (which we're accessing)
    pRa = Ra
    if (ismembrane("g_pas")) {
        pg_pas = g_pas
    } else {
        pg_pas = 10E-5
    }
    head {
        Ra = pRa
        // This is to simulate the head resistance so we adjust it
        // so that it's the same as the head would have been
        g_pas = pg_pas * (headL/neckL) * (headdiam/neckdiam)
        diam = neckdiam
        L = 2 * (neckL)         // double the real length as input is at 0.5
    }
}

proc loc() {
    connect head(0), $1    
}

proc addSyn() {
    head $o1.loc(0.5)
}


// spine {
//     insert pas
//     L = 2                               // double the real length
//     diam = 0.2
//     Ra = 250
//     g_pas = 1 / (50000 / 2) /10 * 5 // what it would be if the spine neck was 10* shorter (i.e 0.2um) and 5 times wider (i.e. 1um).
// }

// objref syn, ns, nc
// spine {
//     syn = new AmpaSyn(0.5)
//     ns = new NetStim(0.5)
//     nc = new NetCon(ns,syn)
//     nc.weight = 0.001                   // 1nS
//     ns.number = 1
//     ns.noise = 0
//     ns.start = 0
//     ns.interval = 0.1 // If this is set too low, the weight is set to 1
// }

endtemplate SimpleSpine

Loading data, please wait...