Griffin Chure, PhD

# Showcase

In addition to photography, I focus my artistic streak on making high-quality illustrations for talks, papers, and presentations, some of which are shown below. I also think that the future of publishing will not include PDF file formats. Therefore, I enjoy making interactive figures and pedagogical tools. This page shows a bunch of those examples with some descriptions. All interactive figures were built using the Bokeh plotting library in Python. The script used to generate it can be downloaded from the link below each figure.

This page will look pretty weird on a phone or tablet screen. Things are much easier to interact with on a computer.

## A two-dimensional random walk

Random walk processes can be used to explain an enormous variety of physical phenomena and is the basis for one of my favorite computational techniques, Markov chain Monte Carlo. The interactive tool below allows you to create a two dimensional random walk of $$10^5$$ steps. The left plot will show the entire random walk while the right plot will show the current position and the previous 5000 steps. Adjust the slider to move the particle along its path.

Bokeh Plot

Source Code: random_walker.py.

## Gillespie simulation of a constitutive promoter

The Gillespie algorithm is an incredibly powerful computational technique to simulate stochastic processes and numerically compute distributions of otherwise hard-to-solve differential equations. The tool below lets you perform a Gillespie simulation of a constitutively expressing promoter (i.e. not regulated) at the level of mRNAs. While the ODE is trivial to solve (equation in the box above), it’s illustrative to run the simulation to see how it can be reproduced numerically. In the interactive, thin purple lines correspond to the simulations whereas the orange line presents the analytical solution given the input parameters.

Bokeh Plot

Source Code: gillespie.py.

## The Bayesian coin flip

This interactive illustrates how a posterior probability distribution over the bias of a coin is influenced by the number of flips and the parameters of the prior distribution. In this example, the likelihood is a Binomial distribution of the form

$f(n\,\vert\,N, p) = \frac{N!}{n! (N - n)!}p^n(1 - p)^{N - n},$

where $$N$$ is the number of flips total and $$n$$ is the number of heads. The conjugate prior of the Binomial likelihood is a Beta distribution parameterized by $$\alpha$$ and $$\beta$$,

$f(p\,\vert\, \alpha, \beta) = \frac{p^{\alpha - 1} ( 1- p)^{\beta - 1}}{\mathbf{B}(\alpha, \beta)},$

where $$\mathbf{B}(\alpha, \beta)$$ is a normalization factor defined as

$\mathbf{B}(\alpha, \beta) = \frac{\Gamma(\alpha)\Gamma(\beta)}{\Gamma(\alpha + \beta)},$

where $$\Gamma(\dots)$$ is a Gamma function.

Bokeh Plot

Source Code: bayesian_coin_flipper.py.