How can I add some new currents to the mechanisms file ?

The basics of how to develop, test, and use models.
Post Reply
calf

How can I add some new currents to the mechanisms file ?

Post by calf »

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
ted
Site Admin
Posts: 6305
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Post by ted »

I don't understand the question.
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.
icp? The mod file contains ikp, but there is no icp.
calf

The added new current is ikp(icp is another new current )

Post by calf »

I cann't observate some postsynaptic current curve changing after I add the new current(ikp) to the model even I gave the ikp very large.
ted
Site Admin
Posts: 6305
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Post by ted »

The information in the mod file is insufficient to answer your question.

Compiling the mod file generates these warnings:
Warning: Default 126.3 of PARAMETER eca will be ignored and set by NEURON.
Warning: Default -80 of PARAMETER ek will be ignored and set by NEURON.
Warning: Default 33.5 of PARAMETER ena will be ignored and set by NEURON.

So I assume that you have some other mod files or hoc code that specifies the values
of eca, ek, and ena that you want.

Putting this mechanism all by itself in a single compartment produces a model that
spontaneously generates a giant depolarization that lasts about 1.5 ms, after which
v falls into a persistent, fast, low amplitude oscillation with an average level of about
-30 to -40 mV. To make it stop I have to inject a steady hyperpolarizing current that is
huge (-2e5 nA, ii.e. 0.2 milliamperes!); this forces v to about -74.5 mV. A 0.05 mA x 0.1 ms
depolarizing pulse injected on top of the big hyperpolarizing current elicits a brief,
nonregnerative depolarization to ~ -24 mV, after which v falls to -107 mV and then
gradually recovers to -74.45 mV over the course of about 3 ms.
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?
What "spike function" are you referring to? There isn't one in this mod file.
Post Reply