Hippocampus temporo-septal engram shift model (Lytton 1999)

 Download zip file   Auto-launch 
Help downloading and running models
Temporo-septal engram shift model of hippocampal memory. The model posits that memories gradually move along the hippocampus from a temporal encoding site to ever more septal sites from which they are recalled. We propose that the sense of time is encoded by the location of the engram along the temporo-septal axis.
1 . Lytton WW, Lipton P (1999) Can the hippocampus tell time? The temporo-septal engram shift model. Neuroreport 10:2301-6 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s):
Channel(s): I Na,t; I K;
Gap Junctions:
Receptor(s): GabaA; AMPA;
Simulation Environment: NEURON;
Model Concept(s): Pattern Recognition; Temporal Pattern Generation; Spatio-temporal Activity Patterns; Simplified Models;
Implementer(s): Lytton, William [billl at neurosim.downstate.edu];
Search NeuronDB for information about:  GabaA; AMPA; I Na,t; I K;
matrix.mod *
naf.mod *
passiv.mod *
pulse.mod *
sinstim.mod *
bg.inc *
boxes.hoc *
declist.hoc *
decvec.hoc *
default.hoc *
loadr.hoc *
params.hoc *
params.hoc.SAV *
simctrl.hoc *
// $Id: proc.hoc,v 1.43 2002/05/14 21:29:20 billl Exp $

