Knox implementation of Destexhe 1998 spike and wave oscillation model (Knox et al 2018)

 Download zip file   Auto-launch 
Help downloading and running models
" ...The aim of this study was to use an established thalamocortical computer model to determine how T-type calcium channels work in concert with cortical excitability to contribute to pathogenesis and treatment response in CAE. METHODS: The model is comprised of cortical pyramidal, cortical inhibitory, thalamocortical relay, and thalamic reticular single-compartment neurons, implemented with Hodgkin-Huxley model ion channels and connected by AMPA, GABAA , and GABAB synapses. Network behavior was simulated for different combinations of T-type calcium channel conductance, inactivation time, steady state activation/inactivation shift, and cortical GABAA conductance. RESULTS: Decreasing cortical GABAA conductance and increasing T-type calcium channel conductance converted spindle to spike and wave oscillations; smaller changes were required if both were changed in concert. In contrast, left shift of steady state voltage activation/inactivation did not lead to spike and wave oscillations, whereas right shift reduced network propensity for oscillations of any type...."
1 . Knox AT, Glauser T, Tenney J, Lytton WW, Holland K (2018) Modeling pathogenesis and treatment response in childhood absence epilepsy. Epilepsia 59:135-145 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Neocortex; Thalamus;
Cell Type(s): Thalamus reticular nucleus GABA cell; Thalamus geniculate nucleus/lateral principal GLU cell; Hodgkin-Huxley neuron; Neocortex layer 4 pyramidal cell; Neocortex fast spiking (FS) interneuron;
Channel(s): I h; I Na,t; I K,leak; I T low threshold; I M;
Gap Junctions:
Receptor(s): GabaA; GabaB; AMPA;
Simulation Environment: NEURON;
Model Concept(s): Spindles; Oscillations;
Implementer(s): Knox, Andrew [knox at]; Destexhe, Alain [Destexhe at];
Search NeuronDB for information about:  Thalamus geniculate nucleus/lateral principal GLU cell; Thalamus reticular nucleus GABA cell; GabaA; GabaB; AMPA; I Na,t; I T low threshold; I K,leak; I M; I h;
cadecay.mod *
HH2.mod *
Ih.mod *
IT.mod *
IT2.mod *
kleak.mod *
vecevent.mod *
mosinit.hoc *
Contained herein is the NEURON code used to generate the results in the paper:
Knox A, Glauser T, Tenney T, Lytton W, Holland K, Modeling pathogenesis and treatment response in childhood absence epilepsy, Epilepsia 2017, doi: 10.1111/epi.13962

This is an implementation of the model described in the paper:
Destexhe, Alain, Spike-and-Wave Oscillations Based on the Properties of GABAB Receptors, The Journal of Neuroscience, November 1, 1998, 18(21):9099–9111

The bulk of the implementation was taken from Thalamocortical and Thalamic Reticular Network (Destexhe et al 1996, ModelDB Acession:3343), including the bulk of the mechanisms (some modifications were made to GABA-A, GABA-B, and AMPA receptors to optimize performance).  The program file FSpikeWave.oc was created by modifying the file Fspin.oc from to create the four layer network described in the paper listed above, with various other functions added.  As far as I can tell it is true to the original Destexhe Spike-and-Wave Oscillation model, although it may be that a slightly different implementation of GABA-B receptors was used in the original, leading to some discrepencies with the frequency of spike and wave oscillations.

The code can be run in the NEURON simulation environment, which can be found at  

To recreate figures from figure 2 of the Knox paper, do the following:
1) download and extract the zip file.
2) use mknrndll (windows) or nrnivmodl (unix and mac) to compile the mod files.
3) Open rundemo.mod in NEURON and select "3Hz Spike and Wave," then click init and run to run the simulation
4) To save a state after the simulation is run, type "writestate()" at the neuron prompt, which saves the state to state_data.txt.
5) To load a simulation (usuful for starting from a steady state), the variable trans must be set to Tstop from the saved simulation.  The program then loads the state saved in the file state_data.txt.
6) For a black and white raster plot showing firing times, type "rasterplot()" at the neuron prompt
7) For the detailed heat map shown in figure 2, type "writedatafile()" at the neuron prompt.  This will create a file membrane_data.txt.  Move this file to same directory as the python script, and run the script to generate the heat plot.
8) To vary cortical GABA-A conductance, change the gabaapercent variable.  
9) To vary T-type calcium channel parameters, change taubase_itrecustom, shift_itrecustom, or gcabar_itrecustom.***Note: experimental values for tau_base should be multiplied by the phi_h factor that can be found in itrecustom.mod.  In other words, tau_0 of 28.3 is equivalent to taubase_itrecustom = 85.

Code is provided as-is, and some aspects of implementation may be counter-intuitive (such as some details of the implementation of GABA-B receptors).  Feel free to contact me with questions.

Andrew Knox
Department of Neurology
University of Wisconsin

The bulk of this work was completed while I was a child neurology resident and epilepsy fellow at Cincinnati Children's Hospital Medical Center.