Modelling reduced excitability in aged CA1 neurons as a Ca-dependent process (Markaki et al. 2005)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:119266
"We use a multi-compartmental model of a CA1 pyramidal cell to study changes in hippocampal excitability that result from aging-induced alterations in calcium-dependent membrane mechanisms. The model incorporates N- and L-type calcium channels which are respectively coupled to fast and slow afterhyperpolarization potassium channels. Model parameters are calibrated using physiological data. Computer simulations reproduce the decreased excitability of aged CA1 cells, which results from increased internal calcium accumulation, subsequently larger postburst slow afterhyperpolarization, and enhanced spike frequency adaptation. We find that aging-induced alterations in CA1 excitability can be modelled with simple coupling mechanisms that selectively link specific types of calcium channels to specific calcium-dependent potassium channels."
Reference:
1 . Markaki M, Orphanoudakis S, Poirazi P (2005) Modelling reduced excitability in aged CA1 neurons as a calcium-dependent process Neurocomputing 65-66:305-314
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: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I N; I A; I K; I M; I K,Ca; I R;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Aging/Alzheimer`s;
Implementer(s):
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; I Na,p; I Na,t; I L high threshold; I N; I A; I K; I M; I K,Ca; I R;
/
CA1_Aged
template
BasalPath.hoc *
EPSPTuning.hoc *
ExperimentControl.hoc *
ObliquePath.hoc *
RangeRef.hoc *
SynapseBand.hoc *
                            
// This template is used to create a band of sections by
// randomly selecting sections within a specified region (in
// interval [lo hi]). Sections can be selected with or without
// repetition and synapses can be allocated at predifined
// locations along these sections 
// written by Yiota Poirazi, July 2001, poirazi@LNC.usc.edu


objref synapse_band_shape, gaba_band_shape
synapse_band_shape=new Shape() // shape graph to plot AMPA and NMDA synapses
gaba_band_shape=new Shape()    // shape graph to plot GABA_A and GABA_B synapses

begintemplate SynapseBand

public pick_and_salloc, pick_and_SALLOC, pick, pick_and_remove, pick_and_SALLOC_GABAa, pick_and_SALLOC_GABAb
objref all_secs, secs_in_band, selected_secs, rnum, ltmp
strdef exec_str

proc init () {
  all_secs=$o1     // list of all sections to choose from
  lo=$2            // minimum distance from soma
  hi=$3            // maximum distance from soma
  actual_res=$4    // obsolete. Used only if more than one synapses are to be placed at a specific location
  desired_res=$5   // obsolete. Used only if more than one synapses are to be placed at a specific location
  PID=$6           // random number generator seed 

//  print "choosing sections that are between ", lo, " and ", hi, " microns from the soma"	

  secs_in_band=new List()
  if (PID < 0) {
     PID=-PID       // if PID < 0 choose sections branchwise
     sprint(exec_str,"choose_secs_branchwise(%s,%s,%g,%g,%g,%g)", all_secs,secs_in_band,lo,hi,actual_res,desired_res)
  } else {  	
     sprint(exec_str,"choose_secs(%s,%s,%g,%g,%g,%g)", all_secs,secs_in_band,lo,hi,actual_res,desired_res)
  }
  execute1(exec_str)  // use ../lib/choose-secs.hoc to choose sections and store them in "secs_in_band"

  rnum=new Random(PID)
}

proc cdto() {    // Access a given section
  ltmp=secs_in_band.object(num)
  access ltmp.section_ref.sec
//  print secname(), "accessed by SynapseBand.pick()"
}

proc cdto_rm() { // Remove the section just accessed
  ltmp=secs_in_band.object(num)
  access ltmp.section_ref.sec
//  print secname(), " accessed by SynapseBand.pick(). cdto_rm() is removing it."
  secs_in_band.remove(num)
}

proc pick() {  //randomly (uniformly) pick a section in band and access it
  num=rnum.uniform(0,secs_in_band.count()-1)
  cdto(num)
}

proc pick_and_remove() { //randomly (uniform) pick a section in band, access and remove it 
    num=rnum.uniform(0,secs_in_band.count()-1)
    cdto_rm(num)
}

proc pick_and_salloc() { // randomly pick a section in band, access it and allocate a synapse (AMPA or NMDA) on it
  pick()
  sprint(exec_str,"salloc(%s,%s,%g)", $o1,$o2,ltmp.range_ref)     // in ../lib/salloc.hoc
  execute1(exec_str)
  sprint(exec_str,"synapse_band_shape.point_mark(%s,%d)", $o1,$3) // make a shape graph and print a 
  execute1(exec_str)						  // dot at the location of the synapse 
}

proc pick_and_SALLOC() { // same as above but made to work with both AMPA/NMDA and GABA synapses (not used)
  pick()
  sprint(exec_str,"SALLOC(%s,%s,%g,%d)", $o1,$o2,ltmp.range_ref,$4) // in ../lib/salloc.hoc
  execute1(exec_str)
  sprint(exec_str,"synapse_band_shape.point_mark(%s,%d)", $o1,$3)
  execute1(exec_str)
}

proc pick_and_SALLOC_GABAa() { // Used if only GABA_A synapses will be allocated
  pick()
  sprint(exec_str,"SALLOC_GABAa(%s,%g,%d,%g)", $o1,ltmp.range_ref, $3, $4)   // in ../lib/salloc.hoc 
  execute1(exec_str)
  sprint(exec_str,"gaba_band_shape.point_mark(%s,%d)", $o1, $2)
  execute1(exec_str)
}

proc pick_and_SALLOC_GABAb() {  // Used if only GABA_B synapses will be allocated
  pick()
  sprint(exec_str,"SALLOC_GABAb(%s,%g,%d,%g)", $o1,ltmp.range_ref, $3, $4)   // in ../lib/salloc.hoc
  execute1(exec_str)
  sprint(exec_str,"gaba_band_shape.point_mark(%s,%d)", $o1,$2)
  execute1(exec_str)
}

endtemplate SynapseBand