01

AMR & clinical machine learning

MALDI-TOF mass spectrometrysupervised & generative learningcross-site harmonisation

Top row: MALDI-TOF spectra from two sites, misaligned on the left and aligned by peak warping on the right, with the informative peaks marked. Bottom row: a UMAP embedding where samples first cluster by site and are intermixed after batch-effect correction. site A site B raw spectra aligned calibrated P(resistant) from marked peaks align peak warping embedding (UMAP) embedding (UMAP) samples cluster by site batch-corrected correct batch effect
Two sites, two nuisances. Peaks drift in m/z and are realigned by warping; samples cluster by site in an embedding and are mixed by batch-effect correction. The second problem is not specific to spectra.

Antimicrobial resistance is one of the defining clinical challenges of our generation. By the time culture-based diagnostics return a phenotype, the patient has often already been on broad-spectrum empirical therapy for days. The question I work on is whether machine learning, applied to data already produced in the lab (mass spectra, microbiology results, electronic health records), can shorten that loop.

My focus is on MALDI-TOF mass spectrometry as a low-cost, high-throughput substrate for resistance prediction. The signal is rich but noisy, labels are imbalanced, and the data spans heterogeneous clinical sites and patient populations. The work involves clinical and demographic feature integration, calibrated probability outputs, threshold optimisation for clinical decision-making, and evaluation grounded in clinical utility rather than benchmark performance.

Two methodological threads run through this work. The first is cross-site harmonisation: different instruments, calibration schedules, and operating procedures introduce systematic variation that ML models will happily memorise instead of the biology, so I work on ComBat-style corrections, batch-mixing diagnostics, and validation strategies that improve models' generalizability. The second is generative modelling of mass spectra to address labelled-data scarcity and broaden the regime in which deep models become viable on clinical MALDI-TOF data.

02

Infectious risk & pathogen surveillance

clinical phenotypingrisk stratificationmetagenomic surveillance

A multi-state model with transplant, infection, recovery and death states on the left, and two stratified survival curves on the right. Transplant Infection Recovery Death time-to-event S(t) time phenotype 1 phenotype 2
Patients move between clinical states over time. Data-driven phenotypes are then compared on their survival curves.

Infectious disease is more than the resistance phenotype of a single isolate. Individual patients carry risk that depends on phenotype, immune status, and clinical trajectory; at the population scale, pathogens evolve, spread, and circulate through environments and communities. The two views share the same quantitative vocabulary: high-dimensional structured data, time-to-event outcomes, and dynamics that resist simple summaries.

At the patient scale, I work on computational phenotyping: unsupervised learning on heterogeneous clinical data combined with survival analysis and multi-state models, so that fragile populations (transplant recipients, critically ill patients) are stratified by outcomes that matter (event-free survival, transitions between disease states, treatment success). At the population scale, the work spans pathogen surveillance through metagenomic monitoring of circulating strains, and epidemic modelling for outbreak dynamics.

03

Computational genomics

structural variantssomatic callinglong-read sequencing

Short reads aligned to a reference with a point variant highlighted, and a histogram of mutation classes dominated by C to T changes, an APOBEC-like signature. reference short reads variant mutational signature C>A C>G C>T T>A T>C T>G APOBEC-like variants counted by mutation class
Point variants emerge from the short-read pileup. Counted by mutation class they form a signature, here dominated by C>T changes, the mark of APOBEC editing.

Genomic data carries signal that is easily lost in noise: structural variants spanning complex regions, somatic mutations diluted by tumour heterogeneity, mutational signatures that need careful deconvolution to be interpretable. Each step from raw reads to clinically usable variant is a small statistical decision that compounds with the next.

My work in this area builds methods and tooling to support structural and somatic variant discovery from short- and long-read sequencing, and to make mutational signature analysis tractable in clinically relevant genomic contexts.

04

Computational methodologies

bioinformatic toolsopen-source softwarereproducible pipelines

A wall of bricks with one piece missing, a lone spot on the ground, and a new piece above with dashed arrows to both: it can fill the gap in the construction or stand on its own.
A useful method missing from the toolbox is a gap. I build the piece that fills it, inside a larger construction or standing on its own.

A recurring part of my work is noticing gaps: a computational method or algorithm that would be useful and convenient, but is missing from the literature or from the available tooling. When that happens I try to fill the gap with a small, focused, open-source library. Some of these tools stand on their own; others are designed to be integrated into larger pipelines and into other people's workflows.