//* crosstalk() calculates ndot and xdot
// ndot norm of vector against itself X.X
// xdot average cross product <X.Y>
// ddot = ndot-xdot
double szinp[1],ndot[1],xdot[1],ddot[1]
proc crosstalk () { local num,i,j,s1,s2,s3,ni,nf,szin,iflip
  num = $1
  szin=szinp[num] iflip=szin/2
  if (szin<100) {
    tot = fac(szin)/fac(iflip)^2 // the total number of vectors
  } else {
    tot = exp(logfac(szin) - 2*logfac(iflip))
  s1 = s2 = s3 = 0
  nf = fac(iflip)
  for i=1,iflip { // let's not include X.X
    ni = iflip-i
    a = nf/fac(ni)/fac(i)
    a = a*a/tot
    s1 = s1 + a*(ni*BVBASE*BVBASE+ ni + 2*i*BVBASE)
  ndot[num] = iflip*BVBASE*BVBASE + iflip // iflip*1*1 actually
  xdot[num] = s1
  ddot[num] = ndot[num]-xdot[num]

//* makemat(mat,inlist,outlist) recreates the outerproduct matrix from iovec's
proc makemat() { local p1,full,szinp
  if ($o2.count!=npatt || $o3.count!=npatt) { 
    printf("ERROR in makemat: list counts differ from npatt %s %s\n",$o2,$o3) return }
  szinp = $o2.object(0).size
  p1 = allocvecs(1)
  mso[p1].resize(szinp*szout)  // scratch matrix
  // generate outer product matrix
  for ltr2(XO,YO,$o2,$o3) {

//* makeinh() makes the inhibitory projection out of the output vectors
proc makeinh() { local ii
  ii = $3
  if ($o2.count!=npatt) { print "ERROR: wrong list count"  return }
  for ltr(XO,$o2) { $o1.add(XO) }

//* mkiovec(list,size)  put npatt vecs of size SIZE in LIST
proc mkiovec() { local i,flag,sz,flp
  sz=$2 flp=sz/2
  flag=0 // can't just use '||' because all get eval'ed and generate error
  if ($o1.count!=npatt) { flag=1
  } else if ($o1.object(0).size!=sz) {flag=1}
  if (flag) {
    for i=0,npatt-1 { 
      tmpvec = new Vector(sz,-1) // input vec
    tmpvec = nil
  } else for ltr(XO,$o1) {

//* mkiovec2(list,size,flp)  put npatt vecs of size SIZE in LIST
proc mkiovec2() { local i,flag,sz,flp
  sz=$2 flp=$3
  flag=0 // can't just use '||' because all get eval'ed and generate error
  if ($o1.count!=npatt) { flag=1
  } else if ($o1.object(0).size!=sz) {flag=1}
  if (flag) {
    for i=0,npatt-1 { 
      tmpvec = new Vector(sz,-1) // input vec
    tmpvec = nil
  } else for ltr(XO,$o1) {

//* mkorthog(list,size,flips)  put npatt vecs of size SIZE in LIST
proc mkorthog() { local i,flag,sz,flp,p1,p2,a,b
  sz=$2 flp=$3
  p1 = allocvecs(2,sz) p2=p1+1 mso[p1].resize(sz) 
  flag=0 // can't just use '||' because all get eval'ed and generate error
  if ($o1.count!=npatt) { flag=1
  } else if ($o1.object(0).size!=sz) {flag=1}
  mso[p1].fill(0)  // key to where the flips have been done
  mso[p2].resize(sz) mso[p2].indgen() // key to indices which can still be flipped
  if (npatt > sz/flp) { 
    printf("ERROR: can't make %d orthog patts (%d only)\n",npatt,sz/flp)
    return }
  // if (flag) { $o1.remove_all }
  for i=0,npatt-1 { 
    if (flag) { tmpvec = new Vector(sz,0) } else { tmpvec=$o1.object(i) } // input vec
    for j=0,flp-1 {
      a = int(rdm.uniform(0,mso[p2].size)) // pick an index into the indices
      b = mso[p2].x[a] // pick an index to flip
      tmpvec.x[b] = mso[p1].x[b] = 1 // flip from 0 to 1
      mso[p2].indvwhere(mso[p1],"==",0) // can still be flipped
    if (flag) { $o1.append(tmpvec) }
  tmpvec = nil

proc rdvecs () { local nr,nc
  nr=$2 nc=$3 sz=$5
  for ii=1,nc { 
    tmpvec = new Vector(sz)

//* connmap(mat,pre,post) 
// map a connectivity matrix onto a list of pre's and posts'
proc connmap () { local isz,osz,num
  isz = $o2.count  osz = $o3.count
  if (numarg()==0) { print "connmap(mat,pre,post)" return }
  if ($o1.size != isz*osz) {
    printf("ERROR: size mismatch in connmap: %d %d %d\n",$o1.size,isz,osz) return }
  for ltr(XO,$o3,&x) {   // postsynaptic
    for ltr(YO,$o2,&y) { //  presynaptic
      num = $o1.mget(x,y,isz)
      if (num != 0) {
        if (num<0) {
          printf("CONNMAP ERROR: gmax must not be <0.: %d %d %g.\n",x,y,num)
          return }
          YO.soma ncl.append(new NetCon(&v(.5), XO, 0, 0.1, num))
          // print YO,XO,y,x

//* clearsyns() goes through postsyn list and reinitializes everything
proc clearsyns() { local i,j
  tmplist = new List("AMPA")
  for ltr(XO,tmplist) { XO.init_arrays(XO.maxsyn) }
  tmplist = new List("GABAA")
  for ltr(XO,tmplist) { XO.init_arrays(XO.maxsyn) }

//* delset ("AMPA") resets the delays for AMPA
proc delset () { local ii
  for sltr(XO,$s1) for ii=0,XO.nsyn-1 XO.delay(ii,0)

Lytton WW, Lipton P (1999) Can the hippocampus tell time? The temporo-septal engram shift model. Neuroreport 10:2301-6[PubMed]

References and models cited by this paper

References and models that cite this paper

Alvarez P, Squire LR (1994) Memory consolidation and the medial temporal lobe: a simple network model. Proc Natl Acad Sci U S A 91:7041-5 [PubMed]

Anderson P, Bliss TV, Skrede KK (1971) Lamellar organization of hippocampal pathways. Exp Brain Res 13:222-38 [PubMed]

Bliss TV, Lomo T (1973) Long-lasting potentiation of synaptic transmission in the dentate area of the anaesthetized rabbit following stimulation of the perforant path. J Physiol 232:331-56 [PubMed]

Cavazos JE, Golarai G, Sutula TP (1992) Septotemporal variation of the supragranular projection of the mossy fiber pathway in the dentate gyrus of normal and kindled rats. Hippocampus 2:363-72 [PubMed]

Claiborne BJ, Amaral DG, Cowan WM (1986) A light and electron microscopic analysis of the mossy fibers of the rat dentate gyrus. J Comp Neurol 246:435-58 [PubMed]

Damasio AR (1990) Category-related recognition defects as a clue to the neural substrates of knowledge. Trends Neurosci 13:95-8 [PubMed]

Davis BD (1985) Sleep and the maintenance of memory. Perspect Biol Med 28:457-64 [PubMed]

Giuditta A, Ambrosini MV, Montagnese P, Mandile P, Cotugno M, Grassi Zucconi G, Vescia S (1995) The sequential hypothesis of the function of sleep. Behav Brain Res 69:157-66 [PubMed]

Grunwald T, Lehnertz K, Heinze HJ, Helmstaedter C, Elger CE (1998) Verbal novelty detection within the human hippocampus proper. Proc Natl Acad Sci U S A 95:3193-7 [PubMed]

Hennevin E, Hars B, Maho C, Bloch V (1995) Processing of learned information in paradoxical sleep: relevance for memory. Behav Brain Res 69:125-35 [PubMed]

Holscher C, Anwyl R, Rowan MJ (1997) Stimulation on the positive phase of hippocampal theta rhythm induces long-term potentiation that can Be depotentiated by stimulation on the negative phase in area CA1 in vivo. J Neurosci 17:6470-7 [PubMed]

Hopfield JJ (1982) Neural networks and physical systems with emergent collective computational abilities. Proc Natl Acad Sci U S A 79:2554-8 [PubMed]

Lepage M, Habib R, Tulving E (1998) Hippocampal PET activations of memory encoding and retrieval: the HIPER model. Hippocampus 8:313-22 [PubMed]

Loy R, Koziell DA, Lindsey JD, Moore RY (1980) Noradrenergic innervation of the adult rat hippocampal formation. J Comp Neurol 189:699-710 [PubMed]

Lytton WW (1998) Adapting a feedforward heteroassociative network to Hodgkin-Huxley dynamics. J Comput Neurosci 5:353-64 [Journal] [PubMed]

   Feedforward heteroassociative network with HH dynamics (Lytton 1998) [Model]

Meador-Woodruff JH, Grandy DK, Van Tol HH, Damask SP, Little KY, Civelli O, Watson SJ (1994) Dopamine receptor gene expression in the human medial temporal lobe. Neuropsychopharmacology 10:239-48 [PubMed]

Melges FT, Freeman AM (1977) Temporal disorganization and inner-outer confusion in acute mental illness. Am J Psychiatry 134:874-7 [PubMed]

Moser MB, Moser EI (1998) Distributed encoding and retrieval of spatial memory in the hippocampus. J Neurosci 18:7535-42 [PubMed]

Nyberg L, McIntosh AR, Cabeza R, Habib R, Houle S, Tulving E (1996) General and specific brain regions involved in encoding and retrieval of events: what, where, and when. Proc Natl Acad Sci U S A 93:11280-5 [PubMed]

O'Reilly RC, McClelland JL (1994) Hippocampal conjunctive encoding, storage, and recall: avoiding a trade-off. Hippocampus 4:661-82 [PubMed]

Ott BR, Saver JL (1993) Unilateral amnesic stroke. Six new cases and a review of the literature. Stroke 24:1033-42 [PubMed]

Poucet B, Thinus-Blanc C, Muller RU (1994) Place cells in the ventral hippocampus of rats. Neuroreport 5:2045-8 [PubMed]

Shen B, McNaughton BL (1996) Modeling the spontaneous reactivation of experience-specific hippocampal cell assembles during sleep. Hippocampus 6:685-92 [PubMed]

Sigala S, Missale C, Spano P (1997) Opposite effects of dopamine D2 and D3 receptors on learning and memory in the rat. Eur J Pharmacol 336:107-12 [PubMed]

Slomianka L, Geneser FA (1993) Distribution of acetylcholinesterase in the hippocampal region of the mouse. III. The area dentata. J Comp Neurol 331:225-35 [PubMed]

Squire LR (1982) Comparisons between forms of amnesia: some deficits are unique to Korsakoff's syndrome. J Exp Psychol Learn Mem Cogn 8:560-71 [PubMed]

Squire LR, Spanis CW (1984) Long gradient of retrograde amnesia in mice: continuity with the findings in humans. Behav Neurosci 98:345-8 [PubMed]

Teyler TJ, DiScenna P (1986) The hippocampal memory indexing theory. Behav Neurosci 100:147-54 [PubMed]

Treves A, Rolls ET (1994) Computational analysis of the role of the hippocampus in memory. Hippocampus 4:374-91 [PubMed]

Trimble MR (1991) Interictal psychoses of epilepsy. Adv Neurol 55:143-52 [PubMed]

Tulving E, Kapur S, Craik FI, Moscovitch M, Houle S (1994) Hemispheric encoding/retrieval asymmetry in episodic memory: positron emission tomography findings. Proc Natl Acad Sci U S A 91:2016-20 [PubMed]

Tulving E, Markowitsch HJ (1998) Episodic and declarative memory: role of the hippocampus. Hippocampus 8:198-204 [PubMed]

Verney C, Baulac M, Berger B, Alvarez C, Vigny A, Helle KB (1985) Morphological evidence for a dopaminergic terminal field in the hippocampal formation of young and adult rat. Neuroscience 14:1039-52 [PubMed]

Wilson MA, McNaughton BL (1994) Reactivation of hippocampal ensemble memories during sleep. Science 265:676-9 [PubMed]

Hines ML, Carnevale NT (2001) NEURON: a tool for neuroscientists. Neuroscientist 7:123-35 [Journal] [PubMed]

   Spatial gridding and temporal accuracy in NEURON (Hines and Carnevale 2001) [Model]

Hines ML, Carnevale NT (2003) Personal Communication of NEURON bibliography

(36 refs)