Plotting lineage persistence with Bokeh

March 2020

These plots can be useful for exploring trends in infectious disease outbreaks over time. In some recent work on bugs growing in hospital sinks, I used the one below to help show that sink drains are colonised by a handful of E. coli lineages, which occasionally overlap with infections seen in patients staying on the same wards. This is a small dataset, but the interactivity of Bokeh is proving useful for exploring a larger version of this dataset, where room for annotations is limited. The code below clusters a dataframe of SNP distances (produced here from a recombination adjusted SNP phylogeny), and uses a dataframe of sampling dates to produce a plot much like the one below.

Inefficient access

February 2019

SRAM PR has worked the news of its expensive AXS (‘access’) groupset into far corners of the cycling universe, launching alongside a battering of cross-channel targeted advertising, manufacturer partnerships and paid promotions. It’s one of the industry’s most aggressive launches in recent times.

“Why is Europe incapable of producing businesses like Uber?”

December 2016

Poster child of the gig economy, Uber operates to a unique set of standards and shrugs off much of the criticism fielded by its peers in this sector. Yet since its reluctant publishing of GAAP figures, it has become clear that not only are Uber’s innovation claims dubious, but that neither its core business model nor predictable pivots have yet to deliver the earliest signs of promise.