Friday, September 21, 2007

SpinWorks

I was curious to discover: why isn't SpinWorks the most popular NMR application in the world? It has the essential qualities: it's free, it runs on Windows, it comes from Canada... I have read the manual of version 3, by Kirk Marat, and I soon realized that he knows more NMR than I will ever do and works into a much more scientifically advanced environment than mine (presently at least). From the manual I received some strange hints. Look at this excerpt:
"The polynomial is defined such that increasing curvature is to the right or low frequency (high field) end of the spectrum. If your data has significant baseline curvature at the left end of the spectrum, simply reverse the spectrum, correct the baseline, and then reverse the spectrum to its correct orientation."
Unbelievable! Does it mean that the baseline model can only consider a limited set of coefficients? Why can't it be changed? Even if the proposed work-around doesn't sound too difficult, it's an indecent proposal. You can't ask such a thing. No other NMR program asks such a thing. You should change the program instead!
Apart from this incident, the manual is short, readable, simple, well-done. The author states that he prefers writing the program rather than the documentation, but I received the opposite impression. I have installed version 2.5.5 and started playing with it. I was appreciating the consistency of the interface. For example, a lot of commands require the presence of 1 or 2 cursor, and every time you click with the mouse you are creating on of them (when there are already 2 cursors, they both deleted). The icons are easy to find (they come in limited quantity and are wisely color-coded). Following either the pdf manual or the tutorials, every thing makes sense. Not enough effort has been made, however, to create shortcuts. Some operations that could have been condensed into a single gesture, actually require many steps. The most striking example is the simulation of a 1D spectrum. The parameters are stored into 3 different dialogs, one for the chemical shifts, one for the Js and another for the dipolar couplings. What's worse, when you close the dialogs, nothing happens. You need to issue a menu command to force the recalculation of the spectrum. Certainly we are not speaking of a routine operation (for any other program; simulations are actually a pillar of Spinworks). The concept is more general. Zooming also requires 3 clicks and, overall, there is an incredible high number of menu commands for such a small application. This is not a defect, just a characteristic of the program you need to get used to.
The module for Manual Phase Correction is very well done, and that's important, because automatic phase correction performs quite badly. There are, however, important details that would discourage me from using SpinWorks. The integrals are visible only if the integration module is open. The labels of peak-picking stick exactly on top of the corresponding peak, therefore overlap with other labels or other peaks and I can't see neither the labels nor the peaks. Baseline correction requires manual sampling (really boring) and I was not satisfied by how the correction itself works (my baseline kept a significant offset). In such unsuccessful cases, it's annoying that the correction is not interactive.
The adjustment of the optional inset is, instead, interactive. That's OK.
I still had to explore 2D and simulations and had already been able to make the program crash twice. I felt that I was not doing justice to the product if I reviewed an old version and decided to download the latest one (number 3, still in beta stage). The installation was OK, but the program refused to start ("initialization failure" it said). The same thing had happened with NP-NMR. It's quite frustrating to be forced to review these poor programs onto such an unknown OS (Windows XP) and be faced by these hopeless messages. Enough to discourage me to keep this blog alive. The manual says: "Release 2.0 (or higher) of the .NET runtime environment is required." I have seen enough.
Whoever you are, you can collaborate to this blog. If you want to write a review, I will publish it. If you prefer to add your comment, just do that.
I always expressed my impressions, in all honesty, knowing that, if I am wrong, any reader can correct me. I want to comment on the few things I have seen of SpinWorks. It has a good style, that makes for a sweet learning curve. Several parts of it are OK, while others work so bad that are useless. My impression is that the author doesn't care. He's not lazy, otherwise he wouldn't have written all that documentation. It seems that he can't realized which modules are finished and which are approximative only. Or, if he realizes, he doesn't care, or has something more important to do in his life than programming.
He has recently embarked, however, into a new effort, because he has moved the program from an architecture (MFC) to another (.NET). The program hasn't changed too much, which means that the underlying design is still the same. Users should never worry about these things. They should only care about stability, speed, support, etc.. A bad design means, however, that the program can't grow. For example, SpinWorks can't open more than one spectrum. Nothing is forever. A design can be changed, like the architecture can be changed, the programming language can be changed, the name too... It all depends onto how much the maker and the sponsor like to invest.
The bottom line: SpinWorks has an inviting interface, but many modules are not satisfactory. I am not recommending it for daily use. If you need to simulate a spin system, consider also gNMR (abandon-ware). If you need to simulate a dynamic spectrum with either DNMR3 or MEXICO, then you should try SpinWorks first, for the simple reason that it contains both.

