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

 Download zip file   Auto-launch 
Help downloading and running models
Accession:9889
A phase plane analysis of a two cell interaction between a thalamocortical neuron (TC) and a thalamic reticularis neuron (RE).
Reference:
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;
Gene(s):
Transmitter(s): Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Temporal Pattern Generation; Oscillations; Calcium dynamics;
Implementer(s): Lytton, William [billl at neurosim.downstate.edu]; Destexhe, Alain [Destexhe at iaf.cnrs-gif.fr];
Search NeuronDB for information about:  Thalamus geniculate nucleus (lateral) principal neuron; Thalamus reticular nucleus cell; GabaA; Glutamate; I T low threshold; Gaba; Glutamate;
/
lytton97
README
AMPA.mod
calciumpump_destexhe.mod *
GABAB1.mod
GABALOW.mod
gen.mod
HH_traub.mod *
IAHP_destexhe.mod
ICAN_destexhe.mod
Ih_old.mod *
IT_wang.mod
IT2_huguenard.mod
nmda.mod
passiv.mod
presyn.mod *
pulse.mod *
rand.mod
boxes.hoc *
declist.hoc *
decvec.hoc *
default.hoc *
directory
fig7.gif
geom.hoc
grvec.hoc
init.hoc
jnphys77_1679.pdf
local.hoc *
mosinit.hoc
network.hoc
nrnoc.hoc *
params.hoc
presyn.inc *
queue.inc *
run.hoc
simctrl.hoc *
snshead.inc *
synq.inc *
xtmp
                            
// $Id: nrnoc.hoc,v 1.26 2000/11/27 22:00:19 billl Exp $

proc nrnoc () {}

// Users should not edit nrnoc.hoc or default.hoc.  Any local 
// changes to these files should be made in local.hoc.

// key '*&*' is picked up by to indicate command for emacs
proc elisp () { printf("*&* %s\n",$s1) }
// if (not exists(simname)) { strdef simname, output_file, datestr, comment }

// Simctrl.hoc will automatically load stdgraph.hoc which automatically
// loads stdrun.hoc
strdef temp_string_, user_string_  // needed for simctrl
/* Global variable default values.  NOTE that stdrun.hoc, stdgraph.hoc
and simctrl.hoc all contain variable definitions and thus default.hoc
should be loaded after these files */
load_file("default.hoc")      /* Load default.hoc */

/* Allows arrays of strings */
objref hoc_obj_[2]
if (xwindows) {
  load_file("stdgui.hoc") // don't want to encounter other String tempate defs
  load_file("simctrl.hoc")
} else {
  load_file("stdlib.hoc")
  load_file("stdrunnoiv.hoc")
}

proc run () {

  stdinit()

  if (batch_flag == 1) {
    sprint(output_file,"data/b%s.%02d", datestr, runnum)
    batch_run(tstop, printStep, output_file)
    finish()
  } else {
    continueRun(tstop)
  }
}

proc continueRun() { local eventCount
  // Although this works properly "the first time" it may not properly "continue" a simulation 

  eventCount=0
  eventslow=1
  stoprun = 0

  while (t < $1 && stoprun == 0) { 
    for i = 1, nstep_steprun { fadvance() }
    outputData()
    
    eventCount = eventCount + 1
    if (xwindows && eventCount%eventStep < 0.1) { doEvents() }
  }

  finish()
}

proc stdinit() {
  realtime=0 startsw()
  t = 0
  stoprun = 0

  if (batch_flag == 1) {
    batch_save()
    batchSave()  // User defined program to set up stuff to save
  }

  init()
  init()

  if (graph_flag == 1) { 
    if (iv_flag == 1) {
      initPlot()
    } else {
      initGraph() 
    }
  }

  if (print_flag == 1) { initPrint() }
}


proc init () {
  initMech()

  initMisc1()

  /* Initialize state vars then calculate currents */
/* If user hand-set v in initMisc1() then v_init should be > 1000,
else all compartments will be set to v_init */
if (v_init < 1000) {
  finitialize(v_init)
} else {
  finitialize()
}
fcurrent()

/* Set ca pump and leak channel for steady state */
setMemb()

/* Recalculate currents with new pump and leak kinetics */
fcurrent()
fcurrent()

initMisc2()
if (cvode_active()) cvode.re_init()
}

proc initMech() { /* Initialization of mechanism variables */
/* NOTE: if any changes are made to the NEURON block of any local mod
file, the user must add the necessary inits to initMisc1() */

/** Range variables **/

forall {
  if ((!ismembrane("pas")) && (!ismembrane("Passive"))) { 
    // Allow for either pas or Passive mod file usage
    errorMsg("passive not inserted") 
  }

  if (ismembrane("na_ion")) { 
    nai = na_init
    nai0_na_ion = na_init
  }
  
  if (ismembrane("k_ion")) {
    ki = k_init
    ki0_k_ion = k_init
  }
  
  if (ismembrane("ca_ion")) { 
    cai = ca_init
    cai0_ca_ion = ca_init
  }
}

/** Global variables **/
}

