Using Strahler's analysis to reduce realistic models (Marasco et al, 2013)

 Download zip file 
Help downloading and running models
Accession:149000
Building on our previous work (Marasco et al., (2012)), we present a general reduction method based on Strahler's analysis of neuron morphologies. We show that, without any fitting or tuning procedures, it is possible to map any morphologically and biophysically accurate neuron model into an equivalent reduced version. Using this method for Purkinje cells, we demonstrate how run times can be reduced up to 200-fold, while accurately taking into account the effects of arbitrarily located and activated synaptic inputs.
Reference:
1 . Marasco A, Limongiello A, Migliore M (2013) Using Strahler's analysis to reduce up to 200-fold the run time of realistic neuron models. Sci Rep 3:2934 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Dendrite;
Brain Region(s)/Organism: Hippocampus; Cerebellum;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell; Cerebellum Purkinje GABA cell;
Channel(s): I Na,t; I T low threshold; I K; I Calcium; Ca pump;
Gap Junctions:
Receptor(s): AMPA;
Gene(s):
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Active Dendrites; Influence of Dendritic Geometry; Detailed Neuronal Models; Action Potentials; Synaptic Integration;
Implementer(s): Limongiello, Alessandro [alessandro.limongiello at unina.it];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; Cerebellum Purkinje GABA cell; AMPA; I Na,t; I T low threshold; I K; I Calcium; Ca pump; Glutamate;
/
PurkReductionOnLine
morphologies
readme.txt
CaE.mod *
CalciumP.mod *
CaP.mod *
CaP2.mod *
CaT.mod *
K2.mod *
K22.mod *
K23.mod *
KA.mod *
KC.mod *
KC2.mod *
KC3.mod *
KD.mod *
Kdr.mod *
Kh.mod *
Khh.mod *
KM.mod *
Leak.mod *
NaF.mod *
NaP.mod *
pj.mod
clusterisingMethods.hoc
fixnseg.hoc
mergingMethods.hoc
mosinit.hoc
ranstream.hoc *
RedPurk.hoc
stimulation1.hoc
useful&InitProc.hoc
                            
TITLE BK calcium-activated potassium current
: Calcium activated K channel.
COMMENT
  from "An Active Membrane Model of the Cerebellar Purkinje Cell
        1. Simulation of Current Clamp in Slice"
ENDCOMMENT

UNITS {
	(molar) = (1/liter)
}

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


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

NEURON {
	SUFFIX KC2
	USEION ca READ cai
	USEION k WRITE ik
	RANGE gkbar,gk,zinf,ik
}


PARAMETER {
	celsius=37	(degC)
	v		(mV)
	gkbar=.08	(mho/cm2)	: Maximum Permeability
	cai = .04e-3	(mM)
	ek  = -85	(mV)
	dt		(ms)
}


ASSIGNED {
	ik		(mA/cm2)
	minf
	mexp
	zinf
	zexp
	gk
}

STATE {	m z }		: fraction of open channels

BREAKPOINT {
	SOLVE state
:	gk = gkbar*m*z*z
	ik = gkbar*m*z*z*(v - ek)
}
:UNITSOFF
:LOCAL fac

:if state_cagk is called from hoc, garbage or segmentation violation will
:result because range variables won't have correct pointer.  This is because
: only BREAKPOINT sets up the correct pointers to range variables.
PROCEDURE state() {	: exact when v held constant; integrates over dt step
	rate(v, cai)
	m = m + mexp*(minf - m)
	z = z + zexp*(zinf - z)
	VERBATIM
	return 0;
	ENDVERBATIM
}

INITIAL {
	rate(v, cai)
	m = minf
	z = zinf
}

FUNCTION alp(v (mV), ca (mM)) (1/ms) { :callable from hoc
	alp = 40/(ca*1000)
}

FUNCTION bet(v (mV)) (1/ms) { :callable from hoc
	bet = 0.11/exp((v-35)/14.9)
}

PROCEDURE rate(v (mV), ca (mM)) { :callable from hoc
	LOCAL a,b
	a = alp(v,ca)
	zinf = 1/(1+a)
	zexp = (1 - exp(-dt/10))
	b = bet(v)
	minf = 7.5/(7.5+b)
	mexp = (1 - exp(-dt*(7.5+b)))
}
:UNITSON

Loading data, please wait...