Sodium and Potassium current

 Posts: 37
 Joined: Thu Jun 07, 2018 10:57 am
Sodium and Potassium current
I am working on model of soam using three different voltage gated channels Na,K and Ca, three different leak channels and three different channels of pump for the same ion. I am trying to use theses channels to get a resting value of concentrations after injecting it with certain current u=in the middle of the soma. without using injected current, got 0.049 mA/cm2 for sodium current and 0.035 mA/cm2 at resting potential is that right value or it should be zero at resting situation. Anyone can help me please.

 Site Admin
 Posts: 5531
 Joined: Wed May 18, 2005 4:50 pm
 Location: Yale University School of Medicine
 Contact:
Re: Sodium and Potassium current
Usually models have only one "leak" current, and that one current generates a "nonspecific current" i.e. a current that is not attributed to any particular ionic species. Are your leak currents ionspecific?
The hoc variable ina reports the net sodium current that passes through the membrane of a compartment (segment)that is, the sum of all sodium currents generated by mechanisms that WRITE ina. Usually those mechanisms are ion channels, but ion exchangers or pumps that generate a transmembrane sodium flux will also WRITE ina. If there is no net flux of na across the membrane, hoc's ina should equal 0.without using injected current, got 0.049 mA/cm2 for sodium current and 0.035 mA/cm2 at resting potential is that right value or it should be zero at resting situation.
However, there is an important exception. Some pump mechanisms do not WRITE ina; instead they READ ina and WRITE nai. Those mechanisms contain a DERIVATIVE block that contains a formula that looks something like
nai' = ina * 4/(diam*FARADAY) * (1e4) + (nai0  nai)/tau
where diam is segment diameter and FARADAY is Faraday's constant.
This is the mathematical description of a sodium pump that is nonelectrogenic (generates no net charge movement across the membrane) and pumps at a rate that is proportional to the difference between nai and the parameter nai0. The important thing to note about this kind of pump is that it affects nai directlythat is, without generating a net sodium current. A model that uses such a pump can be at rest, with nai perfectly constant, but at the same time ina will be nonzero.

 Posts: 37
 Joined: Thu Jun 07, 2018 10:57 am
Re: Sodium and Potassium current
Thank you for replay. The problem is that after injecting current inside soma, it should all concentrations (Na,Kand ca) get back to them resting value, but I got the sodium concentration lower than the resting value (initial 10 mM while Igot 5mM),and for potassium concentration i got higher than the resting value (initial value 140 mM while I got 144mM). I do not know is that so because I used wrong parameters or wrong expression or may be it is correct get theses results? thank you in advance.

 Site Admin
 Posts: 5531
 Joined: Wed May 18, 2005 4:50 pm
 Location: Yale University School of Medicine
 Contact:
Re: Sodium and Potassium current
Models that include ion transport and accumulation can be difficult to stabilize. I can only suggest that you examine published models to see how their authors dealt with problems, and/or find someone at or near your academic institution who can collaborate with you on your own modeling project.

 Posts: 37
 Joined: Thu Jun 07, 2018 10:57 am
Re: Sodium and Potassium current
Than again. no one near me can help me, but can i post my code and then maybe you can guide me to get the solution?

 Posts: 37
 Joined: Thu Jun 07, 2018 10:57 am
