Hodgkin-Huxley model of persistent activity in prefrontal cortex neurons (Winograd et al. 2008)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:113997
The paper demonstrate a form of graded persistent activity activated by hyperpolarization. This phenomenon is modeled based on a slow calcium regulation of Ih, similar to that introduced earlier for thalamic neurons (see Destexhe et al., J Neurophysiol. 1996). The only difference is that the calcium signal is here provided by the high-threshold calcium current (instead of the low-threshold calcium current in thalamic neurons).
Reference:
1 . Winograd M, Destexhe A, Sanchez-Vives MV (2008) Hyperpolarization-activated graded persistent activity in the prefrontal cortex. Proc Natl Acad Sci U S A 105:7298-303 [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; Channel/Receptor;
Brain Region(s)/Organism: Prefrontal cortex (PFC);
Cell Type(s):
Channel(s): I Na,t; I L high threshold; I K; I M; I h;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Activity Patterns; Ion Channel Kinetics;
Implementer(s): Destexhe, Alain [Destexhe at iaf.cnrs-gif.fr];
Search NeuronDB for information about:  I Na,t; I L high threshold; I K; I M; I h;
/
HAGPA
README.html
APCounter2.mod *
Cadynamics.mod *
HH2.mod *
ICaL.mod *
Ih.mod *
IKM.mod *
ipulse3.mod *
pasi.mod *
demo_HPGA_non-saturating.hoc
demo_HPGA_non-saturating_noIh.hoc
demo_HPGA_saturating.hoc
init.hoc
mosinit.hoc *
screenshot.jpg
                            
COMMENT
  ipulse3.mod
  Generates a train of current pulses of variable amplitude
  User specifies dur (pulse duration), per (period, i.e. interval 
  between pulse onsets), and num (number of pulses).
  Ensures that period is longer than pulse duration.
  2/6/2002 NTC
  Modif AD, 11-2006 -> variable amplitudes stored in a vector;
      added DC current
ENDCOMMENT

DEFINE MAXPULSES 1000		: maximum number of pulses

NEURON {
	POINT_PROCESS Ipulse3
	RANGE del, dur, per, num, amp, dc, i, pcount
	ELECTRODE_CURRENT i
}

UNITS {
	(nA) = (nanoamp)
}

PARAMETER {
	del (ms)
	dur (ms) <0, 1e9>	: duration of ON phase
	per (ms) <0, 1e9>	: period of stimuls, i.e. interval between pulse onsets
	num			: how many to deliver
	dc (nA)			: DC current
}

ASSIGNED {
	amp[MAXPULSES]		: vector for amplitudes
	ival (nA)
	i (nA)
	on
	tally			: how many more to deliver
	pcount			: pulse counter
}

INITIAL {
	pcount = 0
	if (dur >= per) {
		per = dur + 1 (ms)
		printf("per must be longer than dur\n")
UNITSOFF
		printf("per has been increased to %g ms\n", per)
UNITSON
	}
	i = 0
	ival = dc
	tally = num
	if (tally > 0) {
		net_send(del, 1)
		on = 0
		tally = tally - 1
	}
}

BREAKPOINT {
	i = ival
}

NET_RECEIVE (w) {
	: ignore any but self-events with flag == 1
	if (flag == 1) {
		if (on == 0) {
			: turn it on
			ival = amp[pcount]+dc
			pcount = pcount + 1
			on = 1
			: prepare to turn it off
			net_send(dur, 1)
		} else {
			: turn it off
			ival = dc
			on = 0
			if (tally > 0) {
				: prepare to turn it on again
				net_send(per - dur, 1)
				tally = tally - 1
			}
		}
	}
}