Area Calculation - Channel Density

Managing anatomically complex model cells with the CellBuilder. Importing morphometric data with NEURON's Import3D tool or Robert Cannon's CVAPP. Where to find detailed morphometric data.
Post Reply
Kahlig

Area Calculation - Channel Density

Post by Kahlig »

This is a slight continuation on the previous question concerning surface area.

I have a single compartment with a sodium channel inserted at 0.02 S/cm2. I'm able to run the simulation and record the current. The problem arrises when I reduce (or increase) the surface area of the single compartment. As the sodium channel is a density measurement, I would expect the total sodium current to change because it is dependent on the total surface area (naturally excluding the ends of the cylinder). However, changing the surface are (diam and L) has no effect on the sodium current. (It does change the passive properties of the membrane, as you would expect).

I can double, triple the surface area which I assume should increase the absolute sodium conductance keeping 0.02 S/cm2 constant. Is this a bug, or am I overlooking something? Thanks.
ted
Site Admin
Posts: 5784
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Units, density (distributed) mechanisms, and point processes

Post by ted »

Good question.

The units used for membrane current depend on whether you're dealing
with a distributed (density) mechanism or a point process. For a distributed
mechanism, the current is treated as if it is distributed over the surface of the
cell, and the units are "current density" (current/area, e.g. mA/cm2). For a
point process, the current flow is all at one particular spot, and the units are
"absolute current" (e.g. nA). Similar considerations apply to mnembrane
conductance.

If you're ever in doubt, you can determine the units of a variable by using the
units() function (read about this in the Programmers' Reference alphabetical
listing). Example: start NEURON and at the oc> prompt type the statements
shown below; NEURON's output appears on the lines that do not begin
with oc>

Code: Select all

oc>create soma
oc>access soma
oc>insert hh
oc>units(&ina(0.5))
mA/cm2
oc>objref foo
oc>foo = new IClamp(0.5)
oc>units(&foo.i)
nA
oc>
Another way to find out is to start the GUI and bring up a tool that has a
button in which the name of the variable of interest appears; its units will
appear next to it in parentheses. Example: in the context of the above model,
click on
NEURON Main Menu / Tools / Distributed Mechanisms / Viewers / Shape Name
A new window pops up; let's call this the Section Parameters tool. In this tool,
double click on the word "soma" (in the lower half of the tool's right panel). This
brings up a new panel of buttons with labels that include
L (um)
Ra (ohm-cm)
diam (um)
cm (uF/cm2)
gnabar_hh (S/cm2)
etc.
Notice that ina is not among them; this is because it is an ASSIGNED variable.
Click on the Section Parameters tool's Type button and select the item "all types".
Now double click on soma and you get three new windows; one has the label
soma(0.5) (Assigned)
just above a column of buttons which includes one that shows
ina (mA/cm2)
eacheon
Posts: 97
Joined: Wed Jan 18, 2006 2:20 pm

Re: Units, density (distributed) mechanisms, and point proce

Post by eacheon »

ted wrote:

Code: Select all

oc>create soma
oc>access soma
oc>insert hh
oc>units(&ina(0.5))
mA/cm2
oc>objref foo
oc>foo = new IClamp(0.5)
oc>units(&foo.i)
nA
oc>
Example: in the context of the above model,
click on
NEURON Main Menu / Tools / Distributed Mechanisms / Viewers / Shape Name
A new window pops up; let's call this the Section Parameters tool. In this tool,
double click on the word "soma" (in the lower half of the tool's right panel). This
brings up a new panel of buttons with labels that include
L (um)
Ra (ohm-cm)
diam (um)
cm (uF/cm2)
gnabar_hh (S/cm2)
etc.
Notice that ina is not among them; this is because it is an ASSIGNED variable.
Click on the Section Parameters tool's Type button and select the item "all types".
Now double click on soma and you get three new windows; one has the label
soma(0.5) (Assigned)
just above a column of buttons which includes one that shows
ina (mA/cm2)
Two questions:

I am using the newest version NEURON for win xp. Is the above units note
been removed?

Also, can I ask (stupidly) where in hoc I should use "&var" instead of "var", as shown in your above sample code?
ted
Site Admin
Posts: 5784
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Units, density (distributed) mechanisms, and point proce

Post by ted »

I am using the newest version NEURON for win xp. Is the above units note
been removed?
Not sure what you mean. Have you tried it and found it not to work?
Also, can I ask (stupidly) where in hoc I should use "&var" instead of "var", as shown in your above sample code?
Use &varname whenever a func or proc expects "call by reference" instead of "call by
value." If you wrote the func or proc yourself, you'll know what it expects. Otherwise,
check the Programmer's Reference.

Under MSWin, installing NEURON also installs the Programmer's Reference.
Click on Documentation in the NEURON program group. Look in the alphabetical
listing for units. It's also viewable/downloadable from the Documentation page at
NEURON's WWW site
http://www.neuron.yale.edu/neuron/docs

--Ted
eacheon
Posts: 97
Joined: Wed Jan 18, 2006 2:20 pm

Re: Units, density (distributed) mechanisms, and point proce

Post by eacheon »

ted wrote:
I am using the newest version NEURON for win xp. Is the above units note
been removed?
Not sure what you mean. Have you tried it and found it not to work?
En, I tried the above and found that there's no units listed in the panel.
Today I have another look and find that there are units for most buttons
except "v".

Never mind. :)

Use &varname whenever a func or proc expects "call by reference" instead of "call by
value." If you wrote the func or proc yourself, you'll know what it expects. Otherwise,
check the Programmer's Reference.

Under MSWin, installing NEURON also installs the Programmer's Reference.
Click on Documentation in the NEURON program group. Look in the alphabetical
listing for units. It's also viewable/downloadable from the Documentation page at
NEURON's WWW site
http://www.neuron.yale.edu/neuron/docs

--Ted
Thanks a lot!
ted
Site Admin
Posts: 5784
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Units, density (distributed) mechanisms, and point proce

Post by ted »

En, I tried the above and found that there's no units listed in the panel.
units() doesn't reply by printing stuff in a GUI window. It prints to NEURON's xterm,
just like the example that I posted.

So you followed the example I posted, exactly as shown, and got no reply at all?
You literally typed each hoc command, starting with
create soma
and ending with
units(&foo.i)
and hoc returned nothing whatsoever when you typed the two units() commands?
Perhaps you have discovered an obscure bug--please reply with a copy of your
entire exchange with hoc

--Ted
eacheon
Posts: 97
Joined: Wed Jan 18, 2006 2:20 pm

Re: Units, density (distributed) mechanisms, and point proce

Post by eacheon »

ted wrote:
En, I tried the above and found that there's no units listed in the panel.
units() doesn't reply by printing stuff in a GUI window. It prints to NEURON's xterm,
just like the example that I posted.

So you followed the example I posted, exactly as shown, and got no reply at all?
You literally typed each hoc command, starting with
create soma
and ending with
units(&foo.i)
and hoc returned nothing whatsoever when you typed the two units() commands?
Perhaps you have discovered an obscure bug--please reply with a copy of your
entire exchange with hoc

--Ted
Thanks, never mind, units works exactly as you said. I simply meant that I did not find the units for v and i_cap on the gui panel.
Post Reply