Application of a common kinetic formalism for synaptic models (Destexhe et al 1994)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:18198
Application to AMPA, NMDA, GABAA, and GABAB receptors is given in a book chapter. The reference paper synthesizes a comprehensive general description of synaptic transmission with Markov kinetic models. This framework is applicable to modeling ion channels, synaptic release, and all receptors. Please see the references for more details. A simple introduction to this method is given in a seperate paper Destexhe et al Neural Comput 6:14-18 , 1994). More information and papers at http://cns.iaf.cnrs-gif.fr/Main.html and through email: Destexhe@iaf.cnrs-gif.fr
References:
1 . Destexhe A, Mainen ZF, Sejnowski TJ (1994) Synthesis of models for excitable membranes, synaptic transmission and neuromodulation using a common kinetic formalism. J Comput Neurosci 1:195-230 [PubMed]
2 . Destexhe A, Mainen Z, Sejnowski TJ (1994) An efficient method for computing synaptic conductances based on a kinetic model of receptor binding Neural Comput 6:14-18
3 . Destexhe A, Mainen Z, Sejnowski T (1995) Fast Kinetic Models for Simulating AMPA, NMDA, GABAA and GABAB Receptors The Neurobiology of Computation, Bower J, ed. pp.9
Model Information (Click on a link to find other models with that property)
Model Type: Synapse; Electrogenic pump;
Brain Region(s)/Organism:
Cell Type(s):
Channel(s):
Gap Junctions:
Receptor(s): Nicotinic; M1; M3; M4; M5; M2; mGluR1; mGluR2; mGluR3; mGluR4; mGluR5; mGluR6; mGluR7; mGluR8; Alpha; Alpha1; Alpha2; Beta; D1; D2; 5-HT1; 5-HT2; 5-HT4; H2; GabaA; GabaB; Muscarinic; AMPA; NMDA; mGluR; 5-HT3; Kainate; Monoamine Receptors; Glutamate; Gaba; Adrenergic; Serotonin; Histamine; Cholinergic Receptors; Amino Acid Receptors; Sensory Receptors; Olfactory Receptors; Opsins; Dopaminergic Receptor; Glycine; Gaseous Receptors; NO; Peptide Receptors; Dynorphin; H1; Ion Receptors; Zn2+; CO;
Gene(s):
Transmitter(s): Acetylcholine; Glycine; Dopamine; Zn2+; NO; CO; Dynorphin; Ephinephrine; Norephinephrine; Amino Acids; Gaba; Glutamate; Monoamines; Peptides; Ions; Gases; Histamine; Serotonin;
Simulation Environment: NEURON;
Model Concept(s): Ion Channel Kinetics; Markov-type model;
Implementer(s): Destexhe, Alain [Destexhe at iaf.cnrs-gif.fr]; Mainen, Zach [Mainen at cshl.edu];
Search NeuronDB for information about:  Nicotinic; M1; M3; M4; M5; M2; mGluR1; mGluR2; mGluR3; mGluR4; mGluR5; mGluR6; mGluR7; mGluR8; Alpha; Alpha1; Alpha2; Beta; D1; D2; 5-HT1; 5-HT2; 5-HT4; H2; GabaA; GabaB; Muscarinic; AMPA; NMDA; mGluR; 5-HT3; Kainate; Monoamine Receptors; Glutamate; Gaba; Adrenergic; Serotonin; Histamine; Cholinergic Receptors; Amino Acid Receptors; Sensory Receptors; Olfactory Receptors; Opsins; Dopaminergic Receptor; Glycine; Gaseous Receptors; NO; Peptide Receptors; Dynorphin; H1; Ion Receptors; Zn2+; CO; Acetylcholine; Glycine; Dopamine; Zn2+; NO; CO; Dynorphin; Ephinephrine; Norephinephrine; Amino Acids; Gaba; Glutamate; Monoamines; Peptides; Ions; Gases; Histamine; Serotonin;
/
SYN_NEW
README
ampa.mod *
ampa5.mod *
caL3d.mod *
gabaa.mod *
gabaa5.mod *
gabab.mod *
gabab3.mod
HH2.mod *
nmda.mod *
nmda5.mod *
release.mod
ampa.hoc
ampa5.hoc
gabaa.hoc
gabaa5.hoc
gabab.hoc
gabab3.hoc
mosinit.hoc *
nmda.hoc
nmda5.hoc
release.hoc
rundemo.hoc
                            
TITLE minimal model of GABAa receptors

COMMENT
-----------------------------------------------------------------------------

	Minimal kinetic model for GABA-A receptors
	==========================================

  Model of Destexhe, Mainen & Sejnowski, 1994:

	(closed) + T <-> (open)

  The simplest kinetics are considered for the binding of transmitter (T)
  to open postsynaptic receptors.   The corresponding equations are in
  similar form as the Hodgkin-Huxley model:

	dr/dt = alpha * [T] * (1-r) - beta * r

	I = gmax * [open] * (V-Erev)

  where [T] is the transmitter concentration and r is the fraction of 
  receptors in the open form.

  If the time course of transmitter occurs as a pulse of fixed duration,
  then this first-order model can be solved analytically, leading to a very
  fast mechanism for simulating synaptic currents, since no differential
  equation must be solved (see Destexhe, Mainen & Sejnowski, 1994).

