Thalamic network model of deep brain stimulation in essential tremor (Birdno et al. 2012)

 Download zip file 
Help downloading and running models
Accession:143633
"... Thus the decreased effectiveness of temporally irregular DBS trains is due to long pauses in the stimulus trains, not the degree of temporal irregularity alone. We also conducted computer simulations of neuronal responses to the experimental stimulus trains using a biophysical model of the thalamic network. Trains that suppressed tremor in volunteers also suppressed fluctuations in thalamic transmembrane potential at the frequency associated with cerebellar burst-driver inputs. Clinical and computational findings indicate that DBS suppresses tremor by masking burst-driver inputs to the thalamus and that pauses in stimulation prevent such masking. Although stimulation of other anatomic targets may provide tremor suppression, we propose that the most relevant neuronal targets for effective tremor suppression are the afferent cerebellar fibers that terminate in the thalamus."
References:
1 . Birdno MJ, Kuncel AM, Dorval AD, Turner DA, Gross RE, Grill WM (2012) Stimulus features underlying reduced tremor suppression with temporally patterned deep brain stimulation. J Neurophysiol 107:364-83 [PubMed]
2 . Yi G, Grill WM (2018) Frequency-dependent antidromic activation in thalamocortical relay neurons: effects of synaptic inputs. J Neural Eng 15:056001 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Axon;
Brain Region(s)/Organism:
Cell Type(s): Thalamus geniculate nucleus/lateral principal GLU cell;
Channel(s):
Gap Junctions:
Receptor(s): GabaA; GabaB; AMPA; NMDA; Glutamate; Gaba;
Gene(s):
Transmitter(s): Gaba; Ions;
Simulation Environment: NEURON; MATLAB;
Model Concept(s): Action Potential Initiation; Temporal Pattern Generation; Axonal Action Potentials; Therapeutics; Deep brain stimulation;
Implementer(s):
Search NeuronDB for information about:  Thalamus geniculate nucleus/lateral principal GLU cell; GabaA; GabaB; AMPA; NMDA; Glutamate; Gaba; Gaba; Ions;
/
Birdno_et_al_2012
modfiles
ampa.mod *
ampacer.mod *
ampactx.mod *
asymtrain.mod *
AXNODE75mb.mod *
FakeExcSyn.mod *
gabaa.mod *
gababKG.mod *
ihshift.mod *
ik2.mod *
isikdr.mod *
isina.mod *
it.mod *
kdyn.mod *
leakdepol.mod *
mdltrdyn.mod *
nmda.mod *
nmdacer.mod *
nmdactx.mod *
PARAK75.mod *
                            
TITLE Motor Axon Node channels
:
: Fast Na+, Persistant Na+, Slow K+, and Leakage currents 
: responsible for nodal action potential
: Iterative equations H-H notation rest = -75 mV
:
: M. Birdno changed polarity of bsC in beta_s equation 2/1/08

INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}

NEURON {
	SUFFIX axnode75mb
	NONSPECIFIC_CURRENT ina
	NONSPECIFIC_CURRENT inap
	USEION k READ ek WRITE ik
	NONSPECIFIC_CURRENT il
	RANGE gnapbar, gnabar, gkbar, gl, ena, ek, el
	RANGE mp_inf, m_inf, h_inf, s_inf
	RANGE tau_mp, tau_m, tau_h, tau_s
}


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

PARAMETER {

	gnapbar = 0.01	(mho/cm2)
	gnabar	= 3.0	(mho/cm2)
	gkbar   = 0.08 	(mho/cm2)
	gl	= 0.007 (mho/cm2)
	ena     = 55.0  (mV)
:	ek      = -85.0 (mV)
	el	= -85.0 (mV)
	celsius		(degC)
	dt              (ms)
	v               (mV)
	vshift=5
	vtraub=-80
	ampA = 0.01
	ampB = 27
	ampC = 10.2
	bmpA = 0.00025
	bmpB = 34
	bmpC = 10
	amA = 1.86
	amB = 21.4
	amC = 10.3
	bmA = 0.086
	bmB = 25.7
	bmC = 9.16
	ahA = 0.062
	ahB = 114.0
	ahC = 11.0
	bhA = 2.3
	bhB = 31.8
	bhC = 13.4
	asA = 0.3
	asB = -27
	asC = -5
	bsA = 0.03
	bsB = -30
	bsC = 10
}

