Quick start guide for Hodgkin-Huxley model

Hodgkin-Huxley model[1]

For example, let us consider the Hodgkin-Huxley equation:


where index.php?plugin=attach&refer=HHmodel&openfile=HH_eq2.png denote rate constants, respectively (for details see Ref. [1], [2], and [3]) and calculate the Hopf bifurcation set of an equilibrium point observed in the eq_img01.gif-plane.

In the following, we make the following programs, and use these:

  1. PP
  2. FIX
  3. BF


  • First, please refer to the Installation section to install BunKi, then go to the Preferences.
  • Complement. 1
    • If the Symbolic Math Toolbox (MATLAB additional package) is not available, please consult the following sample for a demo. It is a file where we gathered all the analysis tools required for the analysis of the Henon map, and the configuration files in a compressed project directory. Please extract its content in any location.
    • Attention:starting BUNKI from the MATLAB command in the expanded directory, the SE program starts. If choosing "system create" there, an install without the "Symbolic Math Toolbox" will return an error. If the "Symbolic Math Toolbox" is not available, please skip the Creation of the Programs and directly continue to PP.
  • Complement. 2
    • In the extracted directory of the BUNKI program, there is a sample directory.
      The various files placed down this directory are used in the following explanations. It is possible to save some time by using such files instead of filling up each configuration field manually. The files prepared are as follows:
      • fileHH.sed : file containing the model equations: configuration file for use with SE
      • fileEq_point.ppd : The example of a stable equilibrium point : configuration file for use with PP
      • fileEq_point.fixd : For the detection of the Hopf bifurcation : configuration file for use with FIX
      • fileEq_point_Hopf.bfd : Setup file for the calculation of the Hopf bifurcation of the equilibrium point : configuration file for use with BF

Creation of the Programs

The following steps are done in a sub-directory. Any name can be used for the sub-directory. First, the following is executed in the MATLAB command window:


After the execution, a window named Select BUNKI Project Directory will open.


Here the Project to be analyzed is created or selected. At this stage, no Project is generated. Therefore, input a Project name for identification in the Name field and click the OK button. In this case, since the project is the analysis of the Hodgkin-Huxley equation (H-H equation), HH is used as the project name.*1


When creating a new Project, you are asked whether it is okay to create a directory (or folder). Please select Yes. SE (system editor) will start.


We now create the programs for analysis.*2

  • Description of system
    • First, we select what type of system is going to be analyzed. The Hodgkin-Huxley equation has four variables and is an autonomous system. Therefore, the Dimension is set to 4,and Autonomous is checked as the system type.
    • The equations for the Hodgkin-Huxley equation is input into the Equations field. Please follow the following rules.
      • State variables : Each state variable should be written as x[i], i = 1,2,...,n . In other words, equations are input using the substitutions V->x[1]m->x[2]h->x[3]n->x[4].
      • Parameters : Parameters are placed between two $ symbols to identify that the variable is a parameter. For example, items placed between two $ symbols, such as $para$,$Vm$,$alpha$,etc, are considered parameters. Parameter names can be chosen freely.


  • Syntax check & program creation
    • The above figure shows the screenshot after the input of the system equation. Click the check button to check whether there are no inconsistencies in the equations. The syntax checking will start.


    • After the syntax check, if there are no errors, then programs are created. The bottom-right check button controls which programs are created. To obtain a bifurcation curve, check all of PPFIXBF. Please click Create button to start program creations.


      (a): The status bar will be displayed when the system creation starts.


      (b): After system creation, a message is shown to indicate that the programs were created without problem in the log window.


Here, we import the initial values of parameters and state variables to draw a phase portrait and to capture a stable equilibrium point.

First, start the PP (phase portrait) program from SE. Select Program -> PP.


The drawing window and the control panel will start. In the first run, the drawing window is the (x[1],x[2]) plane.*3 Here, there is no need to change the drawing window.


Next, we deal with the control panel. First, we input the values of Initial states and Parameters as the initial condition.*4. The initial points to start the simulations are input (x[1],x[2],x[3],x[4]) in the Initial states field. Here, let us start from the origin (0,0,0,0) !

Please do not forget to input the parameter values before drawing. When first ran, 1 is entered for all parameters. Parameters are configured as follows.


Next, click the Start button to start simulations. Can you see that the orbit of a solution starting from the origin converges to a single point?


Parameters can be changed in real time. Let us change the parameter Iext. By increasing the parameter Iext, the Hopf bifurcation of an equilibrium point occurs. Here, after the stable equilibrium point changes to the unstable one, a stable limit cycle can be observed.


Next, we resume simulations after changing Iext to the initial value 5. We check the check box states flow in the Plot field. In this way, we can check the list of the current values of the state variables in the list box during numerical integration. In this example, we can see to converge to a stable equilibrium point since the same number repeatedly appears in the list box.


Here, by clicking the Clear button, the orbit during the transient response shown in the drawing window can be erased, and the steady state can be observed. Since the system converges to a stable equilibrium point, only one point corresponding to the stable equilibrium point is shown on the drawing window.


Next, let us investigate bifurcations of this equilibrium point. The eigenvalues of the variational equation for the equilibrium point are evaluated when the parameters are changed. For this purpose, the FIX tool can be used. We pass the initial values to use FIX from PP. The important thing is that the values of the state variables and parameters at the steady state must be passed to FIX.

To confirm whether the system reached a steady state, either check the check box states flow switch and confirm that the values of the state variables no longer change as described above, or click the Status button a few times and confirm that the information displayed in the list box does not change.


