Goldman-Hodgkin-Katz-Equation

An Interactive Simulation of the Goldman-Hodgkin-Katz-Equation

Posted by Daniel Schmidtke on Sunday, October 11, 2020

About the simulation

Below you will find an interactive version of the Goldman-Hodgkin-Katz equation used to model the resting potential across a cell membrane in dependence on the relative permeabilities as well as the inner and outer concentrations of different ion species (potassium, sodium, and chloride). I wrote this simulation for a lecture on basic neuroscience that I regularly give for 1st year biology students.

Interactive user interface

The interactive UI of the simulation allows you to choose different values for the relative permeabilities of sodium and chloride as well as the inner and outer concentrations of potassium, sodium, and chloride to explore how changing these variables influences the membrane potential.

Please note that the permeability of potassium cannot be changed, as the permeabilities for sodium and chloride ions are specified relative to that for potassium (P(K) = 1).

Presets

If you are too lazy to change the values yourself, the simulation allows you to choose between the following presets:

Resting membrane potential of a cephalopod neuron
Peak membrane potential of a cephalopod neuron during spiking
Resting membrane potential of a mammalian neuron
Peak membrane potential of a mammalian neuron during spiking

Output

The output panel of the simulation provides both, graphical output in form of an oscillogram, showing the current membrane potential in mV, and text output of the calculated membrane potential as well as the Nernst potentials for each ion species at the chosen concentrations.


Please note that access to the Shiny server is limited to 25 hours per month. If the simulation does not display, please run it locally on your computer using R and following the instructions below.

Running the simulation locally in R

Make sure that you have R and the following R packages installed on your computer and loaded in your R session:

shiny, shinyWidgets, shinyjs, ggplot2, jpeg

You can install and load the R packages from the R console using the following lines of code:

# Install packages from the R console via:
install.packages("shiny")
install.packages("shinyWidgets")
install.packages("shinyjs")
install.packages("ggplot2")
install.packages("jpeg")

# Load packages from the R console via:
library(shiny)
library(shinyWidgets)
library(shinyjs)
library(ggplot2)
library(jpeg)

Once you have installed and loaded all the packages, you can start the app from the R console using:

runGitHub("Goldman-Hodgkin-Katz-Equation", "DaSchmidtke")

For a German version run:

runGitHub("Goldman-Hodgkin-Katz-Gleichung", "DaSchmidtke")

Downloading the source code from GitHub

Alternatively, You can download the simulation/Shiny app directly from my GitHub page. There is one repository for the English and one for the German version of the simulation. The German repository also contains a document with some review questions from the lecture for which I programmed the app.