How can I add some new currents to the mechanisms file ?
Posted: Wed Dec 12, 2007 12:01 pm
There is a simulation to add Na-K pump currents and other currents to the presynaptic HH model. This project concerned a synapse simulation.When we add ica current to the model,every thing is OK. When we add ikp current to the model, checking units is OK,and make dll is OK too(in windows ),and the simulation can running normally,but I cann't observate some postsynaptic current curve changing after I add the new current(icp) to the model even I gave the icp very large. So, what happened behind the MOD file , Whether I need to change some other place in the relative files ?( I modified the MOD file only .I used the calyx of held model as base- [B. Graham,19/11/02])
The code list:
----------------------------------------------------------------------------------------
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(mM) = (millimole)
}
NEURON {
SUFFIX BKDNaDR
USEION na READ ena WRITE ina
USEION k READ ek WRITE ik
USEION ca READ eca WRITE ica
NONSPECIFIC_CURRENT ikp
NONSPECIFIC_CURRENT il
RANGE gnabar, gkbar,gcabar, gl, el, ina, ik, il,ica,ikp,Ksp
GLOBAL mss, hss, nss,mcss, mexp, hexp, nexp,mcexp
}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER {
v (mV)
dt (ms)
gnabar = 0.08 (mho/cm2)
ena = 33.5 (mV)
gkbar = 0.01 (mho/cm2)
ek = -80 (mV)
gcabar=1000(mho/cm2)
eca=126.3(mV)
gl = 0.00001 (mho/cm2)
el = -48 (mV)
a=10002.34 (mA/cm2)
b1=1 (mM)
}
STATE {
m h n mc
}
ASSIGNED {
ina (mA/cm2)
ik (mA/cm2)
il (mA/cm2)
ica (mA/cm2)
ikp (mA/cm2)
Ksp (mM)
mss hss nss mcss mexp hexp nexp mcexp
}
BREAKPOINT {
SOLVE states
ina = gnabar*m*m*h*(v - ena)
ik = gkbar*n*n*(v - ek)
il = gl*(v - el)
ica = gcabar*mc*h*(v - eca)
ikp = a/((1+b1/Ksp)*(1+b1/Ksp))
}
UNITSOFF
INITIAL {
rates(v)
m = mss
h = hss
n = nss
mc = mcss
Ksp = 5.6
}
PROCEDURE states() { :Computes state variables m, h, and n
rates(v) : at the current v and dt.
m = m + mexp*(mss-m)
h = h + hexp*(hss-h)
n = n + nexp*(nss-n)
mc = mc + mcexp*(mcss-mc)
Ksp = Ksp + ((-ikp-ik)/96.485-100*(Ksp-5.6))*dt/14.5
}
PROCEDURE rates(v) { :Computes rate and other constants at current v.
:Call once from HOC to initialize ss at resting v.
TABLE mss, mexp, hss, hexp, nss, nexp DEPEND dt FROM -100 TO 100 WITH 200
:"m" sodium activation system
mss = 1/(1+exp(-(v+40)/3))
mexp = 1 - exp(-dt/0.05)
:"h" sodium inactivation system
hss = 1/(1+exp((v+45)/3))
hexp = 1 - exp(-dt/0.5)
:"n" potassium activation system
nss = 1/(1+exp(-(v+40)/3))
nexp = 1 - exp(-dt/2)
:"mc" calcium activation system
mcss = 1/(1+exp(-(v+20)/3))
mcexp = 1 - exp(-dt/0.05)
}
UNITSON
----------------------------------------------------------------------------------------
coh.spike[k*sn+j]=stimdel+k*iei+sisi*j // presynaptic stimulus spike times
//Here is the spike function calling,but I don't find the function definition.So //I wonder what place should I modify to solve the mismatch between //the modified presynaptic HH equation and the unchanged postsynaptic //current (epsc) effection?
----------------------------------------------------------------------------------------
Thanks anybody for the help.
A gay named calf
dec 13 .2007
The code list:
----------------------------------------------------------------------------------------
UNITS {
(mA) = (milliamp)
(mV) = (millivolt)
(mM) = (millimole)
}
NEURON {
SUFFIX BKDNaDR
USEION na READ ena WRITE ina
USEION k READ ek WRITE ik
USEION ca READ eca WRITE ica
NONSPECIFIC_CURRENT ikp
NONSPECIFIC_CURRENT il
RANGE gnabar, gkbar,gcabar, gl, el, ina, ik, il,ica,ikp,Ksp
GLOBAL mss, hss, nss,mcss, mexp, hexp, nexp,mcexp
}
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
PARAMETER {
v (mV)
dt (ms)
gnabar = 0.08 (mho/cm2)
ena = 33.5 (mV)
gkbar = 0.01 (mho/cm2)
ek = -80 (mV)
gcabar=1000(mho/cm2)
eca=126.3(mV)
gl = 0.00001 (mho/cm2)
el = -48 (mV)
a=10002.34 (mA/cm2)
b1=1 (mM)
}
STATE {
m h n mc
}
ASSIGNED {
ina (mA/cm2)
ik (mA/cm2)
il (mA/cm2)
ica (mA/cm2)
ikp (mA/cm2)
Ksp (mM)
mss hss nss mcss mexp hexp nexp mcexp
}
BREAKPOINT {
SOLVE states
ina = gnabar*m*m*h*(v - ena)
ik = gkbar*n*n*(v - ek)
il = gl*(v - el)
ica = gcabar*mc*h*(v - eca)
ikp = a/((1+b1/Ksp)*(1+b1/Ksp))
}
UNITSOFF
INITIAL {
rates(v)
m = mss
h = hss
n = nss
mc = mcss
Ksp = 5.6
}
PROCEDURE states() { :Computes state variables m, h, and n
rates(v) : at the current v and dt.
m = m + mexp*(mss-m)
h = h + hexp*(hss-h)
n = n + nexp*(nss-n)
mc = mc + mcexp*(mcss-mc)
Ksp = Ksp + ((-ikp-ik)/96.485-100*(Ksp-5.6))*dt/14.5
}
PROCEDURE rates(v) { :Computes rate and other constants at current v.
:Call once from HOC to initialize ss at resting v.
TABLE mss, mexp, hss, hexp, nss, nexp DEPEND dt FROM -100 TO 100 WITH 200
:"m" sodium activation system
mss = 1/(1+exp(-(v+40)/3))
mexp = 1 - exp(-dt/0.05)
:"h" sodium inactivation system
hss = 1/(1+exp((v+45)/3))
hexp = 1 - exp(-dt/0.5)
:"n" potassium activation system
nss = 1/(1+exp(-(v+40)/3))
nexp = 1 - exp(-dt/2)
:"mc" calcium activation system
mcss = 1/(1+exp(-(v+20)/3))
mcexp = 1 - exp(-dt/0.05)
}
UNITSON
----------------------------------------------------------------------------------------
coh.spike[k*sn+j]=stimdel+k*iei+sisi*j // presynaptic stimulus spike times
//Here is the spike function calling,but I don't find the function definition.So //I wonder what place should I modify to solve the mismatch between //the modified presynaptic HH equation and the unchanged postsynaptic //current (epsc) effection?
----------------------------------------------------------------------------------------
Thanks anybody for the help.
A gay named calf
dec 13 .2007