Thalamic quiescence of spike and wave seizures (Lytton et al 1997)

 Download zip file   Auto-launch 
Help downloading and running models
A phase plane analysis of a two cell interaction between a thalamocortical neuron (TC) and a thalamic reticularis neuron (RE).
1 . Lytton WW, Contreras D, Destexhe A, Steriade M (1997) Dynamic interactions determine partial thalamic quiescence in a computer network model of spike-and-wave seizures. J Neurophysiol 77:1679-96 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Thalamus;
Cell Type(s): Thalamus geniculate nucleus (lateral) principal neuron; Thalamus reticular nucleus cell;
Channel(s): I T low threshold;
Gap Junctions:
Receptor(s): GabaA; Glutamate;
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Temporal Pattern Generation; Oscillations; Calcium dynamics;
Implementer(s): Lytton, William [billl at]; Destexhe, Alain [Destexhe at];
Search NeuronDB for information about:  Thalamus geniculate nucleus (lateral) principal neuron; Thalamus reticular nucleus cell; GabaA; Glutamate; I T low threshold; Gaba; Glutamate;
calciumpump_destexhe.mod *
HH_traub.mod *
Ih_old.mod *
presyn.mod *
pulse.mod *
boxes.hoc *
declist.hoc *
decvec.hoc *
default.hoc *
local.hoc *
nrnoc.hoc *
params.hoc * *
simctrl.hoc * * *
: $Id:,v 1.28 1995/10/25 20:56:05 billl Exp $

  RANGE maxsyn, nsyn                         : scalars
  RANGE link                              : PreL structure

  nsyn = 0
  link = 0       : presyn struct points to list of pointers to postsyn cells

  maxsyn        : max and counter for the list of pointers


    /* link allows postsyn cell to manipulate presyn list */
    link = (double)((unsigned long)ecalloc(1, sizeof(PreL))); 
    PRECAST->link2  = link;  /* this can be queried to protect against error */
    PRECAST->nnpre = &nsyn;
    PRECAST->mxpre = &maxsyn;
    nsyn = 0.;
    maxsyn = 0.;
    if (ifarg(2)) { 
      PRECAST->cpre = (int)*getarg(2);
    } else { PRECAST->cpre = -1; }

      nsyn = maxsyn = 0;
      link = 0;

PROCEDURE preinit () {}

