Distinct current modules shape cellular dynamics in model neurons (Alturki et al 2016)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:223649
" ... We hypothesized that currents are grouped into distinct modules that shape specific neuronal characteristics or signatures, such as resting potential, sub-threshold oscillations, and spiking waveforms, for several classes of neurons. For such a grouping to occur, the currents within one module should have minimal functional interference with currents belonging to other modules. This condition is satisfied if the gating functions of currents in the same module are grouped together on the voltage axis; in contrast, such functions are segregated along the voltage axis for currents belonging to different modules. We tested this hypothesis using four published example case models and found it to be valid for these classes of neurons. ..."
Reference:
1 . Alturki A, Feng F, Nair A, Guntu V, Nair SS (2016) Distinct current modules shape cellular dynamics in model neurons. Neuroscience 334:309-331 [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: Hippocampus; Amygdala;
Cell Type(s): Abstract single compartment conductance based cell;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Simplified Models; Activity Patterns; Oscillations; Methods; Olfaction;
Implementer(s):
/
AlturkiEtAl2016
4_LA
Segregated
cadyn.mod *
capool.mod *
currentclamp.mod *
h.mod *
im.mod *
kaprox.mod *
kdrca1.mod *
kdrca1DA.mod *
leak.mod *
leakDA.mod *
na3.mod *
na3DA.mod *
nap.mod *
nat.mod *
sahp.mod *
sahpNE.mod *
graphics_lib.hoc *
main.hoc
main_HTO.hoc
main_LTO.hoc
onecompartment_template_with_osc.hoc
                            
:  iC   fast Ca2+/V-dependent K+ channel

NEURON {
	SUFFIX sAHPNE
	USEION k READ ek WRITE ik
	USEION cas READ casi VALENCE 2 
        RANGE ik, gk, gsAHPbar
}

UNITS {
        (mM) = (milli/liter)
	(mA) = (milliamp)
	(mV) = (millivolt)
}

PARAMETER {
	tone_period = 4000  
	NE_period = 500
	NE_start = 64000 : 36000		   : NE beta-R(Low Affinity) Norepinephrine Effect after 1 conditioning trials (9*4000 = 36000)
	NE_stop = 96000
	NE_t1 = 0.9 : 0.9           : Amount(%) of NE effect
	NE_ext1 = 196000
	NE_ext2 = 212000	
	
	NE_period2 = 100
	NE_start2 = 36000		   : NE beta-R(Low Affinity) Norepinephrine Effect after 0 conditioning trials (8*4000 = 32000)
	NE_t2 = 0.7           : Amount(%) of NE effect	
	
	gsAHPbar= 2.318144e-05 : 0.0001	(mho/cm2) : 
}

ASSIGNED {
	v (mV)
	ek (mV)
	casi (mM)
	ik (mA/cm2)
	cinf 
	ctau (ms)
	gk (mho/cm2)
}

STATE {
	c
}

BREAKPOINT {
	SOLVE states METHOD cnexp
	gk = gsAHPbar*c       
	ik = gk*(v-ek)*NE1(t)*NE2(t)
}

INITIAL {
	rate(v,casi)
	c = cinf
}

DERIVATIVE states {
        rate(v,casi)
	c' = (cinf-c)/ctau
}

UNITSOFF


FUNCTION calf(v (mV), casi (mM)) (/ms) { LOCAL vs, va
	UNITSOFF
	vs=10*log10(1000*casi)
	calf = 0.0048/exp(-0.5*(vs-35))
	UNITSON
}

FUNCTION cbet(v (mV), casi (mM))(/ms) { LOCAL vs, vb 
	UNITSOFF
	  vs=10*log10(1000*casi)
	  cbet = 0.012/exp(0.2*(vs+100))
	UNITSON
}

UNITSON

PROCEDURE rate(v (mV), casi (mM)) {LOCAL  csum, ca, cb
	UNITSOFF
	ca=calf(v, casi) 
	cb=cbet(v, casi)		
	csum = ca+cb
    if (v < -65 ) {              :::::::::::::::::::::::::::  67.5
	cinf = 0
	} else{
	cinf = ca/csum
	}
	ctau = 48
	UNITSON
}

FUNCTION NE1(t) {
	    if (t >= NE_start && t <= NE_stop){ 									: During conditioning
			if ((t/tone_period-floor(t/tone_period)) >= (1-NE_period/tone_period)) {NE1 = NE_t1}
			else if ((t/tone_period-floor(t/tone_period)) == 0) {NE1 = NE_t1}
			else {NE1 = 1}}
		else if (t >= NE_ext1 && t <= NE_ext2){								    : During 4trials of Extinction
			if ((t/tone_period-floor(t/tone_period)) >= (1-NE_period/tone_period)) {NE1 = NE_t1}
			else if ((t/tone_period-floor(t/tone_period)) == 0) {NE1 = NE_t1}
			else {NE1 = 1}}		
		else  {NE1 = 1}
	}
FUNCTION NE2(t) {
	    if (t >= NE_start2 && t <= NE_stop){
			if((t/tone_period-floor(t/tone_period)) >= (1-NE_period2/tone_period)) {NE2 = NE_t2}
			else if ((t/tone_period-floor(t/tone_period)) == 0) {NE2 = NE_t2}
			else  {NE2 = 1}}
		else  {NE2 = 1}
	}