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]
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 [billl at neurosim.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$ 
TITLE passive membrane channel

UNITS {
	(mV) = (millivolt)
	(mA) = (milliamp)
}

INDEPENDENT { v FROM -100 TO 50 WITH 50	(mV) }

NEURON {
	SUFFIX Pass
	NONSPECIFIC_CURRENT i
	RANGE g, erev
}

PARAMETER {
	g = .001	(mho/cm2)
	erev = -70	(mV)
}

ASSIGNED { i	(mA/cm2)}

BREAKPOINT {
	i = g*(v - erev)
        VERBATIM
        in_passiv_breakpoint();
        ENDVERBATIM
}

VERBATIM
void in_passiv_breakpoint() {}
ENDVERBATIM



COMMENT
The passive channel is very simple but illustrates several features of
the interface to NEURON. As a SCoP or hoc model the NEURON block is
ignored.  About the only thing you can do with this as an isolated channel
in SCoP is plot the current vs the potential. Notice that models require
that all variables be declared, The calculation is done in the EQUATION
block (This name may eventually be changed to MODEL).  The intended
semantics of the equation block are that after the block is executed, ALL
variables are consistent with the value of the independent variable.
In this case, of course a trivial assignment statement suffices.
In SCoP, INDEPENDENT gives the name and range of the independent variable,
CONSTANT declares variables which generally do not change during
solution of the EQUATION block and ASSIGNED declares variables which
get values via assignment statements (as opposed to STATE variables whose
values can only be determined by solving differential or simultaneous
algebraic equations.)  The values of CONSTANTS are the default values
and can be changed in SCoP.

The NEURON block serves as the interface to NEURON. One has to imagine
many models linked to NEURON at the same time. Therefore in order to
avoid conflicts with names of variables in other mechanisms a SUFFIX
is applied to all the declared names that are accessible from NEURON.
Accessible CONSTANTS are of two types. Those appearing in the
PARAMETER list become range variables that can be used in any section
in which the mechanism is "insert"ed.  CONSTANT's that do not appear in
the PARAMETER list become global scalars which are the same for every
section.  ASSIGNED variables and STATE variables also become range variables
that depend on position in a section.
NONSPECIFIC_CURRENT specifies a list of currents not associated with
any particular ion but computed by this model
that affect the calculation of the membrane potential. I.e. a nonspecific
current adds its contribution to the total membrane current.

The following  neuron program is suitable for investigating the behavior
of the channel and determining its effect on the membrane.
create a
access a
nseg = 1
insert Passive
g_Passive=.001
erev_Passive=0
proc cur() {
	axis(0,1,1,0,.001,1) axis()
	plot(1)
	for (v=0; v < 1; v=v+.01) {
		fcurrent()
		plot(v, i_Passive)
	}
	plt(-1)
}	

proc run() {
	axis(0,3,3,0,1,1) axis()
	t = 0
	v=1
	plot(1)
	while (t < 3) {
		plot(t,v)
		fadvance()
	}
}
/* the cur() procedure uses the fcurrent() function of neuron to calculate
all the currents and conductances with all states (including v) held
constant.  In the run() procedure fadvance() integrates all equations
by one time step. In this case the Passive channel in combination with
the default capacitance of 1uF/cm2 give a membrane with a time constant of
1 ms. Thus the voltage decreases exponentially toward 0 from its initial
value of 1.

ENDCOMMENT

Loading data, please wait...