Alcohol action in a detailed Purkinje neuron model and an efficient simplified model (Forrest 2015)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:180789
" ... we employ a novel reduction algorithm to produce a 2 compartment model of the cerebellar Purkinje neuron from a previously published, 1089 compartment model. It runs more than 400 times faster and retains the electrical behavior of the full model. So, it is more suitable for inclusion in large network models, where computational power is a limiting issue. We show the utility of this reduced model by demonstrating that it can replicate the full model’s response to alcohol, which can in turn reproduce experimental recordings from Purkinje neurons following alcohol application. ..."
Reference:
1 . Forrest MD (2015) Simulation of alcohol action upon a detailed Purkinje neuron model and a simpler surrogate model that runs >400 times faster. BMC Neurosci 16:27 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell;
Brain Region(s)/Organism: Cerebellum;
Cell Type(s): Cerebellum Purkinje GABA cell;
Channel(s): I Na,t; I T low threshold; I A; I K; I K,leak; I M; I h; I K,Ca; I Sodium; I Calcium; I Potassium; I A, slow; I_HERG; Na/Ca exchanger; Na/K pump; I_AHP; I Cl, leak; I Na, leak; I Ca,p; I_KD; Ca pump;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Dendritic Action Potentials; Bursting; Ion Channel Kinetics; Oscillations; Simplified Models; Active Dendrites; Influence of Dendritic Geometry; Detailed Neuronal Models; Sodium pump; Depolarization block; Dendritic Bistability; Markov-type model; Alcohol Use Disorder;
Implementer(s): Forrest, Michael [mikeforrest at hotmail.com];
Search NeuronDB for information about:  Cerebellum Purkinje GABA cell; I Na,t; I T low threshold; I A; I K; I K,leak; I M; I h; I K,Ca; I Sodium; I Calcium; I Potassium; I A, slow; I_HERG; Na/Ca exchanger; Na/K pump; I_AHP; I Cl, leak; I Na, leak; I Ca,p; I_KD; Ca pump;
/
Forrest2015
collapse_algorithm
README.txt
bkpkj.mod *
cad.mod *
cadiff.mod *
cae.mod *
cap2.mod *
captain.mod *
cat.mod *
cha.mod *
erg.mod *
gkca.mod *
hpkj.mod *
k23.mod *
ka.mod *
kc3.mod *
kd.mod *
kdyn.mod *
khh.mod *
km.mod *
kpkj.mod *
kpkj2.mod *
kpkjslow.mod *
kv1.mod *
leak.mod *
lkpkj.mod *
myexchanger.mod *
myexchangersoma.mod *
mypump.mod *
mypumpsoma.mod *
nadifl.mod *
narsg.mod *
newnew.mod *
pump.mod *
2_compartment.hoc
full.ses *
full_data_writer.hoc
full_morph.hoc
lesbos.ses *
mex.hoc
mosinit.hoc
mosinit_full.hoc
mosinit_simple.hoc
simple_data_writer.hoc
                            
: HH TEA-sensitive Purkinje potassium current
: FORREST MD (2014) Two Compartment Model of the Cerebellar Purkinje Neuron

NEURON {
	SUFFIX kpkj
	USEION k READ ek WRITE ik
	RANGE gkbar
	GLOBAL minf, hinf, mtau, htau
}

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

PARAMETER {
	v (mV)

	gkbar = .004	(mho/cm2)

	mivh = -24	(mV)
	mik = 15.4	(1)
	mty0 = .00012851 	
	mtvh1 = 100.7	(mV)
	mtk1 = 12.9	(1)
	mtvh2 = -56.0	(mV)
	mtk2 = -23.1	(1)
	
	hiy0 = .31	
	hiA = .78
	hivh = -5.802	(mV)
	hik = 11.2	(1)

	ek
Q10 = 3 (1) 
  Q10TEMP = 22 (degC) 
}

ASSIGNED {
	ik		(mA/cm2)
	minf
	mtau		(ms)
	hinf
	htau		(ms)
 celsius (degC) 
  qt (1) 

}

STATE {
	m
	h
}

INITIAL {
	rates(v)
	m = minf
	h = hinf
:qt = Q10^((celsius-Q10TEMP)/10) 
qt = 1
}

BREAKPOINT {
	SOLVE states METHOD cnexp
	ik = gkbar * m^3 * h * (v - ek)
}

DERIVATIVE states {
	rates(v)
	m' = (minf - m) / mtau
	h' = (hinf - h) / htau
}

PROCEDURE rates( Vm (mV)) {
	LOCAL v
	v = Vm + 11	: Account for Junction Potential
	minf = 1/(1+exp(-(v-mivh)/mik))
	mtau = ((1000) * mtau_func(v)) / qt
	hinf = hiy0 + hiA/(1+exp((v-hivh)/hik))
	htau = (1000 * htau_func(v)) / qt
}

FUNCTION mtau_func (v (mV)) (ms) {
	if (v < -35) {
		mtau_func = (3.4225e-5+.00498*exp(-v/-28.29))*3
	} else {
		mtau_func = (mty0 + 1/(exp((v+mtvh1)/mtk1)+exp((v+mtvh2)/mtk2)))
	}
}

FUNCTION htau_func(Vm (mV)) (ms) {
	if ( Vm > 0) {
		htau_func = .0012+.0023*exp(-.141*Vm)
	} else {
		htau_func = 1.2202e-05 + .012 * exp(-((Vm-(-56.3))/49.6)^2)
	}
}