Inhibitory network bistability explains increased activity prior to seizure onset (Rich et al 2020)

 Download zip file 
Help downloading and running models
" ... the mechanisms predisposing an inhibitory network toward increased activity, specifically prior to ictogenesis, without a permanent change to inputs to the system remain unknown. We address this question by comparing simulated inhibitory networks containing control interneurons and networks containing hyperexcitable interneurons modeled to mimic treatment with 4-Aminopyridine (4-AP), an agent commonly used to model seizures in vivo and in vitro. Our in silico study demonstrates that model inhibitory networks with 4-AP interneurons are more prone than their control counterparts to exist in a bistable state in which asynchronously firing networks can abruptly transition into synchrony driven by a brief perturbation. This transition into synchrony brings about a corresponding increase in overall firing rate. We further show that perturbations driving this transition could arise in vivo from background excitatory synaptic activity in the cortex. Thus, we propose that bistability explains the increase in interneuron activity observed experimentally prior to seizure via a transition from incoherent to coherent dynamics. Moreover, bistability explains why inhibitory networks containing hyperexcitable interneurons are more vulnerable to this change in dynamics, and how such networks can undergo a transition without a permanent change in the drive. ..."
1 . Rich S, Chameh HM, Rafiee M, Ferguson K, Skinner FK, Valiante TA (2020) Inhibitory Network Bistability Explains Increased Interneuronal Activity Prior to Seizure Onset. Front Neural Circuits 13:81 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse;
Brain Region(s)/Organism:
Cell Type(s): Abstract Izhikevich neuron;
Channel(s): I Potassium;
Gap Junctions:
Transmitter(s): Gaba;
Simulation Environment: C or C++ program;
Model Concept(s): Synchronization; Epilepsy;
Implementer(s): Rich, Scott [sbrich at];
Search NeuronDB for information about:  I Potassium; Gaba;
parseArgs.m *
subaxis.m *
# CorticalInhibitoryNetwork
Citation: Scott Rich, Homeira Moradi Chameh, Marjan Rafiee, Katie Ferguson, Frances K. Skinner and Taufik A. Valiante. "Inhibitory network bistability explains increased interneuronal activity prior to seizure onset." Frontiers in Neural Circuits, 13, 2020.

License: GNU GENERAL PUBLIC LICENSE. Contact: Scott Rich,


Simulations are performed primary utilizing the .c code (InhibitoryNetwork_cortex_0712.c) with parameter inputs generated via .sh files (,, Following compiling the code into a .o file, an example run of the code will look like the following:

  ./InhibitoryNetwork_cortex_0712.o gsynmin gsynmax gsynstep Iappmin Iappmax Iappstep probii sdev count state
where the first three inputs define the parameter range of synaptic strengths, the following three inputs define the paramter range of the applied current values, probii defines the connection probability, sdev defines the standard deviation amongst the applied currents, count dictates the number used to name the output files, and state is chosen to be either 0 or 1 (0 the control case and 1 the 4-AP case). 

Miscellany in the .sh files (srun, #SBATCH, etc.) are references to the implementation of the code on Compute Canada resoruces and can be ignored if the code is being run on an individual computer.

Outputs of the code include the following:
  InhibitoryNetwork_count_TrackVariables.csv: if uncommented, outputs average current and voltage values at each time step.
  InhibitoryNetwork_count_SpikeTimes.csv: spike times for each neuron.
  InhibitoryNetwork_count_InputCurrents.csv: external current drive to each neuron.
  InhibitoryNetwork_count_ConnectivityMatricies.csv: if uncommented, outputs connectivity matrix for each simulation.
  InhibitoryNetwork_count_Variables.csv: key variables for each simulation run in the format "probii, gsyn, Iappavg, sdev, state".


Plotting is done utilizing the various .m files included in the repository, primarily making use of the SpikeTimes, InputCurrents, and Variables outputs from the .c code. These pieces of code are relatively well commented and should be easily understandable given the littany of documention for Matlab coding available via MathWorks.

  InhibitoryCortex_.m files:
  code used to plot the various heatmaps presented in the manuscript, implementing the "Synchrony Measure" and "Bistability Measure"

  conv_gaussian.m, convert_spiketimes.m, golomb_measure.m, golomb_synch.m:
  code used for the implementation of the "Synchrony Measure"

  code used to generate "2d" plots of Synchrony Measure vs Input Current

  Remaining .m files:
  code containing the various miscellany necessary for the plotting functions discussed above.

Loading data, please wait...