MC-introduction

Multicomponent is a program to simulate and fit slow-motion EPR spectra of nitroxide spin labels attached to a macromolecule. Composite spectra with up to four spectral components are allowed and each component can have its own parameter set, but parameters (fixed or adjustable) can also be shared between components in near infinite ways.

The simulation of slow-motion EPR spectra of nitroxides has been around for a very long time, pioneered and advanced by the excellent work in the Freed lab at Cornell.

Also advances in computing contributed greatly. Back in the early 1990's it took tens of seconds to compute a single isotropic spectrum on our VAX11/780. Today, any modern desktop computer can compute several hundred spectra per second, while high-end multiprocessor hardware can calculate thousands of spectra per second. (Some benchmarks).

As computers became more powerful, the models of motion could be made more advanced (i.e. MOMD) and, in addition to the simulation of spectra, it became possible to fit spectra, allowing the computer to automatically find the best set of parameters for a given model using established optimization strategies. Here computing speed is essential because we need to be able to quickly and interactively test models and parameter sets.

A seminal paper by David Budil introduced EPR fitting via commandline and graphical output. It should be noted that Multicomponent is a direct descendant of NLSL. The core computation of spectra has been retained as a Fortran dll with code that is basically unchanged except for some bug fixes, the shell for the dll export, and the full parallelization of MOMD sub-spectra. The combination of the sub-spectra is now done in LabVIEW and care was taken to retain identical results. A few other minor differences will be addressed in the relevant help sections.

Using the NLSL command line tool required significant expertise, the memorization of many commands, and the correct formatting of input files. One omission was the absence of an input for the microwave frequency.

The Multicomponent program described here is an attempt to address some of the shortcomings and offer a fully graphical UI for simulation and fitting. Since the theory is complicated and there are many parameters, there needs to be an easy way to select any parameter subset for fitting and even share fixed and fittable parameters among spectral components in the most flexible way possible. Full parallelization allows linear scaling with the number of CPU cores to take full advantage of high end hardware. Internal caching avoids redundant calculations.