Hodgkin and Huxley's gating mechanisms

Further to my last post, in which I attempt to form a vague understanding of Hodgkin and Huxley's giant squid axon model, I'm now looking at the gating mechanisms they used.

Action potential in nerve

The opening, closing and inactivation of ion channels is vital for the characteristic shape of the action potential.

A) The sodium channels open and sodium floods into the cell: increases.
B) The potassium channels open, allowing potassium out of the cell: increases.
C) The sodium channels are inactivated when the membrane voltage is at its highest: .
D) The potassium channels close and the sodium channels are activated when the membrane voltage reaches its lowest: and increases.

This means that the sodium and potassium conductances vary in a complicated way with changes in the membrane voltage. The 'leak' current is simply directly proportional to the membrane voltage.

The changes in conductivity are modelled as "gates" for the sodium and potassium channels. The gates are represented by a dimensionless variable, which can be between 1 (fully active) and 0 (fully inactive). The rate of change of a gate with time is defined as:

where is the rate of movement of ions from outside to inside, and is the reverse.

Unlike for the rest of the model's features, the gating of the ion channels is not worked out from first principles. Instead, equations were fitted to match empirical data from experiments. Hodgkin & Huxley took measurements of each ionic current while keeping the membrane voltage constant, over a variety of different voltages, and used the data to find and expressions for each gate as functions of voltage.

For the potassium channel, there is only one type of gate, called the "n" gate. The permeability of the membrane to potassium varies with the 4th power of n (for equation fitting-ey reasons).



For the sodium channels, there are two types of gate. The gate being active encourages flow of sodium ions through the membrane, but the gate being active inactivates the sodium channels.





...

Hodgkin and Huxley's giant squid axon model

I deeply regret that I must begin this post by informing you that the entity in question is a giant axon from a squid, and not an axon from a giant squid. I can only imagine your disappointment on learning this fact - I recall that mine was considerable.

The models of heart cells that I'm working on at the moment are all based off a mathematical model from way back in 1952, created by Alan Hodgkin and Andrew Huxley. They described the electrical signal that passes down the axon of a squid's nerve cell when it is excited. The axon that controls the water jet propulsion system of a squid is particularly large, and easy to use in experiments.

The basis of this mathematical model is an understanding of the cellular features as components in an electrical circuit.* Just like in heart cells, the electrical signal is caused by the movement of charged particles, called ions, across the cell's outer membrane. The membrane of a neural cell acts like a capacitor, which means that ions accumulate on one side of the membrane, allowing it to store charge. This makes one side of the membrane more positive than the other side, leading to a voltage across the membrane.

This graph shows how the voltage across the membrane changes when the cell is stimulated.

An electrical impulse in an axon

The flow of ions across the membrane acts as an electrical current. Three types of ionic current are considered in this model: the sodium () ions that flow into the cell and cause depolarisation of the membrane, the potassium () ions that flow out to repolarise the membrane, and the "leak" current (a mixture of ions, including chloride ions), which flows in both directions.

Circuit description of nerve cell

The electrochemical gradients that power the flow of each type of ion are modelled as batteries, and the ion channels that permit ions to pass are represented by variable resistors.

is the stimulus current that the cell receives from outside.
and are the sodium, potassium and leak currents, respectively.
is the capacitance of the membrane (i.e. its ability to store charge)
is the membrane voltage
and are the resistance of the membrane to letting each type of ion through
and are the membrane potentials at which the flow of sodium, potassium or leak ions (respectively) through the membrane is zero.

Since the current across the capacitor depends on the change in voltage over time and on the capacitance (), and the four components of the current (that are wired in parallel) all add up to the stimulus current (), a unifying differential equation can be created.

Where , i.e. the difference between the current membrane voltage and the usual, or "resting" voltage.

The next part of the paper deals with the gating mechanisms for the ion flows. My plan is to tackle that next week!

The original paper is available free from PubMed Central here. There's also a very good description of its content on Wikipedia, and an illustrated XML version of the model at the CellML model repository.

I put together some MATLAB code to solve the equations described in the paper - you can download and view or run the source code here.

One of the most interesting features of this paper are its descriptions of a possible mechanistic basis for the permeability of the cell membrane to ions. This paper was written long before ion channels were discovered and characterised in mammalian cells, so it's amazing how accurately it describes the action of the nerve cell. (A very readable account of the history of ion channels is available on Montana State University's webpage here, incidentally).

* which I'm sure is a helpful explanatory device for people who have the foggiest concept of how electricity works. I am not one of these people. I've relied on some A-level revision websites and my various physicist chums/siblings for that.

...

Cellular automaton model of bacterial biosensors

So this fortnight at the doctoral training centre, we've been from "Hello World" to image processing in C and Perl. Yeah.

Anyway, before my brain explodes from over-knowledge-ness, I thought I'd blog about the program I made! It's a cellular automaton (like Conway's Game of Life) that essentially represents lots of bacteria immobilised on a silicon chip. I based it on this paper from 2004. In my simulation, the cells grow, divide and die based on how much food they are getting from the environment.

The bacteria contain a special gene from fireflies called luciferase, which allows them to bioluminesce. Halfway through the simulation, the cells are bathed in a solution that causes DNA damage. This activates the luciferase gene. The idea behind the original experiment was to use bacteria to sense when a molecule causes DNA damage, in order to screen for molecules that might cause cancer.

A picture of the simulation running

The simulation outputs a rudimentary display to the terminal. The glowing bacteria are represented by the letter "O" and the wild-type bacteria are shown by the "#" symbol.

If you want to read more about the biological background and the implementation, you can read my report, or try compiling and running my C code.

This was a really good opportunity to test out all the things I learned about C this week! In addition, the write-up I handed in was written in LaTeX, which I am completely new to. I've uploaded my Tex files (report.tex and code.tex) and the bibliography file (cellularautomata.bib, which was created by Mendeley) if you want to have a look at them - it turns out that the trick with LaTeX is just to have a template file to build on.

I found a useful bit of LaTeX code to stitch two PDFs together (which you can download as a file):

\documentclass[11pt,a4paper]{article}

\usepackage{pdfpages}
\begin{document}

\includepdf[pages={1-5}]{writeup.pdf}
\includepdf[pages={1-7}]{code.pdf}

\end{document}

Pretty cool, huh? I've put all the LaTeX bits together in a .tar.gz file here. To extract and compile, run these commands in sequence:

tar -xzvf tex-files.tar.gz
pdflatex writeup.tex
bibtex writeup.aux
pdflatex writeup.tex
pdflatex writeup.tex
pdflatex code.tex
pdflatex stitch.tex

...