Tuesday, June 10, 2008

Stan's Blues

Stan speaks a different language.
I desire to know NMR and math like he does, but I am hopeless. It' s like dreaming to play football like Julio Ricardo Cruz or chess like Michele Godena or the sax like Getz. Generally speaking, when I read a scientific paper, I don't understand what's going on. Sometimes, however, I need to decide, at least, if that paper/poster is important or forgettable. My "trick" is to think like a better. (Actually, every better thinks in his own way...). Now I will show you my "analysis" of the eDispa poster.
One very good reason to bet that eDISPA works: the authors, who are friends of mine, wrote privately that eDISPA really works; they have never told a single lie and I trust them.
Five reasons to bet against it:
(1) The poster says the method is not ready yet. An algorithm, like a principle, either works or not. If it's not ready YET, it means that it doesn't work and never will. I do hope that Stan has discovered ANOTHER method that works, but, from his words I get that the method described into the poster doesn't work.
(2) In the last 20 years more than ten articles have been proposing novel methods for automatic phase correction. All the articles begin affirming that ALL the preceding methods "do not seem to be reliable" (Anal. Chem. 1990, 62, 864). If you are to make a bet, you have more chances to win if you bet against ANY auto-phasing method, at least those published. There is abundant historical evidence that no author is "reliable" when judging his own algorithm.
(3) The old auto-phasing methods based on DISPA are among the worst ones. Therefore I am suspicious of anything containing "DISPA" in its name.
(4) I can see no connection between DISPA and eDISPA. Does any reader? I believe that Stan started with the idea of building a modified DISPA. He had already found the name for the successor. He soon realized, however, to be on a wrong path. He could find an alternative approach, but not a new name: "eDISPA" has remained. I can read all these things between the lines of the poster.
(5) The principle described by the poster is too complicated. It looks like a series o patches applied over a hole. I like simpler concepts.
It's false that I write this blog to reveal the errors into the work of my competitors. My mission is to shout: "Customers, wake up!". Let's take for example Mnova. I have found a simple combination of 3 VERY COMMON menu commands that, given to Mnova right after the start, in any order, cause me to reboot the computer (because, unfortunately, Mnova doesn't crash, but keeps thinking forever and takes complete control of the CPU). I have reported the problem to the authors and I know they will fix it ASAP. The problem is that I am not a customer! MestreLab Research has kindly provided me with a license for free, so I can try their algorithms, but I don't work with Mnova. How is it possible that thousands of paying customers have never seen their computers freezed? Either my computer is too old, or they don't use the program for 2D NMR (this is what I believe) or they prefer complaining with me rather then writing two lines to the makers. That's something I can't bear. Anyway, my shouting hasn't woken up anybody yet. Why the hell keep I writing?
It's true that I have dedicated more space to criticize the errors than to praise the merits. This doesn't mean that I can't appreciate what others do. For example, Carlos Cobas, co-author of eDISPA, has invented a terrific algorithm to correct an NMR baseline. I have always expressed my deep admiration for it (I never invented anything of that level in my whole life) and asked his help to add the algorithm into iNMR.
I also invite the reader to visit Carlos' blog. He describes algorithms that you can verify by yourself immediately, because he also gives you the program (for all platforms! free trial period of 45 days). I have verified that several methods don't apply to my spectra (plain vanilla 1H spectra, FYI) and that saved me the effort of studying the corresponding articles.
Stan thinks that it's a good thing when a commercial application offers the choice among many alternative algorithms. I think that, the more methods are shown by the interfce, the more time I am going to waste with them. Give me only a few methods that always work, if such a thing is possible. Keep the alternatives hidden.


At 11:01 AM, Blogger stan said...

Dear Old Swan,
You say some wise things, plus some I don't agree with, which is a very normal situation. What I find somewhat puzzling so far is just the fact that you pick up a single, minor algorithm out of hundreds and dedicate so much attention to it.
Anyway, I agree with you that most of us err when presenting a new algorithm - or even a new scientific hypothesis - by trying to defend it and show that it is better than the others. There is quite a bit of narcissism in it, I know. And you know it, too. I have enjoyed your story on this blog about how you once proposed a new phasing method and published it and then it turned out that it essentially worked well only on one spectrum. I thought that the story showed your human face and I liked you more after reading it. Of course, we should all follow Karl Popper's dictum and, as soon as we "invent" something, we should start trying to "falsify" it. But we are no angels, so we do the oposite.
It happened with all scientific teories I know and also with all algorithms I have ever heard about. Just think about the never ending evolution of optimization algorithms: there are hundreds of them in several categories and a month does not pass without somebody proposing a new "killer". It just takes time before the fires die and a few jewels remain in the middle of the ashes.
Now, I assure you that eDISPA was dormant these months simply because of the lack of time on my side. I have thought about the possibility of such an algorithm years ago when I was concentrating on low-resolution relaxometry and had to handle humpy "spectra" with linewidths of the order of 1 kHz - 10 MHz. Then, during a more recent talk with Carlos I have suggested that we should try it also on the kind of spectra which Mestrelab and you are most interested in (as a prank, I call them "farmaceutical" and view them as an NMR niche, though I know that they dominate your kind of businesses). It worked fine on some spectra, but it turned out to have problems with some others. As I wrote in the piece on my blog, the reason is pretty clear now, so we just need to go back and "evolve" the algorithm a bit. It really beats me if I understand what you mean by writing that "I now say it does not work" - I certainly say no such thing. I hope to have a bit more time after EUROMAR so, for the fun of it, I promise to return to it and make it work on all spectra by the end of August!
Another thing I don't understand is why you say that it is not a DISPA method. For me DISPA is anything that relates dispersion to absorption (the U and V channels) and drops away either the time coordinate (t-domain DISPA) or the frequency coordinate (f-domain DISPA). That was the original logic behind the term, and it still is. The fact that you don't recognize the DISPA plot in the final algorithm means nothing. Just imagine that you knew nothing about Cooley-Tuckey and I showed you their code. You would have hard time finding out that it is actually Fourier Transform, but would that justify you to say that it is no FT algorithm at all?
Finally, one more thing regards the options one includes in a program. I believe that a general-purpose programs should have as many options for each task as possible (with user-settable defaults, of course). Otherwise, you build a custom software suitable, as a limit case, for just one customer and, in essence, you become a software-service company rather than a software house. Which is fine with me, of course, if that is your conscious business choice. Commercially, it may be an excellent decision, it just leaves me indifferent.

At 1:48 PM, Blogger old swan said...

Stan: "What I find somewhat puzzling so far is just the fact that you pick up a single, minor algorithm out of hundreds and dedicate so much attention to it".
OS: "It's a matter of coincidence. I was working on the same topic. While you were busy writing the poster I spent my time to finish the work. My algorithm is already part of Mnova itself since 2007".
Stan: "Another thing I don't understand is why you say that it is not a DISPA method".
OS: "I read the poster last year; now I remember my impressions but not what you wrote. I will read the final paper, the one that describes the algorithm that works in all cases. Maybe I will be able to recognize the DISPA principle into it".
Stan: "I believe that a general-purpose program should have as many options for each task as possible".
OS: "I feel that most of the users, today, are asking for a simpler life with less decisions to be taken, less things to remember, shorter manuals to read. Personally I can't work with today's interfaces: too many buttons, too many options, menus are too long. I spend most of my time looking for the the command that I need but I can't find. I understand your position as a seller. Unfortunately, users are customers before becoming users. When into the customer phase, they are attracted by bells and whistles. They tend to buy today the programs that they will hate tomorrow".
Stan: "It really beats me if I understand what you mean by writing that "I now say it does not work" - I certainly say no such thing."
OS: "It's the same for me. How can you be so confident that you will solve all the problems? Anyway, this topic didn't deserve so many words. I'll remain in stand-by and wish you the greatest success".


Post a Comment

<< Home