Each transition is governed by a pair of voltage-dependent rate variables. These rate variables are generally of the form A*f(v), where f is some function of local membrane potential. Temperature effects can be implemented by using A values that are governed by temperature: A = A0 * f(celsius), where f(celsius) = q10^((celsius - temp0)/10) and A0 is the value of A when celsius = temp0.
The Channel Builder can provide "aliases" that allow access to internal parameters. You can activate this feature by selecting
Properties / Provide transition aliases
in the Channel Builder's main menu, then save the Channel Builder to a ses file.
The remaining tasks are (1) to discover the names of the aliases, and (2) to set up a convenient way to calculate and use the A values.
1. How to discover the names of the aliases.
This is most easily done with the Graph class's "Plot what?" tool.
It would be helpful for you to follow a specific example.
Code: Select all
(this stuff isn't program code--I just need to preserve indentation)
Start neurondemo, then select "Stochastic Single Channels: HH".
Then bring up a Channel Builder configured as a point process with
NEURON Main Menu / Build / Channel Builder / Point
Next
Properties / Channel Name
and change its name to Mykhh0.
Properties / Copy gates from / khh0
Properties / Provide transition aliases
Now we're ready to discover its aliases.
The bottom field of the ChannelBuilder contains
n4: 5 state, 4 transitions
Click on this, and you'll see the gate constructor tool that shows a diagram of this
mechanism's states and the transitions between them:
Code: Select all
v v v v
n0 <-> n1 <-> n2 <-> n3 <-> n4
Beneath this diagram is a graph that shows the voltage dependence of an0n1 and bn0n1. These are the forward ("alpha") and reverse ("beta") reaction rates for the transition between states n0 and n1. In the right hand panel note that these rates are governed by equations of the form
rate = A*f(v). For each reaction rate, you have to change the numeric value of A so that it reflects the effect of temperature. To do that, you must first discover the hoc name of each A.
Code: Select all
Bring up a current axis graph
NEURON Main Menu / Graph / Current axis (this does not require a default section)
Click on the Graph's menu box / Plot what?
Plot what? / Show / Objects
Scroll down list in first column to ChannelBuild_
Double click on ChannelBuild_ -->
ChannelBuild_ appears in text edit field at top of Plot what?,
and 0. appears in Plot what?'s middle column,
Double click on 0. in middle column -->
edit field changes to ChannelBuild[0].
and middle column shows a list of names
Double click on aliases. in middle column -->
edit field changes to ChannelBuild[0].aliases.
and right column shows the name of each reaction rate
The first reaction rate in the right column is called an0n1.
Double click on it.
edit field changes to ChannelBuild[0].aliases.an0n1.
and right column shows three entries: A, d, and k
So guess what the hoc names of all the As are?
ChannelBuild[0].aliases.an
in
j.A
where i runs from 0 to 3, and j = i+1
2. How to set up a convenient way to calculate and apply the scale factors.
Create a procedure that calculates the value of each A from its A0, temp0, and q10, and the current value of celsius, then assigns this value to the appropriate Cell Builder alias. A handy trick for dealing with a bunch of names that differ only by an integer value is to use sprint with integer arguments to construct the desired command string, then use execute to execute the command string (see the Programmer's Reference for details of sprint and execute).