ModelDB is moving. Check out our new site at https://modeldb.science. The corresponding page is https://modeldb.science/244416.

CA1 pyramidal neuron (Combe et al 2018)

 Download zip file 
Help downloading and running models
Accession:244416
"Gamma oscillations are thought to play a role in learning and memory. Two distinct bands, slow (25-50 Hz) and fast (65-100 Hz) gamma, have been identified in area CA1 of the rodent hippocampus. Slow gamma is phase-locked to activity in area CA3 and presumably driven by the Schaffer collaterals. We used a combination of computational modeling and in vitro electrophysiology in hippocampal slices of male rats to test whether CA1 neurons responded to Schaffer collateral stimulation selectively at slow gamma frequencies, and to identify the mechanisms involved. Both approaches demonstrated that in response to temporally precise input at Schaffer collaterals, CA1 pyramidal neurons fire preferentially in the slow gamma range regardless of whether the input is at fast or slow gamma frequencies, suggesting frequency selectivity in CA1 output with respect to CA3 input. In addition, phase-locking, assessed by the vector strength, was more precise for slow gamma than fast gamma input. ..."
Reference:
1 . Combe CL, Canavier CC, Gasparini S (2018) Intrinsic Mechanisms of Frequency Selectivity in the Proximal Dendrites of CA1 Pyramidal Neurons. J Neurosci 38:8110-8127 [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: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Gamma oscillations;
Implementer(s): Canavier, CC;
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; I Na,p; I Na,t; I L high threshold; I T low threshold; I A; I K; I M; I h; I K,Ca; I Calcium;
// Given a reference point (ie, soma), an apex point, and a point of
// interest, (POI), this function returns the distance from the reference point to
// the POI. These three points are vectors with x,y,z as their values
// written by Terrence Brannon, last modified by Yiota Poirazi, July 2001, poirazi@LNC.usc.edu

objref RP, POI, APEX

proc pvec() {
  printf("%s: \t", $s1)
  $o2.printf("%f ")
}

proc pvecs() {
  pvec("RP", RP)
  pvec("APEX",APEX)
  pvec("POI",POI)
}

proc clear_vecs() {
  RP=new Vector()
  APEX=new Vector()
  POI=new Vector()
}

objref vhold
vhold=new Vector()

func vector_distance() { local adjustment
//  print "func vector_distance() {"

  clear_vecs()
  
  RP=$o1.c
  APEX=$o2.c
  POI=$o3.c
  adjustment = $4

//  pvecs()

  // Subtract Psoma: Qapex = Papex - Psoma. Therefore Qsoma=0,0,0

  APEX.sub(RP)
  POI.sub(RP)
    RP.sub(RP)

//    pvecs()

  // Normalize Qapex, Creating Uapex

  vhold=APEX.c
  vhold.mul(vhold)
  APEX_BAR=sqrt(vhold.sum())

//  printf("APEX_BAR: %f\n", APEX_BAR)

  APEX.div(APEX_BAR)

//  pvec("UAPEX", APEX)

  // Find length of projection of Qdend onto Uapex

  H = POI.dot(APEX) + adjustment
  
  H=abs(H)

  return(H)
}

objref fvd_vec
strdef fvd_str
func find_vector_distance() {

  fvd_vec=new Vector()
  sprint(fvd_str, "access %s", $s1)
  execute1(fvd_str)
  
  vcreate2(fvd_vec,0)
  
  return(vector_distance(vRP,vAPEX,fvd_vec,adjustment))
}

func find_vector_distance_precise() {

  fvd_vec=new Vector()
  sprint(fvd_str, "access %s", $s1)
  execute1(fvd_str)
  
  vcreate3(fvd_vec,$2)
  
  return(vector_distance(vRP,vAPEX,fvd_vec,adjustment))
}

proc vcreate() {
  $o1.append(x3d(0))
  $o1.append(y3d(0))
  $o1.append(z3d(0))
}

proc vcreate2() {
  $o1.append(x3d($2))
  $o1.append(y3d($2))
  $o1.append(z3d($2))
}

proc vcreate3() {
  $o1.append(x_d3($2))
  $o1.append(y_d3($2))
  $o1.append(z_d3($2))
}

Loading data, please wait...