Re: Sodium and Potassium current
Dear Ted,
I have problem with my result for potassium,so it goes down the resting value while potential and sodium go to them resting value.
this is pimp.mod
TITLE PUMP
UNITS {
(molar) = (1/liter)
(pA) = (picoamp)
(mV) = (millivolt)
(uS) = (micromho)
(mA) = (milliamp)
(mM) = (millimolar)
}
INDEPENDENT {v FROM 100 TO 50 WITH 50 (mV)}
NEURON {
SUFFIX pump
USEION na READ nai WRITE ina
USEION k READ ki WRITE ik
RANGE inapump,ipumpmax,n,km
}
PARAMETER {
dt (ms)
nai (mM)
ki (mM)
ipumpmax = 0.04(mA/cm2)
km = 10.0 (mM)
n=1.5
nainit = 4 (mM)
celsius = 35 (degC)
}
ASSIGNED {
ina (mA/cm2)
ik (mA/cm2)
inapump (mA/cm2)
}
BREAKPOINT {
inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:if(nai <= 10 ){
:inapump = 0
:}else{
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:}
if (inapump <=0) {inapump=0 }
ina = 3.0*inapump
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:if(ki >= 140 ){
:inapump = 0
:}else{
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:}
ik = 2.0*inapump
}
COMMENT
INITIAL{
nai = nainit}
ENDCOMMENT
this is kdifl.mod
COMMENT
Longitudinal diffusion of sodium (no buffering)
(equivalent modified euler with standard method and
equivalent to diagonalized linear solver with CVODE )
ENDCOMMENT
NEURON {
SUFFIX kdifl
USEION k READ ik,ki WRITE ki
RANGE D
}
UNITS {
(mM) = (milli/liter)
(um) = (micron)
FARADAY = (faraday) (coulomb)
PI = (pi) (1)
}
PARAMETER {
D = 1.96 (um2/ms)
}
ASSIGNED {
ik (milliamp/cm2)
diam (um)
}
STATE {
ki (mM)
}
BREAKPOINT {
SOLVE conc METHOD sparse
}
KINETIC conc {
COMPARTMENT PI*diam*diam/4 {ki}
LONGITUDINAL_DIFFUSION D*PI*diam*diam/4 {ki}
~ ki << (ik/(FARADAY)*PI*diam*(1e4))
}
enk.mod
COMMENT
Longitudinal diffusion of sodium (no buffering)
(equivalent modified euler with standard method and
equivalent to diagonalized linear solver with CVODE )
ENDCOMMENT
NEURON {
SUFFIX eke
USEION k READ ki,ko WRITE ek
RANGE F1
}
UNITS {
(mM) = (milli/liter)
(mV)=(millivolt)
}
PARAMETER {
F1=26.71 (mV)
}
ASSIGNED {
ki (milli/liter)
ko (milli/liter)
}
STATE {
ek (mV)
}
BREAKPOINT {
ek=F1*log(ko/ki)
}
So can you help me to solve the problem please.
I have problem with my result for potassium,so it goes down the resting value while potential and sodium go to them resting value.
this is pimp.mod
TITLE PUMP
UNITS {
(molar) = (1/liter)
(pA) = (picoamp)
(mV) = (millivolt)
(uS) = (micromho)
(mA) = (milliamp)
(mM) = (millimolar)
}
INDEPENDENT {v FROM 100 TO 50 WITH 50 (mV)}
NEURON {
SUFFIX pump
USEION na READ nai WRITE ina
USEION k READ ki WRITE ik
RANGE inapump,ipumpmax,n,km
}
PARAMETER {
dt (ms)
nai (mM)
ki (mM)
ipumpmax = 0.04(mA/cm2)
km = 10.0 (mM)
n=1.5
nainit = 4 (mM)
celsius = 35 (degC)
}
ASSIGNED {
ina (mA/cm2)
ik (mA/cm2)
inapump (mA/cm2)
}
BREAKPOINT {
inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:if(nai <= 10 ){
:inapump = 0
:}else{
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:}
if (inapump <=0) {inapump=0 }
ina = 3.0*inapump
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:if(ki >= 140 ){
:inapump = 0
:}else{
:inapump = ipumpmax*(1/(1 + pow(km/nai,n)))
:}
ik = 2.0*inapump
}
COMMENT
INITIAL{
nai = nainit}
ENDCOMMENT
this is kdifl.mod
COMMENT
Longitudinal diffusion of sodium (no buffering)
(equivalent modified euler with standard method and
equivalent to diagonalized linear solver with CVODE )
ENDCOMMENT
NEURON {
SUFFIX kdifl
USEION k READ ik,ki WRITE ki
RANGE D
}
UNITS {
(mM) = (milli/liter)
(um) = (micron)
FARADAY = (faraday) (coulomb)
PI = (pi) (1)
}
PARAMETER {
D = 1.96 (um2/ms)
}
ASSIGNED {
ik (milliamp/cm2)
diam (um)
}
STATE {
ki (mM)
}
BREAKPOINT {
SOLVE conc METHOD sparse
}
KINETIC conc {
COMPARTMENT PI*diam*diam/4 {ki}
LONGITUDINAL_DIFFUSION D*PI*diam*diam/4 {ki}
~ ki << (ik/(FARADAY)*PI*diam*(1e4))
}
enk.mod
COMMENT
Longitudinal diffusion of sodium (no buffering)
(equivalent modified euler with standard method and
equivalent to diagonalized linear solver with CVODE )
ENDCOMMENT
NEURON {
SUFFIX eke
USEION k READ ki,ko WRITE ek
RANGE F1
}
UNITS {
(mM) = (milli/liter)
(mV)=(millivolt)
}
PARAMETER {
F1=26.71 (mV)
}
ASSIGNED {
ki (milli/liter)
ko (milli/liter)
}
STATE {
ek (mV)
}
BREAKPOINT {
ek=F1*log(ko/ki)
}
So can you help me to solve the problem please.

 Posts: 37
 Joined: Thu Jun 07, 2018 10:57 am
Re: Sodium and Potassium current
Anyone here can help me please?