Hi,
I am new to the forum. I am working on building a mechanism which implements Na depletion/accumulation in Intracellular/Extracellular space and is also able to implement diffusion of Na from extracellular space to a fixed volume sink.
I went through the nacum.mod file provided in the nrn71\examples\nrniv\nmodl directory which does the same thing but i guess the bath that is modeled in the example is infinite. I want to conserve the Na within the intracellular space,extracellular space and the sink(/bath). I'll be grateful if someone can help me out in doing this?
thanks in advance
Understanding Na Dynamics
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Understanding Na Dynamics
Well, you're on the right track, but that particular mod file contains multiple examples of deprecated code (deprecated code may still work, but shouldn't be used in new program development). You're better off patterning your code after the example in this thread:
intracellular K depletion and extracellular K accumulation
viewtopic.php?f=16&t=1938
changing the names of parameters and variables, and the values of parameters, wherever necessary. And, as always, test the result to make sure that it works properly. Reasonable tests would include verifying that:
--at equilibrium, all compartments have the same concentration
--initialization of concentration in any of the compartments to a nonequilibrium value produces a simulation in which all concentrations adjust appropriately
--an action potential produces appropriate concentration changes (estimate the amount of Na that has entered the cell, and make sure that the intra- and extracellular concentrations change appropriately)
intracellular K depletion and extracellular K accumulation
viewtopic.php?f=16&t=1938
changing the names of parameters and variables, and the values of parameters, wherever necessary. And, as always, test the result to make sure that it works properly. Reasonable tests would include verifying that:
--at equilibrium, all compartments have the same concentration
--initialization of concentration in any of the compartments to a nonequilibrium value produces a simulation in which all concentrations adjust appropriately
--an action potential produces appropriate concentration changes (estimate the amount of Na that has entered the cell, and make sure that the intra- and extracellular concentrations change appropriately)
Re: Understanding Na Dynamics
Hi Ted,
Thanks for the reply. I have a few more questions please
First,
when you say
Am I right in understanding, that to check the above , I should allow a simulation to run for some time without injecting any action potential or synaptic inputs into the cell and after some time I should expect the concentrations in all sections to become equal.
Second,
If my above understanding is correct then there would be some automatic spiking and a flow of Na across the cell membrane even when there is no action potential. But what I desire is that Na should flow across the membrane only when there is an action potential injected by me and other than that the Na conc in the various compartments should remain at their initialized values.How can i do that ?
Thanks for the reply. I have a few more questions please
First,
when you say
Code: Select all
--at equilibrium, all compartments have the same concentration
--initialization of concentration in any of the compartments to a nonequilibrium value produces a simulation in which all concentrations adjust appropriately
Second,
If my above understanding is correct then there would be some automatic spiking and a flow of Na across the cell membrane even when there is no action potential. But what I desire is that Na should flow across the membrane only when there is an action potential injected by me and other than that the Na conc in the various compartments should remain at their initialized values.How can i do that ?
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Understanding Na Dynamics
My mistake. I meant to say that the concentrations in the two extracellular compartments will become equal. Intracellular and extracellular concentrations nai and nao will eventually become equal only if membrane potential is 0.namisha wrote:when you sayAm I right in understanding, that to check the above , I should allow a simulation to run for some time without injecting any action potential or synaptic inputs into the cell and after some time I should expect the concentrations in all sections to become equal.Code: Select all
--at equilibrium, all compartments have the same concentration --initialization of concentration in any of the compartments to a nonequilibrium value produces a simulation in which all concentrations adjust appropriately
No, there won't be "automatic spiking", and yes, if the membrane of your model cell has nonzero sodium conductance, and v-ena < 0, then there will be an influx of Na, and nai and nao will change. This will occur with the accumulation mechanism you were originally looking at, and with the mechanism that I suggested you construct by modifying kacc.If my above understanding is correct then there would be some automatic spiking and a flow of Na across the cell membrane even when there is no action potential.
If the membrane of your model cell has nonzero sodium conductance, sodium current will flow through that conductance unless v = ena. This will affect nao and nai, unless you do one of two things:But what I desire is that Na should flow across the membrane only when there is an action potential injected by me and other than that the Na conc in the various compartments should remain at their initialized values.How can i do that ?
(1) don't include a sodium accumulation mechanism in your model
OR
(2) include a sodium accumulation mechanism, but also add a sodium pump that is "smart" enough to pump na out just fast enough to counterbalance the influx of na through sodium channels that occurs when the cell is at rest.
So you probably want to do something like (2). Here's how to proceed:
1. First, create the mod file that I discussed in my previous answer.
2. After you have that working properly, I'll show you how to add a simple pump to it, and how to set up a custom initialization that will ensure that the pump counterbalances the resting sodium flux through ionic channels.
Re: Understanding Na Dynamics
Thanks ted for the reply,
I have made a naacc.mod file (just changed the ion name and initial concentrations). This is the mod file and it is compiling correctly
However, when i tried inserting the mechanism into a simple cell and simulated it for some time, there was a change in the nai and nao values even without inserting any action potential.
Is this what you meant when you said "if the membrane of your model cell has nonzero sodium conductance, and v-ena < 0, then there will be an influx of Na, and nai and nao will change. This will occur with the accumulation mechanism you were originally looking at, and with the mechanism that I suggested you construct by modifying kacc."
Here is the hoc code that i used for the above test
Am now waiting for the pump mechanism and custom initializations that you have so kindly offered to provide.
As an aside, is it possible to insert images within the posts?
thanks a lot
I have made a naacc.mod file (just changed the ion name and initial concentrations). This is the mod file and it is compiling correctly
Code: Select all
COMMENT
Na moves between intra- and extracellular volumes
and diffuses from extracellular volume into a sink of fixed volume.
Extracellular volume is a specified fraction rho of intracellular volume.
Sink Volume is a specified fraction rhosnk of intracellular volume
ENDCOMMENT
NEURON {
SUFFIX naacc
USEION na READ ina WRITE nao,nai
RANGE rho,rhosnk,nas,taus
}
UNITS {
(mV) = (millivolt)
(mA) = (milliamp)
FARADAY = (faraday) (coulombs)
(molar) = (1/liter)
(mM) = (millimolar)
}
PARAMETER {
nai0 = 15.7 (mM) : Initial na Conc within the section
nao0 = 116 (mM) : Initial na conc in Extracellular space
nas0 = 116 (mM) : Initial na conc in Sink
rhosnk = 1 (1) : Ratio of Sink Volume to section volume
rho = 0.2 (1) : Ratio of ECS volume to section volume
taus = 50 (ms) : tau for diffusion from ECS to Sink
}
ASSIGNED {
ina (mA/cm2)
diam (micron)
nax (mM)
nai (mM)
}
INITIAL {
nai = nai0
nao = nao0
nas = nas0
nax = nai + nao*rho + nas*rhosnk
}
STATE {
nao (mM)
nas (mM)
}
BREAKPOINT {
SOLVE state METHOD cnexp
}
DERIVATIVE state {
nao'=(1e4)*4*ina/(rho*diam*FARADAY)+(nas-nao)/taus
nas'= (nao-nas)/taus
nai= nax-nao*rho-nas*rhosnk
}
Is this what you meant when you said "if the membrane of your model cell has nonzero sodium conductance, and v-ena < 0, then there will be an influx of Na, and nai and nao will change. This will occur with the accumulation mechanism you were originally looking at, and with the mechanism that I suggested you construct by modifying kacc."
Here is the hoc code that i used for the above test
Code: Select all
load_file("nrngui.hoc")
objref stim,shape,naplot,voltplot
create soma
access soma
soma nseg = 1
soma diam = 18.8
soma L = 18.8
soma Ra = 123.0
soma insert hh
soma insert naacc
/*
objectvar stim
soma stim = new IClamp(0.5)
stim.del = 100
stim.dur = 100
stim.amp = 0.1
*/
tstop = 3000
steps_per_ms = 10
dt = 0.1
// SODIUM GRAPH
naplot=new Graph()
naplot.size(0,tstop,-0.0001,55)
naplot.xaxis() naplot.yaxis()
naplot.addvar("soma.nai(0.5)",2,0)
naplot.addvar("soma.nao(0.5)",3,0)
naplot.save_name("graphList.")
graphList.append(naplot)
// VOLTAGE GRAPH
voltplot=new Graph()
voltplot.size(0,tstop,-90,50)
voltplot.xaxis() voltplot.yaxis()
voltplot.addvar("soma.v(0.5)",1,0)
voltplot.addvar("soma.ena(0.5)",2,0)
voltplot.addvar("soma.ek(0.5)",3,0)
voltplot.save_name("graphList.")
graphList.append(voltplot)
nrncontrolmenu()
run()
As an aside, is it possible to insert images within the posts?
thanks a lot
Re: Understanding Na Dynamics
Hi Ted,
May I request you to please look at my previous post and help me out with the Na pump that you had suggested.
thanks in advance
May I request you to please look at my previous post and help me out with the Na pump that you had suggested.
thanks in advance
Re: Understanding Na Dynamics
Hi namisha, I have your similar problems.
How did you resolve the problem to connect the na-k pump to internal sodium concentration change?
thanks
How did you resolve the problem to connect the na-k pump to internal sodium concentration change?
thanks
-
- Site Admin
- Posts: 6384
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Understanding Na Dynamics
ModelDB contains several models implemented for NEURON that include a sodium pump and/or a sodium-calcium exchange mechanism. The following examples are drawn from the first half of hits generated by using ModelDB's Search to look for the wordsmenica wrote:How did you resolve the problem to connect the na-k pump to internal sodium concentration change?
sodium pump
nacum.mod and nacaex.mod in https://senselab.med.yale.edu/modeldb/s ... model=3800
nadifl.mod and pump.mod in https://senselab.med.yale.edu/modeldb/S ... model=6763
nabalan.mod and pump.mod in https://senselab.med.yale.edu/modeldb/S ... odel=84612
nakpump.mod in https://senselab.med.yale.edu/modeldb/S ... del=113446
nakpump.mod in https://senselab.med.yale.edu/modeldb/S ... del=120692
Nakpump.mod in https://senselab.med.yale.edu/modeldb/S ... del=121253
Na_conc.mod in http://senselab.med.yale.edu/modeldb/sh ... del=127021
nkpump.mod in https://senselab.med.yale.edu/modeldb/S ... del=139418
As always, read the original paper, examine the code, and run tests to be sure that it does what you want it to.