Wednesday, February 28, 2007

Sparky

The subfield "NMR of proteins" is so visible that makes the rest of the NMR field almost invisible. I suspect at least one of the younger researchers of the subfield even ignore that NMR can be useful for more that studying biopolymers. Until a decade ago these guys were almost the only ones to write software for NMR processing. I have already dedicated two posts to the survivors NMRPipe and Felix. Afterwards they realized that what they really needed was, instead, a tool to manage their lists of cross-peaks or, as they say, to analyze their spectra. Many laboratories have written their own programs which are, quite likely, a constant presence on their monitors, just like an IDE for a programmer. A generous list of these products can be found on the Sparky web site, at the University of California, San Francisco. Unfortunately a good number of links are broken (call it darwinian selection; NMR-software paleontology has already become a rich subject).
The good thing about Sparky is that really anybody (having an internet connection) can install it. Registration is required, but there is neither a protection for the program nor a restricted access to the download area. Registration itself is free and easy. And if you work in the industry it makes no difference (what a breath of fresh air!). Installing Sparky on my iMac has been much easier than I had supposed it to be. The program requires X11, and running it on the Mac entails a few annoying details that I will not tell here about. (Yes, the user experience suffers).
The manual contains very few pages, is written in simple English and requires no specialistic knowledge from the reader. Here and there you encounter an helpful advice, like: "In the red-blue scheme the lowest contour level is red and the highest level is blue with intermediate levels having intermediate colors. This can help you see peaks when looking at highly overlapped regions that are a mass of contours, or when you wish to have low contour levels that show a lot of noise". By default all positive levels are red and all negative levels are green. Simple means Great!
You can start using the program from day 1, but it will take days to become proficient with it. Sparky comes with a number of Python extensions and more can be added, of course. Mastering all of them is probably useless, but mastering the accelerators (keyboard shortcuts) is extremely useful.
It's apparent that Sparky has accumulated years of working experience and there's no need of my rating here (I have no protein to analyze, anyway). Most of the program is about book-keeping the user's lists. There are only a few computation routines, all confined to the task/puzzle of integrating the volume of the peaks.
The manual says it's better to fit the peaks (with a gaussian or with a lorentzian shape) than to sum the discrete points. After the fit, you get a numerical value for the volume and a rms error. I have experimented with a nice ROESY, with a good S/N ratio, and I have got giant rms values (easily above 100%). Unfortunately I don't understand why: in theory I can simulate the calculated shape, but with a different program. Being myself an ignorant, I feel more secure integrating in the traditional way. The big problem is that traditional integrals are underestimated (the tails, going below the lowest contour, are skipped, and with them you renounce to 10-20% of the area). If all the integrals are similarly underestimated it's OK, but if I mix them with fitted areas (hopefully unbiased, but certainly not with the same bias), what am I going to achieve? I stop here, but the subject deserves a book.
There are also facilities to navigate through 3D spectra and to compare different spectra. If your need is to display a spectrum, however, you are better served by iNMR. In its latest incarnation (2.1) the latter sports 5 plotting modes: intensity, contour, stacked, arrayed, chessboard, while Sparky has 1 mode only (and does not handle 1D spectra...). iNMR has trivially intuitive 1-key triggers (and, if you keep the key down, the action is repeated), while Sparky has 2-key "accelerators".
Sparky has been written to perform a specific task. When a program has a single task to do, it can do it better.
"Also output formatted for structure determination with DYANA, or distance restraint calculation with MARDIGRAS can be generated. Finding peaks and making assignments is done manually through a graphical user interface. Sparky does not do spectral processing or distance geometry, molecular dynamics, or make toast." (sic)

0 Comments:

Post a Comment

<< Home