Cardiac Atrial Cell (Courtemanche et al 1998)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:3800
Marc Courtemanche, Rafael J. Ramirez, and Stanley Nattel. Ionic mechanisms underlying human atrial action potential properties insights from a mathematical model Am J Physiol Heart Circ Physiol 1998 275: H301-H321. The implementation of this model in NEURON was contributed by Ingemar Jacobson.
Reference:
1 . Courtemanche M, Ramirez RJ, Nattel S (1998) Ionic mechanisms underlying human atrial action potential properties: insights from a mathematical model. Am J Physiol 275:H301-21 [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:
Cell Type(s): Cardiac atrial cell; Heart cell;
Channel(s): I Na,t; I L high threshold; I K; I Sodium; I Calcium; I Potassium; Na/Ca exchanger;
Gap Junctions:
Receptor(s):
Gene(s): Kv4.3 KCND3; Kv1.5 KCNA5; HERG KCNH2;
Transmitter(s):
Simulation Environment: NEURON;
Model Concept(s): Ion Channel Kinetics; Action Potentials; Heart disease; Calcium dynamics;
Implementer(s): Jacobson, Ingemar [Ingemar.Jacobson at astrazeneca.com];
Search NeuronDB for information about:  I Na,t; I L high threshold; I K; I Sodium; I Calcium; I Potassium; Na/Ca exchanger;
COMMENT
Since this is an electrode current, positive values of i depolarize the cell
and in the presence of the extracellular mechanism there will be a change
in vext since i is not a transmembrane current but a current injected
directly to the inside of the cell.

n pulses of amp and dur starting at del with interval del1 between them.
ENDCOMMENT

NEURON {
	POINT_PROCESS NIClamp
	RANGE del, dur, amp, del1, n, i
	ELECTRODE_CURRENT i
}
UNITS {
	(nA) = (nanoamp)
}

PARAMETER {
	del = 1(ms)	<0,1e9>
	dur = .1(ms)	<0,1e9>
	amp (nA)
	del1 = 2(ms)	<1e-9,1e9> :time between pulses (off to on)
	n = 3		<0,1e9> : number of pulses
}
ASSIGNED { i (nA) tev (ms) cnt on a(nA)}

INITIAL {
	i = 0
	cnt = 0
	tev = del
	on = 0
	state()
}

BREAKPOINT {
	SOLVE state METHOD cvode_t
	i = a
}

PROCEDURE state() {
	if (cnt < n) {
		if (at_time(tev)) {
			if (on == 0) { : turn on
				a = amp
				on = 1
printf("cnt=%g a=%g t=%g t-tev=%g\n", cnt+1, a, t, t-tev)
				tev = tev + dur
				at_time(tev) : notify system of the new value of tev 
			}else{ : turn off
				a = 0
				on = 0
printf("cnt=%g a=%g t=%g t-tev=%g\n", cnt+1, a, t, t-tev)
				tev = tev + del1
                                at_time(tev) : notify system of the new value of tev 
                                cnt = cnt + 1
			}
		}
	}
}

Loading data, please wait...