Computer simulations of neuron-glia interactions mediated by ion flux (Somjen et al. 2008)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:113446
"... To examine the effect of glial K+ uptake, we used a model neuron equipped with Na+, K+, Ca2+ and Cl− conductances, ion pumps and ion exchangers, surrounded by interstitial space and glia. The glial membrane was either “passive”, incorporating only leak channels and an ion exchange pump, or it had rectifying K+ channels. We computed ion fluxes, concentration changes and osmotic volume changes. ... We conclude that voltage gated K+ currents can boost the effectiveness of the glial “potassium buffer” and that this buffer function is important even at moderate or low levels of excitation, but especially so in pathological states."
Reference:
1 . Somjen GG, Kager H, Wadman WJ (2008) Computer simulations of neuron-glia interactions mediated by ion flux. J Comput Neurosci 25:349-65 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Electrogenic pump; Glia;
Brain Region(s)/Organism:
Cell Type(s): Astrocyte;
Channel(s): I Na,p; I Na,t; I T low threshold; I A; I K; I K,Ca; Na/Ca exchanger; Na/K pump;
Gap Junctions:
Receptor(s): NMDA;
Gene(s):
Transmitter(s): Ions;
Simulation Environment: NEURON;
Model Concept(s): Epilepsy; Calcium dynamics; Sodium pump;
Implementer(s):
Search NeuronDB for information about:  NMDA; I Na,p; I Na,t; I T low threshold; I A; I K; I K,Ca; Na/Ca exchanger; Na/K pump; Ions;
TITLE nmda

COMMENT
NMDA-achtige geleidbaarheid; bewerking van Traub's NMDA gate
in CA3 model van 1991
g(t) factor is hier [k+]o afhankelijk gemaakt

Onvolkomenheid is dat dit mechanisme direct naar de stromen ik en ina
schrijft. Realistischer is het om een mechanisme 'synapse' de passieve
geleidbaarheden gk_leak en gna_leak te veranderen. 
1) Betere meting van de input resistance R_in.
2) 'Extracellular' werkt niet goed samen met pointprocesses. Nl. de netto
transmembraanstroom 'i_membrane' is niet meer nul. 
Omdat een synapse per definitie een 'point process' is i.t.t. 'distributed
process', moet mech syn de waarde van gna_leak in mech leak veranderen.
mbv commando extern.?

bijgewerkt voor calciumgeleidbaarheid
ENDCOMMENT


UNITS {
	(molar) = 	(1/liter)
	(mV) =	(millivolt)
	(mA) =	(milliamp)
	(mM) =	(millimolar)
	:FARADAY	= (faraday) (coulomb)
	FARADAY		= 96485.309 (coul)
	R = (k-mole) (joule/degC)
	PI	= (pi)		(1)
}

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

NEURON {
	SUFFIX nmda
	USEION k READ ko, ki, ek WRITE ik
	USEION na READ nai, nao, ena WRITE ina
	USEION ca READ cai, cao, eca WRITE ica VALENCE 2
	GLOBAL mg, act_99, act_01, ina_99, ina_01, gbar, tau_ina, tau_act, scaleca
	RANGE ik, ina, itot, ica, qna, qk
}

PARAMETER {
	celsius=36	(degC)
	gbar=1e-3	(mho/cm2)
	tau_ina=2000	(ms)
	tau_act=2	(ms)
	act_99=20	(mM)
	act_01=10	(mM)
	ina_99=3.5	(mM)
	ina_01=10	(mM)
	mg=1.2	(mM)
	scaleca=1
}

ASSIGNED { 
	v	(mV)
	itot	(mA/cm2)
	ik	(mA/cm2)
	ina	(mA/cm2)
	ica	(mA/cm2)
	ki	(mM)
	ko	(mM)
	ek	(mV)
	nai	(mM)
	nao	(mM)
	ena	(mV)
	cai	(mM)
	cao	(mM)
	eca	(mV)
	diam	(um2)
}

STATE { ma mb ha hb qna qk }

