Software
We believe software should be simple, easy to use, open and built for and with the community. Wherever possible we develop tools openly, primarily in Julia, and release them under permissive licences so that other labs can use and adapt them. Contributions are always welcome — don't hesitate to get in touch with Chris if you'd like to discuss.
NMR TITAN
NMR TITAN is an easy-to-use software package for the two-dimensional lineshape analysis of titration experiments. By performing a theoretically rigorous analysis of chemical exchange in 2D experiments, TITAN provides many advantages over other analysis methods, eliminating a number of systematic errors, effectively resolving overlapping peaks, and allowing data to be fitted to complex binding models such as dimerisation, induced fit or conformational selection.
The software is freely available for academic use.
AktaPrime.jl
AktaPrime.jl is a free, open-source Julia application for logging and visualising chromatography data from ÄKTAprime plus FPLC instruments, providing a modern replacement for Cytiva's discontinued PrimeView control software. It plots UV, conductivity, pH, %B and pressure traces live during a run, alongside a diagram of the flow path, and logs everything to CSV for later analysis.
AktaPrime.jl is an independent, unofficial project and is not affiliated with, authorised, endorsed or supported by Cytiva.
Pulse programs
We maintain a library of Bruker-format pulse sequences on GitHub, which provides convenient synchronisation across multiple spectrometers. Pulse sequences for all published experiments are deposited here, while other sequences may be under development and should be used at your own risk.
NMR Sample Management
A lightweight, open metadata system for recording what's in your NMR tube — sample composition, buffer conditions, isotopic labelling, tube type and laboratory references — stored as simple JSON files alongside your experiment data, so it's searchable, portable and machine-readable.
Available as a plugin that runs natively within Bruker TopSpin (v3+), and as a standalone browser-based tool that needs no installation, both built on a shared open JSON schema.
NMRTools.jl
NMRTools.jl is a simple library under development for the import, analysis and plotting of NMR data in Julia, a modern high-level, high-performance, dynamic programming language well-suited to scientific computation.
julia> using NMRTools, Plots;
julia> spec = loadnmr("../../exampledata/1D_19F/test.ft1")
julia> plot(spec)
NMRAnalysis.jl
A Julia package for analysis of NMR data, with particular focus on relaxation, diffusion, screening and protein dynamics experiments.
Also features a graphical interface for analysis of R1rho relaxation dispersion data, featured in our recent preprint (add link).
NMRScreen.jl
An easy-to-use package for analysis of NMR fragment screening data, specialising in 19F R₂ relaxation measurements. This has been developed in-house with medicinal chemists and structural biologists in mind, and makes fragment hit identification straightforward even for those without NMR expertise. The tool automatically matches signals to compounds and generates clear visualisations of your results.
Currently the basis of our in-house fragment screening platform: 19F NMR Fragment Screening Platform.
NMRLitmus (beta)
NMRLitmus estimates sample pH from the chemical shifts of NMR-active indicator resonances. Multiple indicators and nuclei can be combined within a single fit, with observed peaks assigned to predicted resonances automatically.
Temperature, ionic strength and chemical-shift referencing errors can be refined alongside pH, with uncertainties reported for every fitted parameter.