STATE {
	mp m h s
}

ASSIGNED {
	ek (mV)
	inap    (mA/cm2)
	ina	(mA/cm2)
	ik      (mA/cm2)
	il      (mA/cm2)
	mp_inf
	m_inf
	h_inf
	s_inf
	tau_mp (ms)
	tau_m  (ms) 
	tau_h  (ms)
	tau_s  (ms)
	q10_1
	q10_2
	q10_3
}

BREAKPOINT {
	SOLVE states METHOD cnexp
	inap = gnapbar * mp*mp*mp * (v - ena)
	ina = gnabar * m*m*m*h * (v - ena)
	ik   = gkbar * s * (v - ek)
	il   = gl * (v - el)
}

DERIVATIVE states {   : exact Hodgkin-Huxley equations
       evaluate_fct(v)
	mp'= (mp_inf - mp) / tau_mp
	m' = (m_inf - m) / tau_m
	h' = (h_inf - h) / tau_h
	s' = (s_inf - s) / tau_s
}

UNITSOFF

INITIAL {
:
:	Q10 adjustment
:

	q10_1 = 2.2 ^ ((celsius-20)/ 10 )
	q10_2 = 2.9 ^ ((celsius-20)/ 10 )
	q10_3 = 3.0 ^ ((celsius-36)/ 10 )

	evaluate_fct(v)
	mp = mp_inf
	m = m_inf
	h = h_inf
	s = s_inf
}

PROCEDURE evaluate_fct(v(mV)) { LOCAL a,b,v2

	v2 = v - vshift

	a = q10_1*vtrap1(v2)
	b = q10_1*vtrap2(v2)
	tau_mp = 1 / (a + b)
	mp_inf = a / (a + b)

	a = q10_1*vtrap6(v2)
	b = q10_1*vtrap7(v2)
	tau_m = 1 / (a + b)
	m_inf = a / (a + b)

	a = q10_2*vtrap8(v2)
	b = q10_2*bhA / (1 + Exp(-(v2+bhB)/bhC))
	tau_h = 1 / (a + b)
	h_inf = a / (a + b)

	a = q10_3*asA / (Exp((v2-vtraub+asB)/asC) + 1) 
	b = q10_3*bsA / (Exp((v2-vtraub+bsB)/bsC) + 1)
	tau_s = 1 / (a + b)
	s_inf = a / (a + b)
}

FUNCTION vtrap(x) {
	if (x < -50) {
		vtrap = 0
	}else{
		vtrap = bsA / (Exp((x+bsB)/bsC) + 1)
	}
}

FUNCTION vtrap1(x) {
	if (fabs((x+ampB)/ampC) < 1e-6) {
		vtrap1 = ampA*ampC
	}else{
		vtrap1 = (ampA*(x+ampB)) / (1 - Exp(-(x+ampB)/ampC))
	}
}

FUNCTION vtrap2(x) {
	if (fabs((x+bmpB)/bmpC) < 1e-6) {
		vtrap2 = bmpA*bmpC
	}else{
		vtrap2 = (bmpA*(-(x+bmpB))) / (1 - Exp((x+bmpB)/bmpC))
	}
}

FUNCTION vtrap6(x) {
	if (fabs((x+amB)/amC) < 1e-6) {
		vtrap6 = amA*amC
	}else{
		vtrap6 = (amA*(x+amB)) / (1 - Exp(-(x+amB)/amC))
	}
}

FUNCTION vtrap7(x) {
	if (fabs((x+bmB)/bmC) < 1e-6) {
		vtrap7 = bmA*bmC
	}else{
		vtrap7 = (bmA*(-(x+bmB))) / (1 - Exp((x+bmB)/bmC))
	}
}

FUNCTION vtrap8(x) {
	if (fabs((x+ahB)/ahC) < 1e-6) {
		vtrap8 = ahA*ahC
	}else{
		vtrap8 = (ahA*(-(x+ahB))) / (1 - Exp((x+ahB)/ahC)) 
	}
}

FUNCTION Exp(x) {
	if (x < -100) {
		:Exp = 0
	}else{
		if (x > 700) {
			Exp = exp(700)
		}else{
			Exp = exp(x)
		}
	}
}

UNITSON

Loading data, please wait...