The following are summaries of projects I have worked on over the last few years, illustrating some of the skills and knowledge I picked up, highlighted in red.

Dynamics of the ICC Network

The gut is lined with a network of specialised cells, the interstitial cells of Cajal (ICC). This network generates rhythmic electrical waves with a size of around one tenth of a volt. Each wave causes a contraction of the gut's muscle and in this way functions to move food about the gut. At McMaster I have been studying contraction waves in the mouse small intestine, trying to understand the various patterns they create and how these patterns relate to the properties of the ICC network.

Each ICC cell is capable of generating its own electrical oscillation, but the oscillations of the millions of ICC in the network have to synchronise to form waves. Synchronisation between oscillators was first recognised by the 17th century mathematician Christiaan Huygens while he was ill in bed. He had recently invented the pendulum clock and had two of them in his bedroom. He noticed that the pendula swung in synchrony and that if one of them was pushed out of place, within half an hour it would return to synchrony with its partner. Synchronisation depended on the clocks' common supporting frame that communicated minute vibrations generated by each pendulum. The same effect can be demonstrated with metronomes. Steven Strogatz has written an excellent popularisation, "Sync: The Emerging Science of Spontaneous Order", along with a TED talk (below).

ICC are coupled by electrical current through ion channels (see below) rather than mechanically as for pendula or metronomes, but the same abstract principles apply. A network of n coupled oscillators can be modeled by a system of n ordinary differential equations (ODEs). Each ODE gives the cycle position or phase of one oscillator and is a function of the phase difference between it and every other oscillator with which it is coupled. I used this type of model for contraction waves. The gut is much longer than it is wide and so the ICC network was represented by a one dimensional chain of ODEs.

The model, solved in MATLAB, produced with quite stunning verisimilitude the wave patterns seen experimentally. The black and white images below are "diameter maps" (Dmaps): the diameter of a length of intestine as a function of time (x axis) and distance along the intestine (y axis). Contraction waves are dark streaks across the maps. The left shows the experimental Dmap, the right the model.The red and blue images are the autocorrelation of the Dmaps indicating wave frequency. The modeled patterns included dislocations, v-waves and frequency steps. The model provided insight into the properties of the ICC network. It only produced the experimental patterns when spatial noise was introduced into the coupling strength and the natural (uncoupled) frequency of the oscillators.

Dmaps are calculated from video recordings. I constructed the first multi-camera diameter mapping apparatus with an array of ten mini "board" cameras hooked up to a digital video recorder. I wrote a suite of plugins for the NIH's Java-based image analysis platform ImageJ, to calculate and analyse the maps: registration and stitching of the maps from each camera; auto-detection of inserted frames; velocity and frequency analysis (Gaussian derivative filters and FFT); etc.


Effects of gap junction inhibition on contraction waves in the murine small intestine in relation to coupled oscillator theory (2015)

Spatial Noise in Coupling Strength and Natural Frequency within a Pacemaker Network; Consequences for Development of Intestinal Motor Patterns According to a Weakly Coupled Phase Oscillator Model (2016)

Network properties of interstitial cells of Cajal affect intestinal pacemaker activity and motor patterns, according to a mathematical model of weakly coupled oscillators (2017)

See Also

Huygen's Clocks, Bennett et al. (2002)

Single Ion Channel Analysis

Ion channels are tiny holes in the membrane of cells. Ions can pass through them, allowing the cell to regulate its chemical and electrical properties. There are hundreds of different types of ion channel, each specialised to pass a particular ion or ions. As they pass through the channel the ions generate tiny electrical currents, less than a billionth of an amp, that can be recorded by an ultra sensitive "patch-clamp" apparatus.

The banner of this website shows one of my patch-clamp recordings of the maxi-anion channel which I studied at both the University of Nevada Reno and McMaster University. The maxi-anion current switches randomly between two sizes. These are "conductance states", corresponding to the open and closed channel. In other recordings of the maxi-anion channel intermediate conductance states can be seen, where the channel has narrowed but not closed.

Change point detector (CPD) algorithms are ideal for analysing a channel's conductance states. They look for abrupt changes in an otherwise stable (but noisy) signal by assessing the statistical properties of short windows of the signal. Detected changes in channel current segment the recording into conductance states which can be measured one by one.

CPDs are normally performance tested on simulated data, but there was no way to make such a test on real data. I came up with such a test, based on the principle that recording noise gives each conductance state a normal (Gaussian) current distribution and so ideally each segment output by a CPD should be normally distributed. To assess normality I used a novel "swooping bird" plot of z-transformed skew and kurtosis and two statistical tests which combine these, the Jarque-Bera and D'Agostino-Pearson. The swooping bird plot was particularly valuable as it brought out the exact type of errors made by the three CPDs I tested (derivative, Welch's T-statistic, Cochrane's statistic). All this was programmed in C++.

My exploration of normality statistics led to my invention of a novel CPD based on the Jarque-Bera test. This algorithm was more than just a CPD, it also simultaneously grouped detected segments into conductance states with an overall normal distribution, so resolving the overall current distribution of the recording into a family of normals - a mixture model. The algorithm relied for speed on an "online" method of calculating moments (skew and kurtosis) that had little previous application.

Poincare return maps plot the values of a time series, x(t), against their values with some lag, x(t + τ). This can be expanded to higher dimensions with the use of multiple lags, [x(t), x(t + τ), x(t + 2τ), ...etc]. In this case it is sometimes called a pseudo-phase portrait and the number of dimensions (lags) is the embedding dimension. The plot, though only derived from a single variable, can be used to understand the interaction of the multiple interacting variables that drive a dynamical system, its "state variables".

I used pseudo phase portraits of the maxi-anion channel to summarise its conductance states and understand transitions between those states. The ImageJ plugin to make portraits is here. From the portraits and patch-clamp recordings I made a kinetic model of the channel.


Test of normality for integrated change point detection and mixture modeling (2013)

Statistical assessment of change point detectors for single molecule kinetic analysis (2013)

Gating of maxi channels observed from pseudo-phase portraits (2013)