Hippocampus temporo-septal engram shift model (Lytton 1999)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:7400
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.
Reference:
1 . Lytton WW, Lipton P (1999) Can the hippocampus tell time? The temporo-septal engram shift model. Neuroreport 10:2301-6 [PubMed]
Citations  Citation Browser
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;
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Pattern Recognition; Temporal Pattern Generation; Spatio-temporal Activity Patterns; Simplified Models;
Implementer(s): Lytton, William [bill.lytton at downstate.edu];
Search NeuronDB for information about:  GabaA; AMPA; I Na,t; I K;
/
lytton99
README
AMPA.mod
GABAA.mod
kdr.mod
matrix.mod *
naf.mod *
passiv.mod *
pulse.mod *
sinstim.mod *
vecst.mod
vecst.mod.orig
bg.inc *
bg_cvode.inc
boxes.hoc *
declist.hoc *
decvec.hoc *
default.hoc *
directory
fig1.gif
grvec.hoc
init.hoc
ivl.vecs
labels.hoc
loadr.hoc *
local.hoc
mosinit.hoc
net.hoc
netcon.inc
nrnoc.hoc
ovl.vecs
params.hoc *
params.hoc.SAV *
proc.hoc
run.hoc
simctrl.hoc *
spkts.hoc
syncode.hoc
tmpl.hoc
                            
// $Id: net.hoc,v 1.137 2002/05/14 21:08:03 billl Exp $

//* NETWORK CONSTANTS
nlam = 2 // number of laminae
npatt = 11 // number of input/output patterns
nflip = 6 // number of bits to set
convn = 1
kalap = 0.5 // require conv from >3.5 (ie 4) outputs
conva = 0
double ndot[convn], xdot[convn], ddot[convn]
double szinp[convn]
for ii=0,conva-1 { szinp[ii] = 80 } // the size of the input (N)
for ii=conva,convn-1 { szinp[ii] = 80 } // the size of the input (N)
szout = 80  // the size of the output (M)
BVBASE = 0.0 // use BVBASE/1 binary vectors

//* DECLARATIONS
seed = 243545
vseed(seed)
objref mat[2],inhv[convn],ivl[convn],ovl,test[convn]
ovl = new List()  // input  vector list
for ii=0,convn-1 {
  inhv[ii] = new Vector(szout)
  ivl[ii] = new List()  // output vector list
  test[ii] = new Vector(szout)
}

//* CREATE MATs
{mat[0] = new Vector(szinp[0]*szout) mat[1] = new Vector(szinp[0]*szout)}
// {ii=0 mkorthog(ovl,szout,nflip) mkorthog(ivl[ii],szinp[ii],nflip)}
rdvecs("ivl.vecs",6,11,ivl,80)
rdvecs("ovl.vecs",6,11,ovl,80)
print "Vector pairs"
for ltr2(XO,YO,ivl,ovl) { XO.vpr printf("\t<<==>>\t") YO.vpr }
{ii=0 makemat(mat[0],ivl[ii],ovl) makemat(mat[1],ovl,ivl[ii]) }

//* CREATE CELLS
objref lam[nlam]
{ii=0 lam[ii] = new LAM(ii,szout,szinp)}  // the forward cells
{ii=1 lam[ii] = new LAM(ii,szinp,szout)}  // the backward cells

access lam[0].nrn[0].soma
objref trig
trig = new NetStim(0.5)
for ltr(XO,new List("PULSE")) netgen(trig,XO)

//* COPY the connectivity
//** conn forward
lam[0].ampalist(tmplist)
lam[1].clist(tmplist2)
connmap(mat[1],tmplist2,tmplist) // projections from the other set of cells
lam[0].gabalist(tmplist)
connmap(mat[1],tmplist2,tmplist) // projections from the other set of cells
// {vec.resize(80) vec.mrow(mat,0,80) ind.indvwhere(vec,">",0) vlk(ind) } // look at conv
// scong(NRN[0])
//** conn backward
lam[1].ampalist(tmplist)
lam[0].clist(tmplist2)
connmap(mat[0],tmplist2,tmplist)
lam[1].gabalist(tmplist)
connmap(mat[0],tmplist2,tmplist)
// {vec.resize(80) vec.mrow(mat[1],0,80) ind.indvwhere(vec,">",0) vlk(ind) } // look at conv
// scong(NRN[80])