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
Reference:
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
Citations  Citation Browser
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 GABAb receptors

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

	Kinetic model of GABA-B receptors
	=================================

  MODEL OF SECOND-ORDER G-PROTEIN TRANSDUCTION AND FAST K+ OPENING
  WITH COOPERATIVITY OF G-PROTEIN BINDING TO K+ CHANNEL

  PULSE OF TRANSMITTER

  SIMPLE KINETICS WITH NO DESENSITIZATION

	Features:

  	  - peak at 100 ms; time course fit to Tom Otis' PSC
	  - SUMMATION (psc is much stronger with bursts)


	Approximations:

	  - single binding site on receptor	
	  - model of alpha G-protein activation (direct) of K+ channel
	  - G-protein dynamics is second-order; simplified as follows:
		- saturating receptor
		- no desensitization
		- Michaelis-Menten of receptor for G-protein production
		- "resting" G-protein is in excess
		- Quasi-stat of intermediate enzymatic forms
	  - binding on K+ channel is fast


	Kinetic Equations:

	  dR/dt = K1 * T * (1-R-D) - K2 * R

	  dG/dt = K3 * R - K4 * G

	  R : activated receptor
	  T : transmitter
	  G : activated G-protein
	  K1,K2,K3,K4 = kinetic rate cst

  n activated G-protein bind to a K+ channel:

	n G + C <-> O		(Alpha,Beta)

  If the binding is fast, the fraction of open channels is given by:

	O = G^n / ( G^n + KD )

  where KD = Beta / Alpha is the dissociation constant

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

  Parameters estimated from patch clamp recordings of GABAB PSP's in
  rat hippocampal slices (Otis et al, J. Physiol. 463: 391-407, 1993).

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

  PULSE MECHANISM

  Kinetic synapse with release mechanism as a pulse.  

  Warning: for this mechanism to be equivalent to the model with diffusion 
  of transmitter, small pulses must be used...

  For a detailed model of GABAB:

  Destexhe, A. and Sejnowski, T.J.  G-protein activation kinetics and
  spill-over of GABA may account for differences between inhibitory responses
  in the hippocampus and thalamus.  Proc. Natl. Acad. Sci. USA  92:
  9515-9519, 1995.

  For a review of models of synaptic currents:

  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, 1996.

  This simplified model was introduced in:

  Destexhe, A., Bal, T., McCormick, D.A. and Sejnowski, T.J.
  Ionic mechanisms underlying synchronized oscillations and propagating
  waves in a model of ferret thalamic slices. Journal of Neurophysiology
  76: 2049-2070, 1996.  

  See also http://cns.iaf.cnrs-gif.fr

  Alain Destexhe, Salk Institute and 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 GABAb
	POINTER pre
	RANGE C, R, G, g, gmax, lastrelease, TimeCount
	NONSPECIFIC_CURRENT i
	GLOBAL Cmax, Cdur, Prethresh, Deadtime
	GLOBAL K1, K2, K3, K4, KD, Erev
}
UNITS {
	(nA) = (nanoamp)
	(mV) = (millivolt)
	(umho) = (micromho)
	(mM) = (milli/liter)
}

PARAMETER {
	dt		(ms)
	Cmax	= 0.5	(mM)		: max transmitter concentration
	Cdur	= 0.3	(ms)		: transmitter duration (rising phase)
	Prethresh = 0 			: voltage level nec for release
	Deadtime = 1	(ms)		: mimimum time between release events
:
:	From Kfit with long pulse (5ms 0.5mM)
:
	K1	= 0.52	(/ms mM)	: forward binding rate to receptor
	K2	= 0.0013 (/ms)		: backward (unbinding) rate of receptor
	K3	= 0.098 (/ms)		: rate of G-protein production
	K4	= 0.033 (/ms)		: rate of G-protein decay
	KD	= 100			: dissociation constant of K+ channel
	n	= 4			: nb of binding sites of G-protein on K+
	Erev	= -95	(mV)		: reversal potential (E_K)
	gmax		(umho)		: maximum conductance
}


ASSIGNED {
	v		(mV)		: postsynaptic voltage
	i 		(nA)		: current = g*(v - Erev)
	g 		(umho)		: conductance
	C		(mM)		: transmitter concentration
	Gn
	pre 				: pointer to presynaptic variable
	lastrelease	(ms)		: time of last spike
	TimeCount	(ms)		: time counter
}


STATE {
	R				: fraction of activated receptor
	G				: fraction of activated G-protein
}


INITIAL {
	C = 0
	lastrelease = -1000

	R = 0
	G = 0
	TimeCount=-1
}

BREAKPOINT {
	SOLVE bindkin METHOD derivimplicit
	Gn = G^n
	g = gmax * Gn / (Gn+KD)
	i = g*(v - Erev)
}


DERIVATIVE bindkin {

	release()		: evaluate the variable C

	R' = K1 * C * (1-R) - K2 * R
	G' = K3 * R - K4 * G

}


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
			lastrelease = t
			TimeCount=Cdur
		}
						
	} else if (TimeCount > 0) {		: still releasing?
	
		: do nothing
	
	} else if (C == Cmax) {			: in dead time after release
		C = 0.
	}

}