EPR toolbox home screen
Sunday, 7th September 2014

EPR toolbox

Download the most recent release on sourceforge

Latest release: 7th September (v14.09)

The EPR toolbox project is a major on-going development of scripts and user interfaces that run within the MATLAB environment allowing the completion and automation of many of the every-day tasks associated with Electron Paramagnetic Resonance (EPR). Simple things like loading a spectrum, apply some calculations and plot the results (in publishable quality).

This toolbox started as an amalgamation of a number of my own scripts into one user friendly interface (full list here). As it has long been my belief that you shouldn’t need to be a programming expert or have a PhD to be able to present your data in a suitable manner and that’s where the EPR toolbox comes in.

Where possible, I’ve strode to use open-source software such that the toolbox remains free to academic users and to avoid the possible problems of copyright.  However, some things (notably PowerSat) require the MATLAB Curve Fitting toolbox, but otherwise where possible closed-source and non-free tools are avoided to ensure the toolbox stays free (as in beer, and as in speech).

The toolbox remains a work in progress and all releases should as such be considered as beta software.  Whilst I try to test everything before I make it publicly available occasionally things wont work – particularly there are some differences in MATLAB between Linux (that I code on) and Windows. On these occasions I ask for you to have patience and contact me or add it as an issue to github. As yet, I’ve never failed to come up with a solution within a day or two, and all solutions are fed back into the toolbox ultimately helping other users.

Each script is extensively commented and has a large script description / help section.  With any script you should be able to press F1 for help to see the description. Lload the .m file in a text editor allows you to see the help as well as version history for that file. Finally all scripts come with examples of how it use it here on the website.

Finally, I distribute the EPR toolbox under a Creative Commons share a-like license. So please feel free to chop, change and copy any of the code you like. All I ask is that you give me an acknowledgment and feed back any improvements so that others can also benefit.

So, if you have found the EPR toolbox and it has helped you in some way then please consider dropping me an email (it means a lot to receive them) or if you’re feeling generous how about buying me a beer/coffee to say thanks?


PS: MMM 2013 is out now and if you look to the Acknowledgements in the user manual you’ll see the work here on PDB files has been fed into MMM.

Version History

If you find this software then consider contributing to the coffee fund:


Full documentation of features here

Key features:

Single file loading

Directory file loading

Basic baseline zeroing (single file/folder)

Bruker BE3ST to ASCII file converter

MMM loader

MMM PELDOR prediction temperature assay plotter (2 or 3 spin sites)

Power saturation curves (automatic loading and calculation of O2, N2 and NiEDDA)

cw-EPR function list


load and view whole experiments of power saturation data, quickly plot power saturation curves and calculate the fits of up to 3 curves at a time


load and view cw spectra quickly and easily with viewing individually, stacked or one at a time. Additional features for averaging, normalisation and smoothing


stagger the plotting of cw spectra in the x and/or y directions


queue up EasySpin fitting experiments and stagger them with rounds of refinement


plot a cw spectra with both magnetic field and g value x-axes


automatically find the exact peak positions of a spectrum


normalise an array of intensity data


convert a Bruker file into an ASCII file


convert a folder of Bruker files into an ASCII files

Pulsed-EPR function list

extract raw data from a DeerAnalysis figure


generate pulse diagrams quickly and easily

PDB function


load a PDB (local or online) and split into PDBs of each chain


take a PDB with R1A label residue and convert it to CYM residue (for NMR programs)


load a PDB file (without the use of Mathwork’s BioInformatics toolbox)


companion script to pdbimport

About Morgan Bye

Scientist, programmer and all around techie


EPR toolbox