|
download hh - freestanding download hh (uses fig files) by Bill Betz & Silvio Rizzoli HH is a Matlab program that illustrates how the the Hodgkin-Huxley equations were derived using the voltage clamp, and how the resulting equations were used to simulate the 'membrane' (not conducted) action potential. A number of variables and plotted information can be user-controlled by adjusting sliders and buttons. A problem set generates multiple choice exercises. HH operates in voltage clamp or current clamp mode. It begins in voltage clamp mode. The membrane is depolarized to zero millivolts, and the resulting changes in current and other variables (m,n, and h) are plotted. Calculations are free running (default), so the display updates about once a second (depending on processor speed). By switching to current clamp, the action potential is plotted. The displays are similar in both voltage clamp and current clamp modes. Three graphs are shown. Membrane potential is shown in the top graph, and membrane current in the bottom graph. In the middle graph several derived values, such as m, h, and n, can be plotted. Beside and below the graphs are sliders and pushbuttons that control the program operation and display. The opening display looks like this: ![]() Fig. 1. Display in voltage clamp mode. Membrane potential (Vm) is plotted on top, other variables in the middle, and current on the bottom. Buttons on the left determine which variables and currents are plotted. Sliders and buttons at the bottom determine other parameters. The initial voltage clamp level was -60 mV. At t=1 ms it was changed to 0 mV, and at t=7 ms back to -60 mV. The top graph shows the membrane potential (Vm). The color of the line changes randomly from trial to trial. The dashed lines show values of ENa and Ek. The middle graph plots variables chosen by clicking on the buttons to the left of the graph. None, some, or all buttons may be selected. The color of the plot matches the color of the button. The bottom graph plots currents. The buttons to the left determine which currents are plotted. The dashed line marks zero current. The number at the right hand side of the graph (Itot) shows the sum of the absolute values of INa and Ik. The two radiobuttons at the top of the display determine the mode - voltage or current clamp. The Current Clamp display looks like this:
Controls The program is controlled by clicking in the graphs, moving the sliders, and clicking on the pushbuttons. Clicking anywhere in the window causes any ongoing calculations to be plotted immediately. Note: Sometimes it is necessary to click twice to activate a button. Clicking in Graphs: Note : Click over open regions of the graph. If you click on a line, it has no effect. Clicking in the top graph determines the time when current is applied (Current Clamp mode) or when the membrane potential is changed (Voltage Clamp mode). The amplitudes of the current or voltage changes are set with the yellow sliders (see below). These instructions can be accessed by clicking either small button (‘mouse help’) in the top right corners of the top and bottom graphs. In Current Clamp, the first brief pulse is always delivered at 1 msec. Left click in the top graph to set the time that a second brief pulse is delivered. To pass steady dc current, right click in the top graph, and then drag out a rectangle (the width of the rectangle determines when the current is passed; the height has no meaning). The yellow slider labeled ‘i3’ determines the amplitude of the dc current. Click both buttons simultaneously to reset the times of current pulses to default (initial) values. In Voltage Clamp, left click in the top graph to set the time of the first voltage change (new Vm is set by the middle yellow slider). Right click in the top graph to set the time when of the second voltage change (useful for tail currents). Click both buttons simultaneously to reset the times of voltage steps. Clicking in the middle graph does nothing except cause ongoing calculations to stop and be plotted (as does clicking anywhere in the window). Clicking in the bottom graph alters the scale of the bottom graph (top and middle graphs are not affected). To zoom, left click in the bottom graph, and then draw out a rectangle. Only the region in the rectangle will be plotted (you can drag outside the graph to zoom out). To return to default settings, left click again. If you right click in the bottom graph, the Y axis will be rescaled automatically to display all currently displayed lines. Moving Sliders: You can change values by moving a slider or by clicking the label above the slider. If you click the label, you are asked to enter a new value from the keyboard. Drugs ( Blue sliders ): These 3 sliders determine the level of block by 3 drugs. Tetrodotoxin blocks GNa. TEA blocks GK. Veratridine blocks sodium channel inactivation. Injected current/Command voltage ( Yellow sliders ): These determine the amount of current injected (current clamp mode) or the command voltage (voltage clamp mode). In current clamp (Fig. 1): q1 is the amplitude of the first current pulse (always delivered at t = 1 millisecond). q2 is the amplitude of a second pulse. The time that q2 is applied is determined by left clicking in the top graph. i3 is the amplitude of a steady (DC) current pulse. To determine the start and stop time of i3, right click in the top graph. Then click and drag from start to stop time of the current pulse. To turn off q2 and i3, click both buttons simultaneously in the top graph. (Press the left button first, then, while holding it down, press the right button.) In voltage clamp the yellow sliders determine command potential: The left hand yellow slider (vc1) determines the initial membrane potential of each sweep. The middle slider (vc2) determines the membrane potential (Vm) of the first step. To set the time it starts, left click in the top graph. The bottom slider (vc3) determines Vm of the second step (for tail currents). Set the time of vc2 by right clicking in the top graph. Turn off vc2 and vc3 by clicking both buttons simultaneously in the top graph. (Press the left button first, then, while holding it down, press the right button.) Maximal membrane conductances ( Green sliders ): These set the maximal conductances for sodium, potassium, and leak currents. Equilibrium potentials ( Pink sliders ): These set the equilibrium potentials for sodium, potassium, and leak. Display properties ( Gray sliders ): Jitter determines the amount of noise randomly applied to the calculations of m, h, and n. If jitter = 0, successive calculations will be identical, and only the color of the Vm trace will change from trial to trial. tmax determines the upper time limit of the graphs (range 2-30 milliseconds). Clicking on Pushbuttons: Radiobuttons at the top of the display window determine the mode - voltage clamp or current clamp. Plot display buttons (left side of display window) determine which variables are plotted. When selected, they change color, and the plots are the same color as the button. Any number may be selected. Other Buttons: Several monochrome buttons at the lower right determine other aspects of the program. erase : The default condition is automatic erase: each graph is erased before the next display is drawn. The button labeled auto/man toggles between automatic and manual erase mode. In manual mode, the button above (labeled erase ) turns red. Click this button to erase the display in the manual mode. trigger : The default condition is automatic: the calculations free run (as soon as one sweep finishes another calculation begins). The button labeled auto/man toggles between this and manual mode. In manual mode, the button above (labeled trigger ) turns red. Click this button to trigger a sweep. save : This button saves parameters. For example, if you find a way to create a certain situation (e.g., anode break, repetitive firing), you can save the parameters in a file. The file name will have '.mat' appended to it. load : Parameters saved using the 'save' button can be reloaded, restoring those conditions.
probset : Click this button to open a Problem Set window (see figure). The value of one of the 15 sliders will be changed (the slider itself will not move, however). The change, determined randomly, may be an increase or a decrease (except for TTX, veratridine, and TEA, which increase only). The possible changes include 9 sliders on the main window (the yellow sliders are not affected), plus the 6 sliders observed by clicking the 'rates' button (i.e., the opening and closing rate constants for m, n, and h).
At the top of the Problem Set window are two pushbuttons. 'New' creates a new problem. The red button ('Change is ON') toggles the change on and off. Click this button repeatedly and observe the effect on the plots in the main window. At the bottom of the Problem Set window are 15 buttons. Click the one that you think was changed; whether your choice is right or wrong will be displayed in the middle window (where instructions are printed at the beginning). kbd : This executes the Matlab 'keyboard' command (for debugging). reset : This closes the windows and restarts the program.
rates : This opens a new window that displays 4 graphs; one each for m, h, and n rate constants, and one for their steady state values, each graph as a function of membrane potential. The fundamental variables in the Hodgkin-Huxley equations are the opening and closing rate constants for the three gates (m=Na channel activation; h=Na channel inactivation; n=K channel activation). These rate constants are the only variables that change instantaneously with membrane voltage; all calculations of conductances, currents, and voltages use these values. The opening (alpha) and closing (beta) rate constants are plotted against membrane potential for m (red graph), h (green graph), and n (blue graph). The other (white) graph shows the steady state values for m, h, and n.
The 6 sliders allow the values of the 6 rate constants to be changed. The rate constants are simply multiplied by the value of the sliders (0.1 to 10; default = 1.0). For example, to speed up the rate of opening of 'm' gates, increase the value of alphaM (the top left slider). To slow sodium channel inactivation, reduce betaH by moving the right hand slider in the second row to the left. There are 3 pushbuttons . The button labeled ' reset ' causes all 6 sliders to be set to 1.0. The ' tau ' button toggles between displaying rate constants (default) and time constants for m,h, and n (tau = 1/(alpha+beta)). The ' quit ' button in the rate constant window closes the Rates window, and restores default values. quit : The quit button in the main window closes all windows and quits the program. Exercises 1. Make a voltage clamp family of curves illustrating the turn-on of sodium and potassium currents. Click 'reset'. Click the erase auto/man button so sweeps persist from trial to trial. Click the VC2 slider (click just to the right of the slider bar for a 10 mV change; click one of the arrow heads at the ends of the slider for a 1 mV change). Click several times to generate a family of curves. Right click in the bottom graph to rescale the Y axis so the currents are visible. If you want to set a clamp command potential to a particular value: Click the trigger auto/man button so a sweep is triggered only when the trigger button is pressed. Move the VC2 slider to the desired value. Click the trigger button. 2. Make a family of potassium tail currents. Click the 'reset' button. Click in the top graph with the right button to select the time for the tail current. Click the erase auto/man button. Click in the VC3 slider to create different values of membrane potential during the tail current. Right click in the bottom graph if the currents extend off the graph. 3. Drugs, etc. Repeat some of the above observations after moving the TTX, veratridine, or TEA sliders. Examine the effects of changing equilibrium potentials, maximal conductances, and equilibrium potentials. 4. Sodium tail currents. Click the 'reset' button. Move the 'tmax' slider so that the duration of a sweep is 4-5 ms. Right click in the top graph at about 1.5 ms to set the time of the clamp step to VC3. Move the VC3 and VC2 sliders to create families of sodium tail currents. Right click in the bottom graph as needed to rescale the Y axis. 5. Current Clamp Click the 'reset' button. Click the radiobutton at the top labeled 'Current clamp'. Click the buttons to the left of the bottom graph labeled 'INa' and 'Ik' to plot these values. Why is the sodium current biphasic as it turns on? Move sliders to examine the effects on various parameters. Examine the refractory period. Right click in the top graph to create a second stimulus. Move it to different positions and change its amplitude (middle yellow slider). 6. Rate constants. Click the 'rates' button at the bottom of the window. This opens a new window displaying rate constants for m,h, and n. Move the sliders and examine the effects on the parameters plotted in the main window. Switch between current clamp and voltage clamp to see the effects of changing the rate constants. 7. Multiple choice Problem Set. Click the 'probset' button at the bottom. This opens the Problem Set window, which is pictured above. See the description and instructions there. 8. Specific problems (answers at end): a. Design a more efficient action potential . During each action potential, sodium enters and potassium leaves the cell. Eventually the ionic gradients must be restored by the sodium-potassium pump. The less sodium and potassium that flow during an action potential, the more energetically efficient the process. It turns out that the squid action potential is not very efficient. To observe this, do the following: Click the reset button. Click the Current clamp button (top of window). Click the INa and Ik buttons to the left of the bottom graph to plot these variables. Notice that both sodium and potassium currents flow simultaneously, a decidedly inefficient situation. The sum of the absolute values of these currents (and the leak current) is printed at the right side of the bottom graph (e.g., Isum = 2400). Can you make the action potential more efficient (i.e., reduce the value of Isum)? Ideally, the upstroke of the action potential should be entirely sodium, and repolarization should be all potassium. The more overlap there is, the less efficient the action potential, the more energy will have to be expended in restoring ion concentration gradients. Click on the 'rates' button and try adjusting the rate constant sliders. Can you predict in advance which values will have to be changed? b. Maximize the sodium current . How big can you make the sodium current? First, try changing only the voltage clamp commands. You should be able to get a tail current of ~10,000 (inward (downward) current). With further changes you should be able to get it to ~60,000. Can you get to ~60,000 without using any veratridine? Can you produce a total inward current (not just sodium current) of about 100,000? c. Create repetitive action potentials with a single brief stimulus . Using only a single brief stimulus, how many action potentials can be generated in one trace? Begin by moving the 'tmax' slider all the way to the right, to give a trace with a 30 ms duration. ANSWERS: a. Efficient action potential: To see one way to do it, load the file 'APefficient.hh' by clicking the load button in the main window. You'll see that Isum has been reduced by more than three-fold. The 3 main changes were: increase alpha-m (the rate of opening of Na channel activation gates), increase beta-h (inactivation gate closing rate), and reduce potassium current. Other changes were made, too. b. To maximize the sodium current: Click reset. Move the Tmax slider to the left, to 3-5 milliseconds. Change the 3 voltage clamp command potential levels to -100 mV, +100 mV, and -100 mV. In the top graph, right click at about 1.5 milliseconds to set the time of the tail current. Right click in the bottom graph. The tail current should be ~10,000. Now add additional parameters. Each time, right click in the bottom graph to rescale the Y axis and observe the maximum sodium tail current. Move the veratridine slider to the right to block inactivation. This will take the current to about 15,000. Move the GNamax slider to the right. This should give about 40,000. Move the ENa slider to +100 mV. This will take the sodium current to about 60,000. To get to ~60,000 without using veratridine, click the rates button and slow down sodium channel inactivation (move the BetaH slider to the left) and increase AlphaM. Also, you may have to reselect the time of the tail current (right click in the top graph in the main window). To produce a total inward current (not just sodium current) of more than 100,000, do the following in addition to the above: Maximize all conductances (green sliders) Move all equilibrium potentials to +100 mV (red sliders) Add veratridine In the rate constant window, increase AlphaM and AlphaN. c. Load the file 'APrepetitive.hh' to see one way to do it. These parameters produce 11 action potentials in 30 milliseconds. GNamax is increased. The gate movements (both opening and closing) are increased, too, especially AlphaM and BetaH. |