Wednesday, 19th October 2011

Version History

Release dates:

Version Release Notes
v14.09 7th September 2014 1500+ downloads
v14.05 15th April 2014
v14.02 15th March 2014
v13.12 11th December 2013 NEW: PulseGen
v13.10 24th October 2013 1200 downloads
v13.09 N/A
v13.07 7th July 2013
v13.05 4th May 2013 150000+ lines of code
v13.04 5th April 2013 800 downloads
v13.03 10th March 2013
v13.02 6th February 2013
v13.01 14th January 2013 600 downloads
v12.12 7th December 2012
v12.10 25th October 2012
v12.9 N/A Youtube demo videos
v12.8 15th August 2012 500 downloads
v12.7 9th July 2012
v12.6 30th May 2012
v12.5 10th May 2012 400 downloads – NEW: cwViewer
v12.2 2nd March 2012 350 downloads
v12.1 25th January 2012
v11.11 19th October 2011 NEW: PowerSat GUI
v11.8 22nd July 2011 NEW: cwPlotter
v11.6 27th May 2011 NEW: PowerSat CLI
v11.5 19th May 2011
v11.4 15th April 2011
v11.3 18th March 2011 First public release

Release information



Takes a saved DeerAnalysis file and plots it rapidly in a graphically
pleasing way for notebooks. Figure 1, raw DEER data. Figure 2, raw data
after background subtraction with fit. Figure 3, distance distribution


Takes a saved DeerAnalysis analysis and loads the data to the workspace in
a set of convienient x and y arrays.


Takes 2 or more saved DeerAnalysis analysis and plots in a similar way to
DAPlotter but overlaid for direct comparison.

NEW FEATURE: zerofill

Takes a dataset and zerofills the end, by doubling in size, by a percentage
increase or to a set number of datapoints.


Minor updates for better error handling as well as correct loading of echo
profile and frequency sweep experiments


A lot of updates regarding new versions of LaTex. Updated for new
experiments in SpecMan – echo profile, frequency sweep


NEW FEATURE: reportbuilder

reportbuilder aims to take all of the hassle out of plotting data in a repetitive manner. A graphical user interface guides file selection of the raw data files. The data is then imported, plotted with a table of the key parameters from the experiment.
Images are presented by default in vector format. Then a LaTeX (.tex) file is generated. On a Linux system the .tex file is automatically compiled to generate a formal report (PDF) on A4 paper for easy printing.


Takes a DeerAnalysis L-curve result file and generates a PDF figure report


Complete rewrite of how experimental data is processed now we scan through the parameters section, find the variable that changes, then look for that variable and see how it increases. Based on whether it is a “x to y”, “x step y” or “x, y, z …” experiment the axis is then generated.

As this is terribly complicated there is a lot of commenting for this section. It should now work for almost all experiment types. But testing is the only way to tell for sure.

  • CPMG support
  • Error handling in figure plotting
  • Better error reporting for when a file cannot be opened –
    by file permission or missing file
  • YUNI (y axis units) now uses a try statement – old Xepr versions will not
    automatically add it to the .dsc file
  • Increased robustness in file names
  • PeldorPlotter2, features the same simply without the raw data
  • Improved toolbar
  • Additional robustness
  • Better error handling and reporting
  • Added “Export to Origin” options



Dr. F. Mentink of the Weizmann Institute of Science, donated code for the drawing of pulse sequences easily in MatLab. This code has been implemented as a graphical user interface and allows users to draw complex pulse sequences quickly and easily. The pulse sequence can then be exported in a number of image types.


