objref curgraph,q,r
create dummy_neuron
dummy_neuron {
curgraph= new VBox()
curgraph.intercept(1)
xpanel("")
if (currentnr==1){
insert HH
xlabel("ina_HH = fast Hodgkin-Huxley type Na+ current")
xlabel("-> responsible for action potential generation")
}
if (currentnr==2){
insert HH
xlabel("ik_HH = fast Hodgkin-Huxley type K+ current")
xlabel("-> involved in repolarization of action potential")
}
if (currentnr==3){
insert iA
xlabel("iA = transient K+ current")
xlabel("-> acts to slow rate of spike generation")
}
if (currentnr==4){
insert iAHP
xlabel("iAHP = slow, Ca2+ activated K+ current")
xlabel("-> calcium dependent, voltage independent")
xlabel("-> hyperpolarizes the cell after a spike train")
xlabel("-> slows down rate of action potential generation")
}
if (currentnr==5){
insert iC
xlabel("iC = Ca2+ activated K+ current")
xlabel("-> calcium and voltage dependent")
xlabel("-> involved in repolarization of action potential")
}
if (currentnr==6){
insert iM
xlabel("iM = slowly activating K+ current")
xlabel("-> blocks repetitive firing")
}
if (currentnr==7){
insert iL
xlabel("iL = high threshold Ca2+ current")
xlabel("-> allows calcium entry during action potential")
}
if (currentnr==8){
insert iT
xlabel("iT = transient low threshold Ca2+ current")
xlabel("-> generates a burst of action potentials")
}
if (currentnr==9){
insert HH2
xlabel("ina_HH2 = fast Hodgkin-Huxley type Na+ current")
xlabel("-> responsible for action potential generation")
}
if (currentnr==10){
insert HH2
xlabel("ik_HH2 = fast Hodgkin-Huxley type K+ current")
xlabel("-> involved in repolarization of action potential")
}
if (currentnr==11){
insert iAHP2
xlabel("iAHP2 = slow, Ca2+ activated K+ current")
xlabel("-> calcium dependent, voltage independent")
xlabel("-> hyperpolarizes the cell after a spike train")
xlabel("-> slows down rate of action potential generation")
}
if (currentnr==12){
insert iT2
xlabel("iT2 = transient low threshold Ca2+ current")
xlabel("-> generates a burst of action potentials")
}
if (currentnr==13){
insert iCAN
xlabel("iCAN = slow, Ca2+ dependent kation current")
xlabel("-> non specific for cations Na+, K+, Ca2+, ...")
xlabel("-> calcium dependent, voltage independent")
}
if (currentnr==14){
insert iH
xlabel("iH = hyperpolarization-activated kation current")
xlabel("-> mixed Na+/K+ current")
xlabel("-> calcium dependent, voltage dependent")
}
if (ismembrane("ca_ion")) xvalue("cai","dummy_neuron.cai", 1,"", 0, 0 )
xvalue("Init V","v_init", 1, "stdinit()", 1, 1)
xvalue("celsius","celsius", 1,"", 0, 1 )
xmenu("Abscissa")
xbutton(" Voltage","dummy_neuron {plot_expression(q,1) plot_expression(r,1)}")
if (ismembrane("ca_ion")) {
xbutton(" Internal [Ca2+]","dummy_neuron {plot_expression(q,2) plot_expression(r,2)}")
}
xmenu()
xpanel()
q= new Graph()
r= new Graph()
curgraph.intercept(0)
if (currentnr==1){ // fast Na+ current
q.addvar("m_inf_HH(.5)", 2, 0)
q.addvar("h_inf_HH(.5)", 3, 0)
r.addvar("tau_m_HH(.5)", 2, 0)
r.addvar("tau_h_HH(.5)", 3, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-.75,15.75)
}
if (currentnr==2){ // fast K+ current
q.addvar("n_inf_HH(.5)", 2, 0)
r.addvar("tau_n_HH(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-.3,6.3)
}
if (currentnr==3){ // A-current
q.addvar("m_inf1_iA(.5)", 2, 0)
q.addvar("h_inf_iA(.5)", 3, 0)
r.addvar("tau_m_iA(.5)", 2, 0)
r.addvar("tau_h1_iA(.5)", 3, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-1,21)
}
if (currentnr==4){ // AHP-current
q.addvar("m_inf_iAHP(.5)", 2, 0)
r.addvar("tau_m_iAHP(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-15,315)
}
if (currentnr==5){ // C-current
q.addvar("m_inf_iC(.5)", 2, 0)
r.addvar("tau_m_iC(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-1,21)
}
if (currentnr==6){ // M-current
q.addvar("m_inf_iM(.5)", 2, 0)
r.addvar("tau_m_iM(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-2.5,52.5)
}
if (currentnr==7){ // L-current
q.addvar("m_inf_iL(.5)", 2, 0)
r.addvar("tau_m_iL(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-.05,1.05)
}
if (currentnr==8){ // T-current
q.addvar("m_inf_iT(.5)", 2, 0)
q.addvar("h_inf_iT(.5)", 3, 0)
r.addvar("tau_m_iT(.5)", 2, 0)
r.addvar("tau_h_iT(.5)", 3, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-5,105)
}
if (currentnr==9){ // fast Na+ current HH2
q.addvar("m_inf_HH2(.5)", 2, 0)
q.addvar("h_inf_HH2(.5)", 3, 0)
r.addvar("tau_m_HH2(.5)", 2, 0)
r.addvar("tau_h_HH2(.5)", 3, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-.75,15.75)
}
if (currentnr==10){ // fast K+ current HH2
q.addvar("n_inf_HH2(.5)", 2, 0)
r.addvar("tau_n_HH2(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-.3,6.3)
}
if (currentnr==11){ // AHP2-current
q.addvar("m_inf_iAHP2(.5)", 2, 0)
r.addvar("tau_m_iAHP2(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-15,315)
}
if (currentnr==12){ // T2-current
q.addvar("m_inf_iT2(.5)", 2, 0)
q.addvar("h_inf_iT2(.5)", 3, 0)
r.addvar("tau_m_iT2(.5)", 2, 0)
r.addvar("tau_h_iT2(.5)", 3, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-5,105)
}
if (currentnr==13){ // iCAN-current
q.addvar("m_inf_iCAN(.5)", 2, 0)
r.addvar("tau_m_iCAN(.5)", 2, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-10,210)
}
if (currentnr==14){ // iH-current
q.addexpr("s1_iH(.5)", 2, 0)
q.addexpr("s2_iH(.5)", 3, 0)
r.addvar("tau_s_iH(.5)", 2, 0)
r.addvar("tau_f_iH(.5)", 3, 0)
r.addvar("tau_c_iH(.5)", 4, 0)
q.size(-100,50,-.05,1.05)
r.size(-100,50,-150,3150)
}
if (currentnr==4 || currentnr==11 || currentnr==13) {
plot_expression(q,2)
plot_expression(r,2)
} else {
plot_expression(q,1)
plot_expression(r,1)
}
curgraph.map("Asympotic gate values and Time constants")
}
curgraph.dismiss_action("create dummy_neuron")