proc setMemb () { local i_forward, i_back, iSum

  /* Setup steady state voltage using leak channel */
forall {
  if (ismembrane("pas")) {
    iSum = 0.0
    
    if (ismembrane("na_ion")) { iSum = iSum + ina }
    if (ismembrane("k_ion"))  { iSum = iSum + ik  }
    if (ismembrane("ca_ion")) { iSum = iSum + ica }
    if (ismembrane("ns_ion")) { iSum = iSum + ins } // Non-specific

    if (iSum == 0) {        // Pas cmp so set e_pas = v
      e_pas = v

    } else {
      if (g_pas > 0) {    // Assume g set by user, calc e
        e_pas = v + iSum/g_pas

      } else {            // Assume e set by user, calc g
        if (e_pas != v) {
          g_pas = iSum/(e_pas - v)

        } else {        // error: g_pas <= 0
          errorMsg("bad g", g_pas)
        }
      }

      if (e_pas < -100 || e_pas > 0) {
        errorMsg("erev out of bounds", e_pas)
      }
    }

  } else if (ismembrane("Passive")) {
    iSum = 0.0
    
    if (ismembrane("na_ion")) { iSum = iSum + ina }
    if (ismembrane("k_ion"))  { iSum = iSum + ik  }
    if (ismembrane("ca_ion")) { iSum = iSum + ica }
    if (ismembrane("ns_ion")) { iSum = iSum + ins } // Non-specific

    if (iSum == 0) {        // Passive cmp so set erev_Passive = v
      erev_Passive = v

    } else {
      if (g_Passive > 0) {    // Assume g set by user, calc erev
        erev_Passive = v + iSum/g_Passive

      } else {            // Assume erev set by user, calc g
        if (erev_Passive != v) {
          g_Passive = iSum/(erev_Passive - v)

        } else {        // error: g_Passive <= 0
          errorMsg("bad g", g_Passive)
        }
      }

      if (erev_Passive < -100 || erev_Passive > 0) {
        errorMsg("erev out of bounds", erev_Passive)
      }
    }
  }
}
}

proc finish() {
  /* Called following completion of continueRun() */

finishMisc()

if (graph_flag == 1) {
  if (iv_flag == 1) {
    flushPlot()
  } else {
    graphmode(-1)
    plt(-1)
  }
}

if (print_flag == 1) {
  wopen("")
}
}

/*------------------------------------------------------------
User definable GRAPHICS and PRINTING routines
------------------------------------------------------------*/

proc outputData() {
  // Default procedure - if outputData() doesn't exist in the run file

  if (graph_flag == 1) {
    if (iv_flag == 1) {
      Plot()
      rt = stopsw()
      if (rt > realtime) {
        realtime = rt
        fastflushPlot()
        doNotify()
        if (realtime == 2 && eventcount > 50) {
          eventslow = int(eventcount/50) + 1
        }
        eventcount = 0
      }else{
        eventcount = eventcount + 1
        if ((eventcount%eventslow) == 0) {
          doEvents()
        }
      }

    } else {
      graph(t)
    }
  }

  if (print_flag == 1) { 
    if (t%printStep <= printStep) { printOut() }
  }
}

proc printOut() {
  /* Default procedure - if printOut() doesn't exist in the run file */
}

proc initGraph() {
  /* Default procedure - if initGraph() doesn't exist in the run file */

graph()
}

proc initPrint() {
  /* Default procedure - if initPrint() doesn't exist in the run file */

wopen(output_file)
}

/*------------------------------------------------------------
User definable BATCH RUN routines
------------------------------------------------------------*/

proc batchSave() {
  /* Default procedure - if batchSave() doesn't exist in the run file */
}

proc nextrun() {
  // Called from finishmisc() following completion of batch in an autorun
  wopen("")   
  runnum = runnum + 1
  sprint(output_file,"data/b%s.%02d", datestr, runnum)
}                       

// commands for emacs
proc update_runnum() { 
  runnum = $1
  sprint(output_file,"data/%s.%02d", datestr, runnum)
  print "^&^ (progn (sim-index-revert)(setq sim-runnum ",runnum,"))" }
proc nrn_write_index() { printf("&INDEX& %s\n",$s1) }
proc nrn_update () { elisp("nrn-update") }
proc nrn_message () { printf("!&! %s\n",$s1) } 

/*------------------------------------------------------------
User definable INITIALIZATION and FINISH routines
------------------------------------------------------------*/

// Default procedure - if initMisc1() doesn't exist in the run file 
// Initializations performed prior to finitialize() 
// This should contain point process inits and inits for any changes 
//        made to the NEURON block of any local mod file 
proc initMisc1() { }

// Default procedure - if initMisc2() doesn't exist in the run file 
// Initializations performed after finitialize() 
proc initMisc2() { }

// Default procedure - if finishMisc() doesn't exist in the run file 
proc finishMisc() { }

/*------------------------------------------------------------
Miscellaneous routines
------------------------------------------------------------*/

proc errorMsg() {
  /* Print warning, assumes arg1 is string and arg2 if present is a
  variable value */

sectionname(section)

if (numarg() == 0) {
  printf("ERROR in errorMsg(): Needs at least 1 argument.\n")
} else if (numarg() == 1) {
  printf("ERROR: %s in section %s.\n", $s1, section)
} else {
  printf("ERROR: %s in section %s (var=%g).\n", $s1, section, $2)
}
}

proc clear() {
  /* Clear non-interviews plot window */
plt(-3)
}

func mod() { local x, y
  /* Mod function for non-integers */

x=$1
y=$2

return (x/y - int(x/y))
}

proc whatSection() {
  /* Print name of section */
sectionname(section)
print section
}

proc print_pp_location() { local x //arg1 must be a point process
   x = $o1.get_loc()
   sectionname(temp_string_)
   printf("%s located at %s(%g)\n", $o1, temp_string_, x)
   pop_section()
}

//* Load local modifications to nrnoc.hoc and default.hoc
load_file("local.hoc")

if (xwindows && graph_flag) { nrnmainmenu() } // pwman_place(50,50)

print "Init complete.\n"

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)