Read SpecMan *.dat/*.exp/*.d01 files into MatLab.

So far tested with the following experiments:

  • T2
  • T1
  • FSE
  • Transient datasets

Read Varian *.dat files into MatLab.


General update / bug fix

  • Added header to output file
  • Optional ‘noheader’ call
  • Input arguments tidied up
  • Removed extremely complex output argument and replaced with smarter use of output arguments


With PhD thesis completion, submission and defence a huge number of small changes have been implemented making for better efficiency or error handling.

All files have been updated with new/improved help sections.

New website design for clarity in coding.


Numerous minor bug fixes and improvements.


A complete setup of a PELDOR experiment includes a T1, T2 and field swept echo before the PELDOR trace. By pointing T1T2Plotter at one of these files in a folder it will automatically plot all 4 experiments as a single figure of subplots. The figure is then automatically saved to the same location as a PDF for quick printing.

Files must be saved with the file format:


For example the folder might look like:




DAPlotter – DeerAnalysis Plotter

Takes the saved files from a DeerAnalysis analysis and plots the raw data, background subtracted PELDOR trace with fit and the distance distribution as a single figure of subplots. The figure is then automatically saved to the same location as a PDF for quick printing.


The Bruker EPR (folder of) data to ASCII tools now supports pulsed experiments. Data is outputted with 3 columns for x, y (real) and y (imaginary).


Numerous minor bug fixes and improvements.

  • Menus updates
  • Technical documentation of all scripts link added to help menu

MISHAP has been in constant development and is near release


  • When loading a file, check added to see if file has already been loaded. If so, erases previous file, preventing errors and allows for better file comparison.
  • “File” > “Reset all” now clears the old data files and axes instead of opening a new instance of PowerSat and closing the old one
  • Changed PS_Pi so that Pi is calculated faster and calculated automatically if nitrogen and DPPH have been loaded, allowing for single oxygen or NiEDDA experiments to be analysed and not requiring all 4 datasets to be loaded.
  • Minor bug fixes, better graphic presentation.
  • More error reporting added – if power saturation fails or Pi is not able to be calculated then the user is messaged.


  • Added interpolation variable so that the created files can have data points at a given interval eg. 0.2 gives a data point every 0.2 G
  • Changed input address – removes conflict with address command
  • Added switch for output to the same folder – so that if the folder is the current folder it still works

Added interpolation variable so that the created files can have data points at a given interval eg. 0.2 gives a data point every 0.2 G

Added ‘noheader’ option for use with programs that do not like headers

Compatible with pyDipfit:

e2af(‘/folder/of/files’,’\t’, ‘.dat’, ‘noheader’, 0.2)


This feature will eventually take over from cwViewer as the main viewer interface with more features and significantly better handling of pulsed experiments.

NEW FEATURE: MMM_figureshaper

Take DEER window distance distribution saved figures and plot them nicely, saving them automatically as an image file whilst simultaniously generating a .CSV file of the x and y axis.

FEATURE REMOVAL: MMM_rotamers (directory/_install.m/_uninstall.m)

Feature not required with new MMM release.


Various bug fixes to many scripts

MMM 2013

Work here has been published in the new version of MMM in that the PDB read and write functions have been revamped to conform better with the PDB standard and ensure better functionality with other programs. Namely enforcing 80 character lines.

  • Added a “Run later” button, so that the start of a fitting run can be defined as an exact date and time in the future.
  • Better error handling
  • Supports long file names
  • Closing waitbar cancels queue at end of current fit
  • Seperation of EasySpin stats in command window using file name
  • Add fit results to the output
  • Handling of non-valid file name characters in file title



Faced with 50+ cw spectra to put through EasySpin to get accurate g-tensors, A-values and correlation times, this GUI will simulate folders of spectra at a time and through multiple steps refine each value.



Constant development has been moved to github: This allows users to pull updates as soon as they are coded. Releases will

still be made to sourceforge as appropiate, but the toolbox_working_directory on sourceforge will be only contain unzipped versions of the last release.


Big update to BrukerRead so that it now reliably can open and plot almost all common pulsed EPR experiments including FID, FSE, PELDOR, ESEEM, HYSCORE, ENDOR, DONUT.


Many improvements for Windows users, Windows despite what the Mathworks documentation says, uses a different addressing system for positioning windows/figures. Switches have been introduced such that windows always appear on-screen and not just above it as was reported by some users.



By request from the guys at NREL, e2a has been expanded to convert an

entire folder of Bruker files to ASCII files in one easy script.

MMM intergration

Integration between the EPR toolbox and tools provided by ETH Zurich

(namely MMM and DeerAnalysis) has begun. This is part of a longer term

project. This work is not yet published, but can start to be seen in

changes to pdbimport/pdbexport.


Update reflecting changes in BrukerRead



A short acknowledgements section has been added to README.txt

Video Demonstrations

PowerSat and cwViewer now have demonstration videos available on YouTube,

see each programs help section for links, or their webpage to view.



Another big update for PowerSat. Raw data can now be fitted using 5 different methods

  1. Manually defined single points
  2. Splitting the peak into a positive and negative peak and then fitting each with a Gaussian distribution
  3. Same as 2 but with a Lorentzian distribution
  4. Fitting the signal with a 1st derivative Gaussian distribution, the 2nd derivative is then calculated, and where the 2nd derivative = 0 then that is the turning point (peak or trough) of the 1st derivative
  5. Same as 4 but with a Lorentzian distribution

addnoise – renamed to avoid conflict with addnoise from EasySpin, as most users will have both installed. Minor update to help and argument inputs

General toolbox

Several functions have had minor tidy ups and optimisations



Massive rebuild of PowerSat, spectra can now be fitted with Gaussian peaks before the peak-to-peak height is taken. Accessibility calculations, have been improved and additional functionality for folder loading as well as full compatibility with Bruker .spc/.par files from EMX machines.


New function/window that allows you to send the currently viewable screen to EasySpin. Suitable for quick or frequently repeated EasySpin functions. The window comes complete preloaded for nitroxide spin labels


Big reworking so that it now works with .spc/.par files from Bruker EMX spectrometers, having received some files to play with


Function has been reworked so that it finds an open DeerAnalysis window by searching all MATLAB figure windows and then gets the figures. This means that it automatically obtains data arrays with no export needed.


Error handling added so that no error is presented if a user cancels the selection of a file



Crude implementation of the Savitzky-Golay smoothing function. This allows for data to be smoothed without such pronounced problems of line/peak broadening and intensity lose found with a moving point average.

NEW FEATURE: Documentation

The toolbox now comes with a folder “doc” inside of which is index.html which gives support to all EPR Toolbox files in web page format.

  • Savitzky-Golay smoothing function added to Viewing Options
  • Add noise function added to Viewing Options
  • x-axis can now be switched between Magnetic Field and g-value
  • Export of CSV data includes g-values



Massive revamp of cwPlotter into a new feature.

  • Ability to load a single cw file, folder of cw files or cw file with a third dimension (such as power)
  • Will handle FSEs and FIDs
  • Ability to manipulate spectra in real time
  • Auto-zero, normalize and smoothing functions
  • Ability to stagger plots
  • Export and save functions as pictures, Bruker files or CSVs
  • Save/Load a workspace to continue working on files at a later date
  • Better handling of pulse experiments
  • Inputs changed so that ‘plot’ can be used by itself
  • Figure plotting reconfigured and improved
    •       imaginary channel for pulse experiments
    •       legend is displayed for real/imaginary channels
    •       x-axis corrected for time or mag field depending on FSE or FID experiment with correct units/label

Changed 3rd input argument so that if a file path is specified then the script writes out to that address. Only useful really for when this script is called from other scripts; ie. in a for loop for writing many files



> Extract the raw data behind plots in ETH Zurich’s DeerAnalysis

NEW FEATURE: pdbexport

> Partner script to pdbimport

NEW FEATURE: pdbimport

> Complete reworking of function

– URL read added

– direct download from added

– complete reworking of atom and sequence handling

– better progress bar functionality


> Read Fsc2 files from Jens Törring’s (FU Berlin) fsc2 program
NEW FEATURE: JeolRead   < BETA release >
> Read Jeol *.esr files into MATLAB.
NEW FEATURE: BrukerWrite
> Allows x and y arrays in the MATLAB workspace to be saved out into the
    Bruker BES3T format (.DTA and .DSC files)
NEW FEATURE: addnoise
Allows the application of noise to a spectrum as a random values added or subtracted within a range defined as a percentage of the maximum signal range
> Minor fixes to folder structure
> Additional help sections added to most scripts
> Some minor coding housekeeping detailed in script help(/header) sections

v11.11 (current)

> Massive overhaul of PowerSat
> Far quicker processing time
> Improved formatting for Windows user
> Improved function handling thanks to tilde (~) removal in code
> Better error catching and error messages
> Modular design with full documentation
> PowerSat is now able to calculate the accessibility factor “Pi” as
    according to Biophysical Journal (2005) vol 89, 2103-2112


> EPRtoolbox now functions under a full graphical user interface
NEW FEATURE: cwPlotter
> Ability to load a single cw file, folder of cw files or cw file with a
    third dimension (such as power)
> Ability to manipulate spectra in real time
> Auto-zero, normalize and smoothing functions
> Ability to stagger plots
> Export and save functions
> g – value cursor


> Minor bug fixes


> The PowerSat feature has been completely reworked as a graphical user
interface for real time manipulation of data
> Ability to choose peaks (from single power or all powers combined)
> Automatic Power Saturation Curve plotting
> Automatic P1/2 determination
> Real time updates to curves and P1/2 when chosen peaks are changed
> Ability to use 1, 2 or 3 datasets
> Allows for the drawing of arrows on plots
> Loads Bruker files
    > Updated to accept .YGF for the 3rd axis
        (important for power saturation curves, not available using
        z_axis and z_axis_points in info matrix
    > Now accepts pulsed experiments
        > info matrix loads pulsed info only (no cw empty fields)
        > Real and imaginary channels plotted into y.real and y.imag
> Updated for single x-axis or multiple x-axis data
> z-axis indictation arrow added for staggered plots


New in this release:
> Swaps PDB residue of MTSL attached to CYS, R1A (crystolgraphy code) for
    CYM (computational) residue code
> Feature rewritten to run faster
> Faster writing of PDB files
> Maximum number of chains increased to 6 (Chains A to F)
> Improved GUI for PDB gathering from
Main Menu
> Improved functionality
> Updated with new functions
> Added weblink to support
> Added email link to support


NEW FEATURE: MMM rotamer exporter
> Allows for the exporting of individual rotamer PDBs rather than an ensemble PDB of all the rotamers from MMM
> Feature is implemented within MMM and relies upon code by Yevhen Polyhach and Gunnar Jescke
> Installer written by M. Bye
> Uninstaller written by M. Bye
     returns MMM to clean state if wished
> Normalises a cw spectra
     > By default between -1 and +1
     > Input argument for any range
          eg. cwnorm(y,100) for +/- 100
EPRtoolbox menus
> cw menu updated for NormSpectra function
> cw menu now has better error catching if spectra has not been loaded correctly
> MMM menu updated
> MMM menu updated with better error catching
> Spectra are zeroed before peaks are found. Should help with finding peaks from noise
> Improved GUI interface
> Smooth function added for REALLY NOISY data
> Script changed to function
> Added input arguments for user’s choice of delimiter and file extension
    eg. e2a(filename , ‘,’ , ‘.csv’) for a comma seperated value file


EPRtoolbox menus
> Updated help function
> Web links now provided to functions that are not necessarily included in the toolbox (MMM, easyspin)
> Menus updated to reflect combination of eloaders and cwzeros
> Folder structure introduced for scripts
> Will now split NMR PDBs with multiple models (taking the first model)
> Adjusted x-axis label to be more accurate
> Adjusted NiEDDA label to a more accurate position
> Added clear variables line
> Adjusted fitting equation for better fit
> Better curve reporting in command window
> cwzero and cwzero1 combined into cwzero
> clearing variables tidied up
> clearing variables tidied up
> help added
> script / function tided up
> Combined eloader and eloader1 into a single eloader script
> Clearing variables tidied up
> Help added
MMMplotter 2/3SLs
> Added GUI to select folder
> Created figures are now named
> Clearing variables tidied up
> Help added

About Morgan Bye

Scientist, programmer and all around techie


EPR toolbox