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]
Citations  Citation Browser
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
                            
TITLE HH channel that includes both a sodium and a delayed rectifier channel 
: and accounts for sodium conductance attenuation
: Bartlett Mel-modified Hodgkin - Huxley conductances (after Ojvind et al.)
: Terrence Brannon-added attenuation 
: Yiota Poirazi-modified Kdr and Na threshold and time constants
: to make it more stable, 2000, poirazi@LNC.usc.edu
: Used in all BUT somatic and axon sections. The spike threshold is about -50 mV

NEURON {
	  SUFFIX hha_old
	  USEION na READ ena WRITE ina 
	  USEION k READ ek WRITE ik
	  NONSPECIFIC_CURRENT il
	  RANGE gnabar, gkbar, gl, el, gna, gk, gmax
	  RANGE ar2, vhalfs
	  RANGE inf, tau
	  RANGE taus
	  RANGE W
	  GLOBAL taumin
}

UNITS {
	  (mA) = (milliamp)
	  (mV) = (millivolt)
    FARADAY = (faraday) (coulomb)
    R = (k-mole) (joule/degC)
}

PARAMETER {                     :parameters that can be entered when function is called in cell-setup
    a0r = 0.0003 (/ms)
    b0r = 0.0003 (/ms)
    zetar = 12    
	  zetas = 12   
    gmr = 0.2   
	  ar2 = 1.0               :initialized parameter for location-dependent
    :Na-conductance attenuation, "s", (ar=1 -> zero attenuation)
	  taumin = 3   (ms)       :min activation time for "s" attenuation system
    vvs  = 2     (mV)       :slope for "s" attenuation system
    vhalfr = -60 (mV)       :half potential for "s" attenuation system
	  W = 0.016    (/mV)      :this 1/61.5 mV
    :	gnabar = 0.2 (mho/cm2)  :suggested conductance values
    :	gkbar = 0.12 (mho/cm2)
    :	gl = 0.0001  (mho/cm2)
    gnabar = 0   (mho/cm2)  :initialized conductances
	  gkbar = 0    (mho/cm2)  :actual values set in cell-setup.hoc
	  gl = 0       (mho/cm2)
	  el = -70.0   (mV)       :steady state 
	  v            (mV)
    gk           (mho/cm2)
    gna          (mho/cm2)
    gmax         (mho/cm2)
    celsius      (degC)
}

STATE {                         : the unknown parameters to be solved in the DEs
	  m h n s
}

ASSIGNED {			: parameters needed to solve DE
	  ena    (mV)       :Na reversal potential
	  ek     (mV)       :K reversal potential 
	  ina    (mA/cm2)
	  ik     (mA/cm2)
	  il     (mA/cm2)
	  inf[4]
	  tau[4] (ms)
}

BREAKPOINT {
	  SOLVE states METHOD cnexp
    gna = gnabar*m*m*h*s
	  ina = gna*(v - ena)                :Sodium current
    gk =  gkbar*n*n
	  ik = gk*(v - ek)                   :Potassium current
	  il = gl*(v - el)                    :leak current
    if (gna + gk + gl > gmax) {
        gmax = gna + gk + gl
    }
}

INITIAL {			:initialize the following parameter using states()
	  mhn(v) 
    m = inf[0]
    h = inf[1]
    n = inf[2]
	  s=1
    gna = gnabar*m*m*h*s
	  ina = gna*(v - ena)                :Sodium current
    gk =  gkbar*n*n
	  ik = gk*(v - ek)                   :Potassium current
	  il = gl*(v - el)
    gmax = gk + gna + gl
}

DERIVATIVE states {
	  mhn(v)
	  m' = (inf[0] - m)/tau[0]  :Na activation variable
	  h' = (inf[1] - h)/tau[1]  :Na inactivation variable
	  n' = (inf[2] - n)/tau[2]  :K activation variable
	  s' = (inf[3] - s)/tau[3]  :Na attenuation variable
}	

FUNCTION varss(v(mV), i) { :steady state values
	  if (i==0) {
		    varss = 1 / (1 + exp((v + 40(mV))/(-3(mV)))) :Na activation
	  }
	  else if (i==1) {
		    varss = 1 / (1 + exp((v + 45(mV))/(3(mV))))  :Na inactivation
	  }
	  else if (i==2) {	
		    varss = 1 / (1 + exp((v + 42(mV))/(-2(mV)))) :K activation
        
	  } else {
        :"s" activation system for spike attenuation - Migliore 96 model
		    varss = alpv(v,vhalfr)
    }
}


FUNCTION alpv(v(mV),vh(mV)) {    :used in "s" activation system infinity calculation
    alpv = (1+ar2*exp((v-vh)/vvs))/(1+exp((v-vh)/vvs))
}

FUNCTION alpr(v(mV)) {       :used in "s" activation system tau
    alpr = exp((1.e-3)*zetar*(v-vhalfr)*FARADAY/(R*(273.16+celsius))) 
}

FUNCTION betr(v(mV)) {       :used in "s" activation system tau
    betr = exp((1.e-3)*zetar*gmr*(v-vhalfr)*FARADAY/(R*(273.16+celsius))) 
}

FUNCTION vartau(v(mV), i) (ms) { :estimate tau values
	  LOCAL tmp
	  if (i==0) {
	      vartau = 0.05      :Na activation tau
	  }
	  else if (i==1) {
        vartau = 0.5       :Na inactivation tau
    }
	  else if (i==2) {
        vartau = 2.2      :K activation tau
    } else {
	      tmp = betr(v)/(a0r+b0r*alpr(v)) 
	      if (tmp<taumin) {tmp=taumin}
	      vartau = tmp      :s activation tau
    }
}	

PROCEDURE mhn(v(mV)) {
	  FROM i=0 TO 3 {
		    tau[i] = vartau(v,i)
		    inf[i] = varss(v,i)
	  }
}