Bayesian Analysis of NMR Spectra
As part of the Innosuisse project Machine Learning for NMR Spectroscopy the Scientific Computing and Algorithmics Lab developed in collaboration with Bruker BioSpin a Sequential Monte-Carlo Sampling (SMC) method for analysing NMR spectra.
The objective is to infer the structural parameters (chemical shifts and coupling constants) given a measured NMR spectrum and molecular structure candidate (more precisely, the structure of the corresponding spin system).
Our approach, implemented entirely in C++, combines a quantum mechanical simulation of the NMR spectrum (given a set of spin system parameters) and an SMC sampler (using a HMC kernel and extended likelihood tempering), where prior knowledge about the spin system is incorporated by a prior distribution. Using the measured NMR spectrum, the posterior distribution is gradually constructed from which the spin system parameters are ultimately inferred. A more in-depth description of the method can be found under https://authors.elsevier.com/sd/article/S1090-7807(24)00107-1.
The following animation illustrates the sampling process using a simple test system (AA'-BB' spin system) with known target values (indicated by vertical green lines). The broad initial distribution (prior distribution) does barely constrain the chemical shifts (upper two panels) and the coupling constants (remaining panels). By observing the NMR spectra and ongoing sampling process the distributions get more and more located at the respective target values. Eventually, the resulting posterior distribution is a narrow distribution centered at the respective target values.