Feedforward heteroassociative network with HH dynamics (Lytton 1998)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:7399
Using the original McCulloch-Pitts notion of simple on and off spike coding in lieu of rate coding, an Anderson-Kohonen artificial neural network (ANN) associative memory model was ported to a neuronal network with Hodgkin-Huxley dynamics.
Reference:
1 . Lytton WW (1998) Adapting a feedforward heteroassociative network to Hodgkin-Huxley dynamics. J Comput Neurosci 5:353-64 [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; Attractor Neural Network;
Implementer(s): Lytton, William [bill.lytton at downstate.edu];
Search NeuronDB for information about:  GabaA; AMPA; I Na,t; I K;
/
lytton98
README
AMPA.mod
GABAA.mod
kdr.mod
matrix.mod *
misc.mod.orig
naf.mod *
passiv.mod *
precall.mod
pregen.mod *
pregencv.mod
pulsecv.mod
sinstim.mod *
vecst.mod
bg.inc *
boxes.hoc *
declist.hoc *
decvec.hoc *
default.hoc *
directory
fig5.gif
grvec.hoc
init.hoc
labels.hoc
loadr.hoc *
local.hoc *
mosinit.hoc *
net.hoc
nrnoc.hoc *
params.hoc
presyn.inc
proc.hoc
run.hoc
simctrl.hoc *
sns.inc *
snsarr.inc
snscode.hoc
snshead.inc *
spkts.hoc
tmpl.hoc
xtmp
                            
// $Id: net.hoc,v 1.74 1996/09/05 12:22:49 billl Exp $

//* NETWORK CONSTANTS
nlam = 1 // number of laminae
npatt = 60 // number of input/output patterns
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] = 300 } // the size of the input (N)
szout = 40  // the size of the output (M)
BVBASE = 0.0 // use BVBASE/1 binary vectors

//* DECLARATIONS
clearsyns()
seed = 243545
vseed(seed)
objref mat[convn],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)
  mat[ii] = new Vector(szinp[ii]*szout)
}

//* CREATE MATs
mkiovec(ovl,szout)
for ii=0,convn-1 {
  crosstalk(ii)
  makeinh(inhv[ii],ovl,ii)
  mkiovec(ivl[ii],szinp[ii])
  makemat(mat[ii],ivl[ii],ovl)
}

//* CREATE CELLS
create incell[szinp]
create ininh
objref inp[szinp], inplist, ininhp
inplist = new List()
for ii=0,szinp-1 { 
  incell[ii] inp[ii] = new PRESYN(0.5,-ii-1) 
  inplist.append(inp[ii])
}
ininh ininhp = new PRESYN(0.5,1) 
objref lam[nlam]
for ii=0,nlam-1 lam[ii] = new LAM(ii,szout,szinp)

//* COPY the connectivity
//** conn from excit
lam[0].ampalist(tmplist)
connmap(mat,inplist,tmplist)
lam[0].gabalist(tmplist)
for lvtr(XO,&x,tmplist,inhv) { 
  XO.setlink(ininhp.link, ininhp.nsyn, ininhp.maxsyn)
  XO.gmax(-1,-x)
}