What are the units for ina, ik in hh?

The basics of how to develop, test, and use models.
Post Reply
cobaltplusone
Posts: 1
Joined: Sat Dec 19, 2020 1:28 pm

What are the units for ina, ik in hh?

Post by cobaltplusone »

Total beginner here, sorry if this question is really basic. Here is some simple code I wrote to familiarize myself with Neuron.

Code: Select all

create axon
access axon

axon nseg = 1
axon diam = 18.8
axon L = 18.8
axon Ra = 123.0

axon insert hh

objectvar stim
axon stim = new SEClamp(0.5)

stim.dur1 = 10
stim.amp1 = -64.9737
stim.dur2 = 90
stim.amp2 = 90
stim.dur3 = 0
stim.amp3 = 0

tstop=100
run()
My question is: what are the units of axon.ina and axon.ik? Is it nA or is it a current density -- mA/cm^2 or some such? Thank you.
ted
Site Admin
Posts: 5819
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: What are the units for ina, ik in hh?

Post by ted »

Good question. axon.ina and axon.ik are "shorthand" for the transmembrane sodium and potassium currents in the segment that contains the 0.5 location of axon. As such, they are in units of current/area, specifically mA/cm2.

Now something that you probably don't know: even though the hh mechanism WRITEs ina and ik, it has no python-accessible ina or ik variable, as this code demonstrates:

>>> axon = h.Section(name='axon')
>>> axon.insert('hh')
axon
>>> h.finitialize(-65) ## so currents are appropriate for resting potential
1.0
>>> axon(0.5).hh.ina
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'nrn.Mechanism' object has no attribute 'ina'
>>> axon(0.5).hh.ik
Traceback (most recent call last):
File "<stdin>", line 1, in <module>

Yet it does have a python-accessible variable that corresponds to the HH mechanism's leak current!

>>> axon(0.5).hh.il
-0.0032100000000000006

Why?

The NEURON block in hh.mod (the file that defines the properties of hh) declares

USEION na READ ena WRITE ina
USEION k READ ek WRITE ik

but does not declare either of these variables to be RANGE. Consequently, even though hh calculates and assigns values to variables called ina and ik, and these values affect charge balance (and also mass balance for the na and k ions), neither of these variables is visible via hoc or python.

What about il? The NEURON block declares

NONSPECIFIC_CURRENT il

which tells NEURON that the leak current il affects charge balance, has no effect on mass balance, and IS visible to hoc and python.

"But what if I really want to know the sodium or potassium current generated by hh in a particular segment?"

The best you can do is discover that segment's total sodium or potassium current density (in mA/cm2)

>>> axon(0.5).ina
-0.0012200571764654333
>>> axon(0.5).ik
0.004399733467282939

which is usually sufficient because these are the values that are needed to calculate intracellular and extracellular ionic concentrations.
Post Reply