PIR gamma oscillations in network of resonators (Tikidji-Hamburyan et al. 2015)

 Download zip file 
Help downloading and running models
Accession:183718
" ... The coupled oscillator model implemented with Wang–Buzsaki model neurons is not sufficiently robust to heterogeneity in excitatory drive, and therefore intrinsic frequency, to account for in vitro models of ING. Similarly, in a tightly synchronized regime, the stochastic population oscillator model is often characterized by sparse firing, whereas interneurons both in vivo and in vitro do not fire sparsely during gamma,but rather on average every other cycle. We substituted so-called resonator neural models, which exhibit class 2 excitability and postinhibitory rebound (PIR), for the integrators that are typically used. This results in much greater robustness to heterogeneity that actually increases as the average participation in spikes per cycle approximates physiological levels. Moreover, dynamic clamp experiments that show autapse-induced firing in entorhinal cortical interneurons support the idea that PIR can serve as a network gamma mechanism. ..."
Reference:
1 . Tikidji-Hamburyan RA, Martínez JJ, White JA, Canavier CC (2015) Resonant Interneurons Can Increase Robustness of Gamma Oscillations. J Neurosci 35:15682-95 [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: Entorhinal cortex;
Cell Type(s): Wide dynamic range neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; Python;
Model Concept(s): Gamma oscillations;
Implementer(s): Tikidji-Hamburyan, Ruben [ruben.tikidji.hamburyan at gmail.com] ;
TITLE IzhikevichCurrent

COMMENT

The module implements Izhikevich's model as a  non-specific current. Module is defined as point-process 
to be able send and receive net events.

The module treats Izhikevich's system of equations as
v'=(Iizh(v)+i)/cm
where Iizh(v)=e*v^2+f*v+g-u is a transmembrane current. u is a state variable

Do not forget setup:
 cm in 1uF
 L in 1um
 diam in 1/PI

Here an example, who to use it in hoc file.

objref izh
soma{
	L=1
	diam=1/PI
	nseg=1
	izh = new izhcur(0.5)
	cm=1
}

Parameters are given by Izhikevich matlab code:

       a        b       c      d       I
================================================================================
      0.02      0.2     -65     6      14       % tonic spiking
      0.02      0.25    -65     6       0.5     % phasic spiking
      0.02      0.2     -50     2      15       % tonic bursting
      0.02      0.25    -55     0.05    0.6     % phasic bursting
      0.02      0.2     -55     4      10       % mixed mode
      0.01      0.2     -65     8      30       % spike frequency adaptation
      0.02     -0.1     -55     6       0       % Class 1
      0.2       0.26    -65     0       0       % Class 2
      0.02      0.2     -65     6       7       % spike latency
      0.05      0.26    -60     0       0       % subthreshold oscillations
      0.1       0.26    -60    -1       0       % resonator
      0.02     -0.1     -55     6       0       % integrator
      0.03      0.25    -60     4       0       % rebound spike
      0.03      0.25    -52     0       0       % rebound burst
      0.03      0.25    -60     4       0       % threshold variability
      1         1.5     -60     0     -65       % bistability
      1         0.2     -60   -21       0       % DAP
      0.02      1       -55     4       0       % accomodation
     -0.02     -1       -60     8      80       % inhibition-induced spiking
     -0.026    -1       -45     0      80       % inhibition-induced bursting    

written by Ruben Tikidji-Hamburyan <rth@nisms.krinc.ru>, 2013 - 1015
ENDCOMMENT

NEURON {
	POINT_PROCESS izhcur
	NONSPECIFIC_CURRENT i_izh
	RANGE a,b,c,d,e,f,g,uinit,F,u,I
}

PARAMETER {
	a = 0.01	(1)
	b = 0.2		(1)
	c = -65		(mV)
	d = 2		(1)
	e = 0.04	(1)
	f = 5		(1)
	g = 140		(1)
	uinit = -14	(1)
	F = 1		(1) : speedup / slowdown parameter
	I = 0		(mA/cm2) : doesn't work yet
}

UNITS {
	(mV) = (millivolt)
	(mA) = (milliamp)
}

ASSIGNED {
	v (mV)
	i_izh (mA)
}

STATE { u }

BREAKPOINT {
	SOLVE states METHOD cnexp
	i_izh = (-1e-5)*F*(vinfi(v)-u)-I	:minus, because it is inward current	
}

INITIAL {
	u = uinit
	net_send(0,1)					:we have send first event
}

DERIVATIVE states {
	UNITSOFF
	u'= F*a*(b*v-u)
	UNITSON
}

FUNCTION vinfi(v (mV)) {
	UNITSOFF
	vinfi = e*v*v + f*v + g
	UNITSON
}

NET_RECEIVE (w) {
	if (flag == 1) {
		WATCH (v > 30.0) 2
	} else {
		net_event(t)
		v = c
		u = u+d
  }
}