-----------------------------------------------------------------------------

  Based on voltage-clamp recordings of GABAA receptor-mediated currents in rat
  hippocampal slices (Otis and Mody, Neuroscience 49: 13-32, 1992), this model
  was fit directly to experimental recordings in order to obtain the optimal
  values for the parameters (see Destexhe, Mainen and Sejnowski, 1996).

-----------------------------------------------------------------------------

  This mod file includes a mechanism to describe the time course of transmitter
  on the receptors.  The time course is approximated here as a brief pulse
  triggered when the presynaptic compartment produces an action potential.
  The pointer "pre" represents the voltage of the presynaptic compartment and
  must be connected to the appropriate variable in oc.

-----------------------------------------------------------------------------

  See details in:

  Destexhe, A., Mainen, Z.F. and Sejnowski, T.J.  An efficient method for
  computing synaptic conductances based on a kinetic model of receptor binding
  Neural Computation 6: 10-14, 1994.  

  Destexhe, A., Mainen, Z.F. and Sejnowski, T.J.  Kinetic models of 
  synaptic transmission.  In: Methods in Neuronal Modeling (2nd edition; 
  edited by Koch, C. and Segev, I.), MIT press, Cambridge, 1998, pp. 1-25.

  (electronic copy available at http://cns.iaf.cnrs-gif.fr)

  Written by Alain Destexhe, Laval University, 1995
  27-11-2002: the pulse is implemented using a counter, which is more
       stable numerically (thanks to Yann LeFranc)

-----------------------------------------------------------------------------
ENDCOMMENT



INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
	POINT_PROCESS GABAa
	POINTER pre
	RANGE C, R, R0, R1, g, gmax, lastrelease, TimeCount
	NONSPECIFIC_CURRENT i
	GLOBAL Cmax, Cdur, Alpha, Beta, Erev, Prethresh, Deadtime, Rinf, Rtau
}
UNITS {
	(nA) = (nanoamp)
	(mV) = (millivolt)
	(umho) = (micromho)
	(mM) = (milli/liter)
}

PARAMETER {
	dt		(ms)
	Cmax	= 1	(mM)		: max transmitter concentration
	Cdur	= 1	(ms)		: transmitter duration (rising phase)
	Alpha	= 5	(/ms mM)	: forward (binding) rate
	Beta	= 0.18	(/ms)		: backward (unbinding) rate
	Erev	= -80	(mV)		: reversal potential
	Prethresh = 0 			: voltage level nec for release
	Deadtime = 1	(ms)		: mimimum time between release events
	gmax		(umho)		: maximum conductance
}


ASSIGNED {
	v		(mV)		: postsynaptic voltage
	i 		(nA)		: current = g*(v - Erev)
	g 		(umho)		: conductance
	C		(mM)		: transmitter concentration
	R				: fraction of open channels
	R0				: open channels at start of release
	R1				: open channels at end of release
	Rinf				: steady state channels open
	Rtau		(ms)		: time constant of channel binding
	pre 				: pointer to presynaptic variable
	lastrelease	(ms)		: time of last spike
	TimeCount	(ms)		: time counter
}

INITIAL {
	R = 0
	C = 0
	Rinf = Cmax*Alpha / (Cmax*Alpha + Beta)
	Rtau = 1 / ((Alpha * Cmax) + Beta)
	lastrelease = -1000
	R1=0
	TimeCount=-1
}

BREAKPOINT {
	SOLVE release
	g = gmax * R
	i = g*(v - Erev)
}

PROCEDURE release() {
	:will crash if user hasn't set pre with the connect statement 

	TimeCount=TimeCount-dt			: time since last release ended

						: ready for another release?
	if (TimeCount < -Deadtime) {
		if (pre > Prethresh) {		: spike occured?
			C = Cmax			: start new release
			R0 = R
			lastrelease = t
			TimeCount=Cdur
		}
						
	} else if (TimeCount > 0) {		: still releasing?
	
		: do nothing
	
	} else if (C == Cmax) {			: in dead time after release
		R1 = R
		C = 0.
	}



	if (C > 0) {				: transmitter being released?

	   R = Rinf + (R0 - Rinf) * exptable (- (t - lastrelease) / Rtau)
				
	} else {				: no release occuring

  	   R = R1 * exptable (- Beta * (t - (lastrelease + Cdur)))
	}

	VERBATIM
	return 0;
	ENDVERBATIM
}

FUNCTION exptable(x) { 
	TABLE  FROM -10 TO 10 WITH 2000

	if ((x > -10) && (x < 10)) {
		exptable = exp(x)
	} else {
		exptable = 0.
	}
}

Loading data, please wait...