: globally used presynaptically to add to queue (was called pushqueu())
PROCEDURE newspike() {
  int ii, jj, nspk, qend, head, ind, swapi;
  double time, swapt;
  SynS *psyn;		/* pointer to the presynaptic structure */
  QptR *qpr;
  QueU *qp;		/* pointer to the head position in postsyn queu */

  for (ii=0; ii<nsyn;ii++) { 

    /* psyn is the pointer back to the postsyn info array (struct SynS) */
    if ((psyn = PRECAST->plst[ii])==(SynS *)NULL ||     /* skip empties */
	(t < psyn->spkt && psyn->chainlen == 1)) {   /* skip if still on last one */
      continue; }
    /* are we chaining synapses? : this means that we will treat additional spks as */
    /* if they were coming from another synapse */
    if (psyn->chainlen > 1) {
      psyn->chainptr++;  /* augment the pointer */
      if (psyn->chainptr >= psyn->chainlen) { /* have run out of room */
	if (t < psyn->spkt) {  /* can't reset yet so just drop this spk */
	} else {               /* the whole chain is completely done so can reset */
	  psyn->chainptr = 0; }
      ind = psyn->index + psyn->chainptr; /* add index of next one on chain */
    } else {
      ind = psyn->index;

    /* qpr = the post-syn queu pointer */
    qpr = psyn->qpt;  
    /* qp = pointer to postsyn queu */
    qp = qpr->qq;
    nspk = (int)(*(qpr->nspk));
    time = t + psyn->del;
    psyn->spkt = t + qpr->dead; /* when it will all end */

    /* basic queu code taken from (viz.) but now must make sure */
    /* that we don't go backwards in time (different delays) */
    /* should have been cleared if we are to write here */
    if (qp[nspk].time == 1e20) {
      if (qpr->qterm < time) {	/* queu marching forward in time: AOK */
	/* push the two queu items: a time and an index */
	(qp[nspk]).time = time; /* delay */
	(qp[nspk]).index = ind; /* tell postsyn which presyn spiked */
	qpr->qterm = time;	/* keep track of largest time put on */
      } else {			/* move backward to insert in right place */
	/* actually a heap rather than a queue since maintains order */
	qend = (int)(*(qpr->qln)) - 1; /* max ind for queu */
	head = (int)(*(qpr->head)) - 1; /* one in front of the head */
	if (head == -1) { head = qend; } /* wrap around */
	/* search backward */
	for (jj=((nspk==0)?qend:nspk-1);
	     time < qp[jj].time && jj != head;
	     jj=((jj==0)?qend:jj-1)); /* skip over from end */
	if (jj==nspk) { 
	  printf("%g %d %d ",qpr->qterm,ii,jj);
	  hoc_execerror("ERROR: newspike search failed.\n",0); }
	/* move things forward */
	for (jj=((jj==qend)?0:jj+1); /* start one up */
	     jj != nspk;	/* till back where we were */
	     jj=((jj==qend)?0:jj+1)) {
	  swapt = qp[jj].time;	/* store temporarily */
	  swapi = qp[jj].index;
	  qp[jj].time = time;	/* put in the new one */
	  qp[jj].index = ind;
	  time = swapt;		/* swap them */
	  ind = swapi;
	qp[jj].time = time;
	qp[jj].index = ind;

      /* move the tail forward and reset if reached the end */
      if ((*(qpr->nspk)) == *(qpr->qln)) { (*(qpr->nspk)) = 0.; }

    } else {			/* (qp->time != 1e20) */
      printf("%x %g %g ",qpr->qq,*(qpr->nspk),*(qpr->qln));
      hoc_execerror("Error: queue full.\n",0);

: eliminates empty pointers in presyn array, moving everything else down
PROCEDURE clean() {
    int ii,jj,newn;
    SynS** pl;
    pl = PRECAST->plst;

    for(ii=0,jj=0,newn=nsyn; ii<nsyn; ii++,jj++) {
      while (pl[ii] == (SynS *)NULL && ii<nsyn) {
	ii++; newn--; 
      if (ii != jj && ii<nsyn) {
	pl[jj] = pl[ii];
	pl[jj]->back = &(pl[jj]);
    nsyn = newn;

: prints out some selected information from the presyn structure, synlist
FUNCTION check() {
    int ii;
    for (ii=0,_lcheck=0; ii<nsyn && _lcheck!=-1.; ii++) {
      if (PRECAST->plst[ii] != (SynS *)NULL) {
	_lcheck++;  /* count the active pointers */
	if ((&(PRECAST->plst[ii])) != (PRECAST->plst[ii]->back)) {
	  printf("ERROR:: %2d: Index:%3d,C%09d,Pr%09d,Po%09d, Delay:%6g (%x->%x->%x)\n",
	  _lcheck = -1.0;

: return ucode
FUNCTION code() {
  VERBATIM { int ii;
    if (ifarg(1)) {
      ii = (int)*getarg(1);
      if (ii < 0) { ii = nsyn+ii; }
      if (ii >= nsyn || ii < 0) {hoc_execerror("array index out of bounds", 0);}
      _lcode = ((PRECAST->plst[ii] == (SynS *)NULL)?-2:PRECAST->plst[ii]->ucode);
    } else {
      for (ii=0;ii<nsyn;ii++) {
	if (PRECAST->plst[ii] == (SynS *)NULL) {
	  printf("%d EMPTY.\n",ii);
	} else { 
	  printf("%d,%09d  ",ii,PRECAST->plst[ii]->ucode);
      _lcode = 1.0;

: return delay
FUNCTION delay() {
  VERBATIM { int ii;
    if (ifarg(1)) {
      ii = (int)*getarg(1);
      if (ii < 0) { ii = nsyn+ii; }
      if (ii >= nsyn || ii < 0) {hoc_execerror("array index out of bounds", 0);}
      _ldelay = ((PRECAST->plst[ii] == (SynS *)NULL)?-2:PRECAST->plst[ii]->del);
    } else {
      for (ii=0;ii<nsyn;ii++) {
	if (PRECAST->plst[ii] == (SynS *)NULL) {
	  printf("%d EMPTY.\n",ii);
	} else { 
	  printf("%d,%g  ",ii,PRECAST->plst[ii]->del);
      _ldelay = 1.0;

: return or set cpre code
FUNCTION pre() {
    if (ifarg(2)) { PRECAST->cpre = (int)*getarg(2); }
    _lpre = PRECAST->cpre;

: return cpost code
: 0 arg: prints out information from the postsyn structure
: 1 arg = -1 print out the pointer structure
: plst[i] remains only indication of eliminated pointer
FUNCTION post() {
  VERBATIM { int xx,ii;
    xx = -2;
    if (ifarg(1)) { xx = (int)*getarg(1); }
    if (xx >= 0) {
      if (xx >= nsyn) {hoc_execerror("array index out of bounds", 0);}
      _lpost = ((PRECAST->plst[xx] == (SynS *)NULL)?-2:PRECAST->plst[xx]->qpt->cpost);
    } else {
      for (ii=0;ii<nsyn;ii++) {
	if (PRECAST->plst[ii] == (SynS *)NULL) {
	  printf("%2d EMPTY.\n",ii);
	} else { 
	  printf("%1d (%1d) Del:%-4g Cd:%09d Pre:%09d Post:%09d\n",
	  if (xx == -1 || (&(PRECAST->plst[ii])) != (PRECAST->plst[ii]->back)) {
	    printf("\t\t%s: %x -> %x\n",
      _lpost = 1.0;

: for debugging - prints out queu info from the pre side
PROCEDURE prq(x) {
  VERBATIM { int ii;
    SynS *psyn;		
    QptR *qpr;
    psyn = PRECAST->plst[(int)_lx];
    qpr = psyn->qpt;  
    printf("%x %g %g\n",qpr->qq,*(qpr->nspk),*(qpr->qln));
    for (ii=0;ii<*(qpr->qln);ii++) {

Lytton WW, Contreras D, Destexhe A, Steriade M (1997) Dynamic interactions determine partial thalamic quiescence in a computer network model of spike-and-wave seizures. J Neurophysiol 77:1679-96[PubMed]

References and models cited by this paper

References and models that cite this paper

Avanzini G, de Curtis M, Panzica F, Spreafico R (1989) Intrinsic properties of nucleus reticularis thalami neurones of the rat studied in vitro. J Physiol 416:111-22 [PubMed]

Bal T, McCormick DA (1993) Mechanisms of oscillatory activity in guinea-pig nucleus reticularis thalami in vitro: a mammalian pacemaker. J Physiol 468:669-91 [PubMed]

Contreras D, Steriade M (1996) Spindle oscillation in cats: the role of corticothalamic feedback in a thalamically generated rhythm. J Physiol 490 ( Pt 1):159-79 [PubMed]

Coulter DA, Huguenard JR, Prince DA (1989) Calcium currents in rat thalamocortical relay neurones: kinetic properties of the transient, low-threshold current. J Physiol 414:587-604 [PubMed]

Crunelli V, Lightowler S, Pollard CE (1989) A T-type Ca2+ current underlies low-threshold Ca2+ potentials in cells of the cat and rat lateral geniculate nucleus. J Physiol 413:543-61 [PubMed]

Davies CH, Davies SN, Collingridge GL (1990)

Deschaenes M, Madariaga-Domich A, Steriade M (1985) Dendrodendritic synapses in the cat reticularis thalami nucleus: a structural basis for thalamic spindle synchronization. Brain Res 334:165-8 [PubMed]

Destexhe A, Babloyantz A, Sejnowski TJ (1993) Ionic mechanisms for intrinsic slow oscillations in thalamic relay neurons. Biophys J 65:1538-52 [PubMed]

Destexhe A, Bal T, McCormick DA, Sejnowski TJ (1996) Ionic mechanisms underlying synchronized oscillations and propagating waves in a model of ferret thalamic slices. J Neurophysiol 76:2049-70 [Journal] [PubMed]

   Thalamocortical and Thalamic Reticular Network (Destexhe et al 1996) [Model]

Destexhe A, Contreras D, Sejnowski TJ, Steriade M (1994) Modeling the control of reticular thalamic oscillations by neuromodulators. Neuroreport 5:2217-20 [PubMed]

Destexhe A, Contreras D, Sejnowski TJ, Steriade M (1994) A model of spindle rhythmicity in the isolated thalamic reticular nucleus. J Neurophysiol 72:803-18 [Journal] [PubMed]

   Thalamic Reticular Network (Destexhe et al 1994) [Model]

Destexhe A, Contreras D, Steriade M, Sejnowski TJ, Huguenard JR (1996) In vivo, in vitro, and computational analysis of dendritic calcium currents in thalamic reticular neurons. J Neurosci 16:169-85 [Journal] [PubMed]

   [1 reconstructed morphology on NeuroMorpho.Org]
   Thalamic reticular neurons: the role of Ca currents (Destexhe et al 1996) [Model]

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 [Journal] [PubMed]

   Application of a common kinetic formalism for synaptic models (Destexhe et al 1994) [Model]
   Kinetic synaptic models applicable to building networks (Destexhe et al 1998) [Model]

Destexhe A, McCormick DA, Sejnowski TJ (1993) A model for 8-10 Hz spindling in interconnected thalamic relay and reticularis neurons. Biophys J 65:2473-7 [Journal] [PubMed]

Destexhe A, Sejnowski TJ (1995) G protein activation kinetics and spillover of gamma-aminobutyric acid may account for differences between inhibitory responses in the hippocampus and thalamus. Proc Natl Acad Sci U S A 92:9515-9 [PubMed]

Dichter M, Spencer WA (1969)

Dutar P, Nicoll RA (1988)

Fisher RS, Prince DA (1977)

Gloor P (1979)

Golomb D, Wang XJ, Rinzel J (1994) Synchronization properties of spindle oscillations in a thalamic reticular nucleus model. J Neurophysiol 72:1109-26 [Journal] [PubMed]

Golomb D, Wang XJ, Rinzel J (1996) Propagation of spindle waves in a thalamic slice model. J Neurophysiol 75:750-69 [Journal] [PubMed]

Hernandez-Cruz A, Pape HC (1989) Identification of two calcium currents in acutely dissociated neurons from the rat lateral geniculate nucleus. J Neurophysiol 61:1270-83 [Journal] [PubMed]

Hirsch MW, Baird B (1995)

Huguenard JR, Prince DA (1992) A novel T-type current underlies prolonged Ca(2+)-dependent burst firing in GABAergic neurons of rat thalamic reticular nucleus. J Neurosci 12:3804-17 [PubMed]

Huguenard JR, Prince DA (1994) Clonazepam suppresses GABAB-mediated inhibition in thalamic relay neurons through effects in nucleus reticularis. J Neurophysiol 71:2576-81 [Journal] [PubMed]

Jahnsen H, Llinas R (1984) Ionic basis for the electro-responsiveness and oscillatory properties of guinea-pig thalamic neurones in vitro. J Physiol 349:227-47 [PubMed]

Jahnsen H, Llinas R (1984) Electrophysiological properties of guinea-pig thalamic neurones: an in vitro study. J Physiol 349:205-26 [PubMed]

Kim U, Bal T, McCormick DA (1995)

LeMasson G, Marder E, Abbott LF (1993)

Leresche N, Lightowler S, Soltesz I, Jassik-Gerschenfeld D, Crunelli V (1991) Low-frequency oscillatory activities intrinsic to rat and cat thalamocortical cells. J Physiol 441:155-74 [PubMed]

Lytton WW (1996) Optimizing synaptic conductance calculation for network simulations. Neural Comput 8:501-9 [PubMed]

Lytton WW, Destexhe A, Sejnowski TJ (1996) Control of slow oscillations in the thalamocortical neuron: a computer model. Neuroscience 70:673-84 [PubMed]

Lytton WW, Sejnowski TJ (1991) Simulations of cortical pyramidal neurons synchronized by inhibitory interneurons. J Neurophysiol 66:1059-79 [Journal] [PubMed]

McCormick DA, Pape HC (1990) Properties of a hyperpolarization-activated cation current and its role in rhythmic oscillation in thalamic relay neurones. J Physiol 431:291-318 [PubMed]

   Thalamic Relay Neuron: I-h (McCormick, Pape 1990) [Model]

Mody I, De Koninck Y, Otis TS, Soltesz I (1994)

Rush ME, Rinzel J (1994)

Shosaku A (1986)

Soltesz I, Crunelli V (1992) A role for low-frequency, rhythmic synaptic potentials in the synchronization of cat thalamocortical cells. J Physiol 457:257-76 [PubMed]

Steriade M, Amzica F (1994) Dynamic coupling among neocortical neurons during evoked and spontaneous spike-wave seizure activity. J Neurophysiol 72:2051-69 [Journal] [PubMed]

Steriade M, Contreras D (1995) Relations between cortical and thalamic cellular events during transition from sleep patterns to paroxysmal activity. J Neurosci 15:623-42 [PubMed]

Steriade M, Deschaenes M, Domich L, Mulle C (1985) Abolition of spindle oscillations in thalamic neurons disconnected from nucleus reticularis thalami. J Neurophysiol 54:1473-97 [Journal] [PubMed]

Steriade M, Domich L, Oakson G (1986) Reticularis thalami neurons revisited: activity changes during shifts in states of vigilance. J Neurosci 6:68-81 [PubMed]

Steriade M, Domich L, Oakson G, Deschaenes M (1987) The deafferented reticular thalamic nucleus generates spindle rhythmicity. J Neurophysiol 57:260-73 [Journal] [PubMed]

Steriade M, McCormick DA, Sejnowski TJ (1993) Thalamocortical oscillations in the sleeping and aroused brain. Science 262:679-85 [PubMed]

Suzuki S, Rogawski MA (1989)

Traub RD, Miles R, Wong RK (1987) Models of synchronized hippocampal bursts in the presence of inhibition. I. Single population events. J Neurophysiol 58:739-51 [Journal] [PubMed]

Traub RD, Miles R, Wong RK, Schulman LS, Schneiderman JH (1987) Models of synchronized hippocampal bursts in the presence of inhibition. II. Ongoing spontaneous population events. J Neurophysiol 58:752-64 [Journal] [PubMed]

Ulrich D, Huguenard JR (1996)

von Krosigk M, Bal T, McCormick DA (1993) Cellular mechanisms of a synchronized oscillation in the thalamus. Science 261:361-4 [PubMed]

Wallenstein GV (1994)

Wang XJ, Golomb D, Rinzel J (1995) Emergent spindle oscillations and intermittent burst firing in a thalamic model: specific neuronal mechanisms. Proc Natl Acad Sci U S A 92:5577-81 [PubMed]

Yen CT, Conley M, Hendry SH, Jones EG (1985) The morphology of physiologically identified GABAergic neurons in the somatic sensory part of the thalamic reticular nucleus in the cat. J Neurosci 5:2254-68 [PubMed]

Destexhe A (1998) Spike-and-wave oscillations based on the properties of GABAB receptors. J Neurosci 18:9099-111 [PubMed]

Destexhe A, Contreras D, Steriade M (2001) LTS cells in cerebral cortex and their role in generating spike-and-wave oscillations. Neurocomputing 38:555-563 [Journal]

   Pyramidal Neuron: Deep, Thalamic Relay and Reticular, Interneuron (Destexhe et al 1998, 2001) [Model]

Destexhe A, Sejnowski TJ (2003) Interactions between membrane conductances underlying thalamocortical slow-wave oscillations. Physiol Rev 83:1401-53 [PubMed]

Hines ML, Carnevale NT (2003) Personal Communication of NEURON bibliography

Huertas MA, Groff JR, Smith GD (2005) Feedback Inhibition and Throughput Properties of an Integrate-and-Fire-or-Burst Network Model of Retinogeniculate Transmission J Comp Neurosci 19:147-180 [Journal]

Kager H, Wadman WJ, Somjen GG (2007) Seizure-like afterdischarges simulated in a model neuron. J Comput Neurosci 22:105-128 [Journal] [PubMed]

Le Franc Y, Le Masson G (2010) Multiple firing patterns in deep Dorsal Horn Neurons of the spinal cord: computational analysis of mechanisms and functional implications. J Neurophysiol [Journal] [PubMed]

Lytton WW (1997) Computer model of clonazepam's effect in thalamic slice. Neuroreport 8:3339-43 [Journal] [PubMed]

   Computer model of clonazepam`s effect in thalamic slice (Lytton 1997) [Model]

Lytton WW, Hellman KM, Sutula TP (1998) Computer models of hippocampal circuit changes of the kindling model of epilepsy. Artif Intell Med 13:81-97 [PubMed]

Lytton WW, Seidenstein AH, Dura-Bernal S, McDougal RA, Schurmann F, Hines ML (2016) Simulation Neurotechnologies for Advancing Brain Research: Parallelizing Large Networks in NEURON. Neural Comput :1-28 [Journal] [PubMed]

   Parallelizing large networks in NEURON (Lytton et al. 2016) [Model]

Suffczynski P, Kalitzin S, Lopes Da Silva FH (2004) Dynamics of non-convulsive epileptic phenomena modeled by a bistable neuronal network. Neuroscience 126:467-84 [Journal] [PubMed]

   Thalamocortical model of spike and wave seizures (Suffczynski et al. 2004) [Model]

Thomas E, Lytton WW (1998) Computer model of antiepileptic effects mediated by alterations in GABA(A)-mediated inhibition. Neuroreport 9:691-6 [PubMed]

van Drongelen W, Lee HC, Stevens RL, Hereld M (2007) propagation of seizure-like activity in a model of neocortex. J Clin Neurophysiol 24:182-8 [PubMed]

Zhao X, Robinson PA (2015) Generalized seizures in a neural field model with bursting dynamics. J Comput Neurosci [Journal] [PubMed]

   Neural-field model of generalized seizures (Zhao et al., 2015) [Model]

(66 refs)