After confirming that there are no more changes, select Export current status from Tools in the menu bar. With this procedure, the values of state variables, the parameter values, and other configuration values at the steady state are preserved and can be passed to the next program (see section on FIX).


(a): Select export.


(b): The export of configuration values finished.


Here, the objective is to track the accurate location of an equilibrium point when the parameters are changed and also to monitor the eigenvalues during tracking.

Users must adjust the configurations to run FIX. For simplicity, here let us run FIX as is. Normally, the FIX program is run after the values saved by the PP program (using Export Current status) is imported as the initial values for Newton’s method.*5

First, let us start up the FIX program from the PP control panel. Select Program -> FIX.


When initially starting up the FIX, default values are entered in each field.


Information on the equilibrium point obtained with PP is imported as the initial configuration value. Select Tools ->Import initial point.


After the selection, the information obtained with PP such as the parameter values and the coordinates of the equilibrium point are reflected.


By using PP, we saw that the dynamics of the system changes by increasing the parameter Iext. Therefore, select the parameter to be changed as Iext and configure the step size to increase the parameter.


Click the Start button to start calculations. A new window will open when the calculations start. This window is to monitor the location of the eigenvalues on a Gauss plane. The Hopf bifurcation of an equilibrium point occurs when a pair of the eigenvalues becomes "pure imaginary number". We can observe that as the parameter changes, the location of the eigenvalues change, and the pair of the eigenvalues on the window approaches "imaginary axis".

Parameters are continuously changed, and when a bifurcation point is detected, the program stops.*6 In this example, the Hopf bifurcation is detected because the pair of the eigenvalues became pure imaginary number.


The values of the parameters and the state variables when the program stopped can be used as the initial point for BF, the program to track bifurcation curves. The information when the bifurcation point is detected are exported for BF. When Export BF point is selected here, the status, parameter values, and other necessary configuration values are preserved. The preserved values are passed to the next program (see section on BF).


(a): Select the Export BF point.


(b): The exported information is displayed in the list box.


The BF tool is used to obtain a bifurcation curve by changing system parameters.

The user must adjust the configuration to run BF. For simplicity, here let us run BF as is. Normally, the BF program is run after the values of the state variables and parameters at the bifurcation point detected by the FIX program are imported as the initial values for Newton's method.*7

First, let us run the BF program from the FIX main panel. Select Program -> BF.


When starting up BF at the first time, default values are entered in each field.


Various information on the bifurcation point obtained with FIX is imported as the initial value. Select Tools ->Import BF point from main panel.


After the selection, various information such as the type of bifurcation and whether the system has an equilibrium point or a limit cycle are input automatically into each field. To tracke the bifurcation set on the (Iext,VNa) plane, check the radio button Iext as the X parameter and VNa as the Y parameter. Furthermore, configure items such as step size to change the parameters and the value to stop the BF when reaching end parameter. To save the calculated results as a data file, input the output file name in Output.


After these configurations, click Start button to start tracking of the bifurcation curve. Then, the Eigenvalues window and Bifurcation diagram window will open as new windows. The Eigenvalues window is used to visualize the change in the root locus of the eigenvalues during calculation of the bifurcation curve. Furthermore, to monitor the change of the root locus, we can visually understand occurrence of a bifurcation point with co-dimension 2. The Bifurcation diagram window is a window to monitor how the Hopf bifurcation is being tracked in real time.


(a):The root locus of eigenvalues and the status of the list box when BF runs.


(b):Bifurcation diagram in the (Iext,VNa)-plane. The calculation result can be monitored in real time.


  1. A.L. Hodgkin and A.F. Huxley, A qualitative description of membrane current and its application to conduction and excitation in nerve, J. Physiol. (London), 117, pp.500-544, 1952.
  2. D. Hansel, G. Mato and C. Meunier, Synchrony in excitatory neural networks, Neural Comp. 7, pp.307-335, 1995.
  3. C. Koch, ed., Biophysics of Computation: Information Processing in Single Neurons, Oxford University press, New York, 1999

*1 Project name can be changed freely. The user should choose a name that is easy to identify.
*2 There is a configuration file for SE as fileHH.sed in the sample directory. To import this file, it's able to apply several important information to each field in SE. You can create the programs to only click the Create button. Thus, you can skip various configurations for SE. Please refer to see How to import the configuration file for SE.
*3 This configuration can be changed from the setting menu of the Main panel.
*4 There is a configuration file of PP as fileEq_point.ppd in the sample directory. This file is the configuration file saved the values of state variables and parameters to simulate the behavior related to an equilibrium point. To import this file, it's able to simulate the system behavior to only click the Start button. Please refer to see How to import a configuration files for PP.
*5 Another method is to import a file describing the values of the parameters and the state variables. There is a file named fileEq_point.fixd under the sample directory where configurations for FIX are saved. This file is a FIX settings file where parameters and initial conditions of the equilibrium point described below are saved. Numerical calculations can start after just clicking the Start Button after loading this file. For directions on how to load the file, see How to import configuration files for FIX.
*6 Details of this operation can be controlled by using the option of the detection from Settings. For detail, see manual or User's Guides:About FIX.
*7 Another method is to import a file describing parameter and state variable values. There is a file named fileEq_point_Hopf.bfd under the sample directory where configurations for BF are saved. This file is a BF settings file where parameters and initial conditions to track the Hopf bifurcation of the equilibrium point described below are saved. The bifurcation curve can be tracked after just clicking the start button after loading this file. For directions on how to load the file, see How to import a configuration files for BF.

Attach file: fileeq_img01.gif 356 download [Information]

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2009-07-23 (Thu) 20:13:30 (3229d)