State and location dependence of action potential metabolic cost (Hallermann et al., 2012)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:144526
With this model of a layer 5 pyramidal neuron the state and location dependence of the ATP usage and the metabolic efficiency of action potentials can be analyzed. Model parameters were constrained by direct subcellular recordings at dendritic, somatic and axonal compartments.
Reference:
1 . Hallermann S, de Kock CP, Stuart GJ, Kole MH (2012) State and location dependence of action potential metabolic cost in cortical pyramidal neurons Nat Neurosci. 15(7):1007-14 [PubMed]
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: Neocortex;
Cell Type(s): Neocortex V1 L6 pyramidal corticothalamic cell;
Channel(s): I Na,t; I K;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Action Potential Initiation; Action Potentials;
Implementer(s): Hallermann, Stefan [hallermann at medizin.uni-leipzig.de]; Kole, Maarten [m.kole at nin.knaw.nl];
Search NeuronDB for information about:  Neocortex V1 L6 pyramidal corticothalamic cell; I Na,t; I K;
/
HallermannEtAl2012
readme.txt *
Cad.mod *
CaH.mod *
CaT.mod *
charge.mod *
h.mod *
Kca.mod *
Kv.mod *
Kv1_axonal.mod *
Kv7.mod *
na8st.mod
nax8st.mod
28_04_10_num19.hoc *
all_28_04_10_num19.ses *
Cell parameters.hoc
charge.hoc *
mosinit.hoc *
                            
TITLE calculates Na+/K+ charge overlap and excess Na+ influx 

COMMENT
	Hallermann, de Kock, Stuart and Kole, Nature Neuroscience, 2012
	doi:10.1038/nn.3132
ENDCOMMENT


NEURON {
        SUFFIX charge_     : changed "charge" to "charge_" because of conflicts with NEURON's "charge"
	USEION na READ ina
	USEION k READ ik
        RANGE vmax, vmin, tmax, tmin
        RANGE na_ch, na_ch_overl, overl
	RANGE na_ch_before_peak
	RANGE na_ch_after_peak
	RANGE na_ch_excess_ratio
        RANGE peak_reached
        RANGE peak_time
}

PARAMETER {
	tStart (ms)
	tEnd (ms)
	peak_tolerance (mV)
	peak_lowest (mV)
}


ASSIGNED {
        v (millivolt)
        vmin (millivolt)
        tmin (ms)
        vmax (millivolt)
        tmax (ms)
        na_ch (milliamp/cm2)
        na_ch_overl (milliamp/cm2)
        na_ch_overl_tmp (milliamp/cm2)
	overl

	na_ch_excess_ratio
	na_ch_before_peak
	na_ch_after_peak
        peak_reached
        peak_time
	
	ina  (milliamp/cm2)
	ik  (milliamp/cm2)
}


INITIAL {
        vmin = 1e6
        tmin = 0
        vmax = -1e6
	tmax = 0
        peak_reached = 0
        peak_time = 0
	na_ch = 0
	na_ch_before_peak = 0
	na_ch_after_peak = 0
	na_ch_excess_ratio = 0
	na_ch_overl = 0
	overl = 0
:	tStart = 500
:	tEnd = 1000	
:	peak_tolerance = 0.1	(millivolt)
:	peak_lowest = -60	(millivolt)
}


BREAKPOINT {
VERBATIM
      if (t > tStart) {
		if (t < tEnd) {
			if (v < vmin) {
        		        vmin = v;
                		tmin = t;
		        }
		        if (v > vmax) {
        		        vmax = v;
	                	tmax = t;
		        }
 			na_ch = na_ch + ina;
			na_ch_overl_tmp = ina;				
			if (-ik > ina) {
                		na_ch_overl_tmp = -ik;
		        }
			na_ch_overl = na_ch_overl + na_ch_overl_tmp;
			if (na_ch !=  0) {	//na_ch is negative
                		overl = (na_ch - na_ch_overl) / na_ch;
			}
			if ( (v < vmax - peak_tolerance) && (v > peak_lowest) && (peak_reached == 0) ) {
				peak_reached = 1;
				peak_time = t;
			}
			if (peak_reached == 0) {
				na_ch_before_peak = na_ch_before_peak + ina;			
			} else {
				na_ch_after_peak = na_ch_after_peak + ina;
			}
			if (na_ch_before_peak != 0) {
				na_ch_excess_ratio = (na_ch_before_peak + na_ch_after_peak) / na_ch_before_peak;
			}
		}
	}
ENDVERBATIM
}


Loading data, please wait...