BREAKPOINT {
	SOLVE synstate METHOD sparse
	ina= gbar*ma*ha*(v-ena)/(1+(mg/3)*exp(-.07*(70+v-60)))   : ghk(v,nai,nao,1)
	ik = gbar*ma*ha*(v-ek) /(1+(mg/3)*exp(-.07*(70+v-60)))   : ghk(v,ki ,ko ,1)
	ica= gbar*scaleca*ma*ha*(v-eca)/(1+(mg/3)*exp(-.07*(70+v-60)))   : ghk(v,cai,cao,2)
	itot=ina+ik+ica
	:ma = 1 - mb
	:ha = 1 - hb
}

INITIAL {
	:SOLVE synstate STEADYSTATE sparse
	ma=m_inf(ko)
	mb=1-ma
	ha=h_inf(ko)
	hb=1-ha
	qna=0
	qk=0
	ina= gbar*ma*ha*(v-ena)/(1+(mg/3)*exp(-.07*(70+v-60))) : ghk(v,nai,nao)
	ik = gbar*ma*ha*(v-ek)/(1+(mg/3)*exp(-.07*(70+v-60)))   : ghk(v,ki,ko)
	ica= gbar*scaleca*ma*ha*(v-eca)/(1+(mg/3)*exp(-.07*(70+v-60)))   : ghk(v,cai,cao,2)
	itot=ina+ik+ica
}

LOCAL a1,a2,b1,b2

KINETIC synstate {
	a1 = m_a(ko)
	a2 = m_b(ko)
	b1 = h_a(ko)
	b2 = h_b(ko)

	~ mb <-> ma	(a1, a2)
	~ hb <-> ha 	(b1, b2)
	:CONSERVE ma + mb = 1
	:CONSERVE ha + hb = 1
	
	COMPARTMENT diam*diam*PI/4 { qna qk }
	~ qna << (-ina*PI*diam*(1e4)/FARADAY)
	~ qk <<  ( -ik*PI*diam*(1e4)/FARADAY)
}

FUNCTION m_a(ko) {
	TABLE DEPEND act_99, act_01, tau_act FROM 0 TO 150 WITH 150
	m_a = m_inf(ko)/tau_act
}

FUNCTION m_b(ko) {
	TABLE DEPEND act_99, act_01, tau_act FROM 0 TO 150 WITH 150
	m_b = (1-m_inf(ko))/tau_act
}
 
FUNCTION m_inf(ko) {
	LOCAL kh, h
	TABLE DEPEND act_99, act_01, tau_act FROM 0 TO 150 WITH 150
	kh=(act_99+act_01)/2
	h=-(kh-act_99)/4.59
	m_inf=1/(1+(exp((kh-ko)/h)))
}

FUNCTION h_a(ko) {
	TABLE DEPEND ina_99, ina_01, tau_ina FROM 0 TO 150 WITH 150
	h_a = h_inf(ko)/tau_ina
}

FUNCTION h_b(ko) {
	TABLE DEPEND ina_99, ina_01, tau_ina FROM 0 TO 150 WITH 150
	h_b = (1-h_inf(ko))/tau_ina
}

FUNCTION h_inf(ko) {
	LOCAL kh, h
	TABLE DEPEND ina_99, ina_01, tau_ina FROM 0 TO 150 WITH 150
	kh=(ina_99+ina_01)/2
	h=-(ina_99-kh)/4.59
	h_inf=1/(1+(exp((ko-kh)/h)))
}

FUNCTION ghk(v(mV), ci(mM), co(mM)) (.001 coul/cm3) {
	LOCAL z, eci, eco
	z = (1e-3)*1*FARADAY*v/(R*(celsius+273.11247574))
	eco = co*efun(z)
	eci = ci*efun(-z)
	ghk = (.001)*1*FARADAY*(eci - eco)
}

FUNCTION efun(z) {
	if (fabs(z) < 1e-4) {
		efun = 1 - z/2
	}else{
		efun = z/(exp(z) - 1)
	}
}


Loading data, please wait...