Sunday, 28 October 2007

Kirk Marat on Spinworks

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

No comments:

Post a Comment