Version History

Release dates:

VersionRelease dateNotes
v14.097th September 20141500+ downloads
v14.0515th April 2014
v14.0215th March 2014
v13.1211th December 2013NEW: PulseGen
v13.1024th October 20131200 downloads
v13.09N/A
v13.077th July 2013
v13.054th May 2013150000+ lines of code
v13.045th April 2013800 downloads
v13.0310th March 2013
v13.026th February 2013
v13.0114th January 2013600 downloads
v12.127th December 2012
v12.1025th October 2012
v12.9N/AYoutube demo videos
v12.815th August 2012500 downloads
v12.79th July 2012
v12.630th May 2012
v12.510th May 2012400 downloads - NEW: cwViewer
v12.22nd March 2012350 downloads
v12.125th January 2012
v11.1119th October 2011NEW: PowerSat GUI
v11.822nd July 2011NEW: cwPlotter
v11.627th May 2011NEW: PowerSat CLI
v11.519th May 2011
v11.415th April 2011
v11.318th March 2011First public release

Release information

v14.09

NEW FEATURE: DAPlotter

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

NEW FEATURE: DALoader

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

NEW FEATURE: DACompare

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.

SpecManRead

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

reportbuilder

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

v14.05

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.

NEW FEATURE: Lcurving

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

SpecManRead

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.

BrukerRead
  • 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
PeldorPlotter
  • Increased robustness in file names
  • PeldorPlotter2, features the same simply without the raw data
PulseGen
  • Improved toolbar
  • Additional robustness
  • Better error handling and reporting
PowerSat
  • Added “Export to Origin” options

v13.12

NEW FEATURE: PulseGen

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.

NEW FEATURE: SpecManRead

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

So far tested with the following experiments:

  • T2
  • T1
  • PELDOR/DEER
  • FSE
  • Transient datasets
NEW FEATURE: VarianRead

Read Varian *.dat files into MatLab.

e2af

General update / bug fix

e2a
  • 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

v13.10

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.

v13.07

Numerous minor bug fixes and improvements.

PeldorPlotter

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:

YYMM-FREQ-EXP-TEMP-SAMPLE.DTA

For example the folder might look like:

1307-X-4PEL-050-MTSL.DTA
1307-X-FSE-050-MTSL.DTA
1307-X-T1-050-MTSL.DTA
1307-X-T2-050-MTSL.DTA
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.

e2af

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).

v13.05

Numerous minor bug fixes and improvements.

EPRtoolbox
  • Technical documentation of all scripts link added to help menu
MISHAP - ALPHA

MISHAP has been in constant development and is near release

v13.04

PowerSat
  • 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.
e2a
  • 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
e2af

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)
NEW FEATURE: eprViewer - BETA

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 simultaneously 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.

v13.03

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.

EasyRefiner
  • 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
  • Separation 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

v13.02

EasyRefiner 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.

v13.01

Github

Constant development has been moved to github: github.com/morganbye/EPRtoolbox This allows users to pull updates as soon as they are coded. Releases will still be made to sourceforge as appropriate, but the toolbox_working_directory on sourceforge will be only contain unzipped versions of the last release.

BrukerRead

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.

cwViewer

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.

v12.10

NEW FEATURE: e2af

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 integration

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.

eloader

Update reflecting changes in BrukerRead

v12.9

Acknowledgements

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.

v12.8

PowerSat

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

    - Manually defined single points - Splitting the peak into a positive and negative peak and then fitting each with a Gaussian distribution - Same as 2 but with a Lorentzian distribution - 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 - Same as 4 but with a Lorentzian distribution
randaddnoise

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

v12.7

PowerSat

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.

cwViewer

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

BrukerRead

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

DeerExtract

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.

DeerConverter

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

v12.6

NEW FEATURE: sgol

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.

cwViewer
  • 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

v12.5

NEW FEATURE: cwViewer

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
BrukerRead
  • 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
BrukerWrite

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

v12.2

NEW FEATURE: DEERextract

  • 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 pdb.org added

  • complete reworking of atom and sequence handling

  • better progress bar functionality

v12.1

NEW FEATURE: Fsc2Read
  • 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

EPRtoolbox
  • 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)

PowerSat
  • 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 KEY FEATURE:
  • PowerSat is now able to calculate the accessibility factor “Pi” as     according to Biophysical Journal (2005) vol 89, 2103-2112

v11.8

KEY FEATURE: EPRtoolbox
  • 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

v11.7

  • Minor bug fixes

v11.6

KEY FEATURE: PowerSat
  • 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
NEW FEATURE: arrow
  • Allows for the drawing of arrows on plots
BrukerRead
  • Loads Bruker files     - Updated to accept .YGF for the 3rd axis         (important for power saturation curves, not available using         “eprload”)         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
cwplot
  • Updated for single x-axis or multiple x-axis data
  • z-axis indictation arrow added for staggered plots

v11.5.0

New in this release:

NEW FEATURE: PDB MTSL changer
  • Swaps PDB residue of MTSL attached to CYS, R1A (crystolgraphy code) for     CYM (computational) residue code
PDBSplitter
  • 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 pdb.org
  • Improved functionality
  • Updated with new functions
  • Added weblink to support
  • Added email link to support

v11.4

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
NEW FEATURE: cwnorm
  • 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
PowerSat
  • Spectra are zeroed before peaks are found. Should help with finding peaks from noise
  • Improved GUI interface
  • Smooth function added for REALLY NOISY data
e2a
  • 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

v11.3

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
PDBSplitter
  • Will now split NMR PDBs with multiple models (taking the first model)
PowerSat
  • 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
  • cwzero and cwzero1 combined into cwzero
  • clearing variables tidied up
e2a
  • clearing variables tidied up
  • help added
  • script / function tided up
eloader
  • 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

This page previously appeared on morganbye.net[^1][^2][^3]

[^1:] http://morganbye.net/version-history [^2:] http://morganbye.net/eprtoolbox/version-history) [^3:] http://morganbye.net/uncategorized/2011/10/version-history

What distinguishes you from other developers?

I've built data pipelines across 3 continents at petabyte scales, for over 15 years. But the data doesn't matter if we don't solve the human problems first - an AI solution that nobody uses is worthless.

Are the robots going to kill us all?

Not any time soon. At least not in the way that you've got imagined thanks to the Terminator movies. Sure somebody with a DARPA grant is always going to strap a knife/gun/flamethrower on the side of a robot - but just like in Dr.Who - right now, that robot will struggle to even get out of the room, let alone up some stairs.

But AI is going to steal my job, right?

A year ago, the whole world was convinced that AI was going to steal their job. Now, the reality is that most people are thinking 'I wish this POC at work would go a bit faster to scan these PDFs'.

When am I going to get my self-driving car?

Humans are complicated. If we invented driving today - there's NO WAY IN HELL we'd let humans do it. They get distracted. They text their friends. They drink. They make mistakes. But the reality is, all of our streets, cities (and even legal systems) have been built around these limitations. It would be surprisingly easy to build self-driving cars if there were no humans on the road. But today no one wants to take liability. If a self-driving company kills someone, who's responsible? The manufacturer? The insurance company? The software developer?