http://www.umanitoba.ca/chemistry/nmr/spinworks/

2 Comments:

At 5:31 AM, Anonymous Kirk Marat said...

I came across this blog while browsing the web. I am the author of the reviewed software and just want to make a few comments, describe the reasons why some things were done the way they were done the way they were, and describe where the software is headed.

First of all, let me say that I very much appreciate the comments. I find that when people tell me what they don't like about the software that this is the most important feedback for making improvements.

Regarding polynomial baseline correction: All poylnomials curve to one end or the other. Most NMR spectra require only very low order correction or, at least for proton spectra, have more curvature at the right end. I have only encountered a very few cases where I have had to reverse the spectrum, correct the baseline, and then restore the original orientation. So few cases, in fact that I haven't been motivated to have a polynomial option that has increasing curvature at the left. SpinWorks 3 will have a cubic spline baseline correction as well as a polynomial. For spectra withe severe baseline curvature I tend to use backwards linear prediction. For baseline offset, adjust first point multiplier.

>> "No other NMR program asks such a thing." Actually, the interactive polynomial baseline correction in UXNMR/XwinNMR requires exactly the same operation. Not sure about TopSpin.

The parameters for simulation were split into three dialogs for one main reason: The number and labelling of the couplings depends on the definition of the spin system (including symmetry and multiplicity) in the chemical shift dialog. If shifts and couplings were in the same dialog, the labelling and number of the coupling constant boxes would have to be updated with each edit of a shift. The current coupling dialogs look at the spin system definition and dynamically generate the proper number and labelling of the boxes. I guess the J and D coupling boxes could be combined, however.

I actually asked users whether they wanted automatic update of a simulated spectrum after editing the spin system parameters. The almost unanamous verdict was no! Most found the calculation delays at the closing of the dialogs annoying, especially for bigger spin systems. This was in the days of slower computers, however. I will consider adding an option for autoupdate of simulated spectra.

I was surprised at the finding of crashes during 2D processing. 2.5.5 is generally pretty stable at general 2D processing. Can the reviewer send me a description of the problem and some sample data?

Yes, the automaic phase corection sucks! Automatic phase correction is actually quite difficult and I just haven't had time to get a come up with a really good algorithm yet. The problem is generally with sparse digitization and baseline offsets and curvature. I have also noticed that neither the Bruker nor the Varian autophase routines work perfectly either although, from what I have observed, Bruker's seems to work a bit better than Varian's.

The "initialization error" seen with SpinWorks 3 simply means that release 2 of the .NET framework is not installed. This is an easy download and install from MS, and is also included on the SpinWorks ftp site. The install program for the latest SpinWorks 3 beta actually tests for .NET 2 at install time, and stops the installation until it is loaded. I have switched from Installshield to the Windows Installer for the installation. .NET is the future of MS software and should, in theory, produre a platform independent program. Any OS that supports .NET should run the software. There has been some initial, if not complete, success running SpinWorks 3 under mono on Linux. Unfortunately, the .NET level in mono is not quite up to the MS version yet.

In the initial MFC version, the tools provided for a "Single Document Interface" or a "Multiple Document Interface". Although it would be possible to use the MDI for NMR spectra (MestRC does) it is complicated because NMR spectra, especially 2D spectra are MUCH more complicated objects than the "documents" envisioned by the MFC designers at Microsoft. Microsoft has abondoned the "document/view" SDI/MDI ideas used in MFC. They are no longer supported in .NET I will be adding "multiple workspaces" to SpinWorks 3.

"If you need to simulate a spin system, consider also gNMR (abandon-ware)." I happen to know the author of gNMR, and he and his students are now using SpinWorks for much of their routine NMR processing.

Cheers
-Kirk

 
At 9:01 AM, Anonymous Ben said...

I really like this sofware. Every institution I go to I end up educating coworkers about the possibility of processing NMR data in the comfort of your own office or home. The addition of workspaces to 3.0 is nice and is a step towards tabbed processing.
The only thing lacking is single line, rounded single decimal point, comma separated, ascending or descending (you choose) output of peak listings for integration into experimental data sets. The current text output, if you choose to use it, still means you have to retype the data for publication. Recommended software.

 

Post a Comment

<< Home