Calcium and potassium currents of olfactory bulb juxtaglomerular cells (Masurkar and Chen 2011)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:140462
Inward and outward currents of the olfactory bulb juxtaglomerular cells are characterized in the experiments and modeling in these two Masurkar and Chen 2011 papers.
Reference:
1 . Masurkar AV, Chen WR (2011) Calcium currents of olfactory bulb juxtaglomerular cells: profile and multiple conductance plateau potential simulation. Neuroscience 192:231-46 [PubMed]
2 . Masurkar AV, Chen WR (2011) Potassium currents of olfactory bulb juxtaglomerular cells: characterization, simulation, and implications for plateau potential firing. Neuroscience 192:247-62 [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: Olfactory bulb;
Cell Type(s): Olfactory bulb main interneuron periglomerular GABA cell; Olfactory bulb main juxtaglomerular cell;
Channel(s): I Na,t; I L high threshold; I T low threshold; I A; I K; I h; I Calcium; I Potassium; I_KHT;
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Ion Channel Kinetics; Action Potentials; Olfaction;
Implementer(s): Masurkar, Arjun [avmasurkar at gmail.com];
Search NeuronDB for information about:  Olfactory bulb main interneuron periglomerular GABA cell; I Na,t; I L high threshold; I T low threshold; I A; I K; I h; I Calcium; I Potassium; I_KHT;
COMMENT
  ipulse2.mod
  Generates a train of current pulses
  User specifies dur (pulse duration), per (period, i.e. interval between pulse onsets),
  and number of pulses.
  Ensures that period is longer than pulse duration.
  2/6/2002 NTC
ENDCOMMENT


NEURON {
	POINT_PROCESS Ipulse2
	RANGE del, dur, per, num, amp, i
	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
	amp (nA)		: how big
}

ASSIGNED {
	ival (nA)
	i (nA)
	on
	tally			: how many more to deliver
}

INITIAL {
	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 = 0
	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
			on = 1
			: prepare to turn it off
			net_send(dur, 1)
		} else {
			: turn it off
			ival = 0
			on = 0
			if (tally > 0) {
				: prepare to turn it on again
				net_send(per - dur, 1)
				tally = tally - 1
			}
		}
	}
}