Step 2. Test the model of stochastic gating

Does the stochastic three-state potassium channel work properly? To test it, let's try substituting it for the potassium current in a single compartment implementation of the Hodgkin-Huxley model.

A. A "control" simulation with the normal HH model.

  1. Start NEURON, and create a model with surface area of 100 um2 and nseg=1 that has hh.
  2. Bring up a parameter panel to make adjustments of gkbar_hh convenient.
  3. Attach an IClamp with del = 5ms, dur = 0.1 ms, and amp = 0.1 nA.
  4. Bring up a plot of membrane potential vs. time.
  5. Run a simulation to see a "control" spike.
  6. Save everything to a session file called control.ses.

B. "Test" simulations with stochastic gating of potassium channels.

We will add the stochastic channel to our model by loading its session file (to make the mechanism available), and then using a Point Process Manager to attach it to the model cell.
  1. Load mykhhst.ses. A Channel Builder for "mykhhst Point Process (Allow Single Channels) will appear.
  2. Bring up a new Point Process Manager, and click on its SelectPointProcess button. Notice that mykhhst appears as the last item in its menu of mechanisms. Select mykhhst and release the mouse button.

    The Point Process Manager should now look like this

    Important notes about Nsingle and gmax.
    • The Nsingle and gmax parameters are known to hoc as mykhhst[0].Nsingle and mykhhst[0].gmax.
    • Nsingle serves two purposes:
      • If Nsingle == 0, gating will be deterministic, in which case the parameter gmax will be the maximum conductance of the Point Process when it is completely activated.
      • If Nsingle is > 0, the Channel Builder simulates independent stochastic gating of Nsingle channels, in which case gmax is the conductance of a single open channel.
    • If you change Nsingle from 1 to a new integer value k, you will need to divide gmax by k if you want to keep the total peak conductance constant.
    Let's also bring up a "State axis" graph and configure it to plot mykhhst[0].O (that first 0 is a zero, and the other O is an upper case letter O). This will show the total number of open channels as a function of time.
    Finally, bring up a VariableTimeStep panel (NEURON Main Menu / Tools / VariableStepControl) so we can experiment with the use of adaptive integration.

    A complete custom user interface, including model specification, simulation control, and instrumentation, would look something like this. I find it convenient to arrange things so that tools that specify the properties of the model cell (SingleCompartment, ChannelBuild[0], the PointProcessManager for mykhhst[0], and the soma's parameter panel) are to the left and down, simulation control tools (RunControl, VariableTimeStep) are top center, and instrumentation tools (the IClamp's PointProcessManager, and the two Graphs) are up and to the right.

    This would be a good time to save everything to a session file called test_stochastic.ses.

  3. Change gkbar_hh to 0, set Nsingle to 0 (deterministic gating), and run a simulation. The spike will look just slightly different, because the deterministic three state potassium channel model has been substituted for the standard HH potassium current.
  4. Restore Nsingle to 1, and run several simulations. Each run starts with a spike that begins well before the stimulus pulse. Spikes tend to have flat tops very close to ena, and the post spike hyperpolarization tends to bottom out--flat again--at ek. Is this a reasonable outcome? Would you have predicted it before you ran this simulation? (be honest, now)
  5. Increase Nsingle to 100 and divide gmax by 100 (so that total maximum gk = Nsingle * gmax is unchanged), then run some more simulations (don't forget to rescale the graph of mykhhst[0].O). For a bit of a treat, click on the VariableTimeStep panel's "Use variable dt" button. Run a few simulations. Zoom in on the open channel plot near the peak of a spike, and see how fastitidiously NEURON computes the time of each channel transition.
  6. The spike waveform looks more normal, but there are still frequent spontaneous spikes. For a better idea of how frequent, increase Tstop to 1000 ms and run another simulation or two.
  7. Now increase Nsingle and reduce gmax again by a factor of 10. If you're still getting spontaneous spikes in 1000 ms runs, try another factor of 10.


This is a link to mykhhst.ses, and here is a link to test_stochastic.hoc which will recreate everything shown in the big figure above. test_stochastic.hoc is actually a session file, but its extension has been changed to "hoc" to make it runnable from the WWW. Both of these files are packaged with the zipped archive of this tutorial.


[ Outline | Previous ]

Copyright © 2006 by N.T. Carnevale and M.L. Hines, All Rights Reserved.