iNMR news #70

2 views
Skip to first unread message

GB, author of iNMR

unread,
Nov 23, 2009, 7:59:36 AM11/23/09
to iNMR
In this month of November there has been a lot of activity on the web
site of iNMR: 4 new versions, 4 new tutorials but only short messages
on the mailing lists.
It's time to to reorder the ideas.

If you are using Mac OS 10.5 or anything earlier, you are just fine.
Ditto if you have iNMR reader. The problem arises with the Finder of
Snow Leopard. I can't verify no more what happened with 10.6.0, but
certainly the Finder of 10.6.2 crashes when you open the "Get Info"
window for an iNMR document. This is nothing terrible because the
Finder restarts automatically, but can be annoying.
It has been possible to solve the issue from the iNMR side, although
the fault is Apple's. For 3 years, the "Get Info" window used to
display the spectrometer frequency. Spotlight was storing it as a list
of frequencies (because, for example, a 2-D hetero-nuclear experiment
contains 2 frequencies). The new Snow Leopard crashes when it finds a
list of numbers! The work-around has been to write a new Spotlight
plug-in that writes a single frequency value (the receiver frequency,
called observe frequency).
The other frequencies are ignored. A list of numbers is problematic, a
single value is OK.
In conclusion: if you are using iNMR 3 and Snow Leopard, be sure to
use at least version 3.3.5 of iNMR.
What to do if you have version 1 or 2 of iNMR? The best thing is to
wait and hope that Apple solves the problem, because they made the
mistake. If you can't wait, you can remove the Spotlight plug-in from
within iNMR,
or replace it with the new plugin found inside iNMR 3.3.5. Should the
problem really persist forever I will upload a new copy of version 1
with the new plug-in.

The main addition to iNMR itself is a module called tabulator, useful
to analyze arrayed experiments. You may remember that the old SwaN-MR
contained a module to measure T-1 times by inversion recover (although
users never liked it). I had avoided to add a similar module into
iNMR, as explained a long time ago:

http://www.inmr.net/articles/relax.html

The main reason is that the topic is extremely vast, because there are
many kinds of arrayed experiments and many file formats. The middle
part of the treatment is, however, common to all of them. I have
written exactly this middle part, and it is called "Tabulator". The
preliminary part (importing the list of the variable delays or the
like) has been delegated to the user, for the moment being. If you
have followed the recent introduction of DOSY processing, you
remember that I wrote two scripts to import the gradient strengths
(one for Varian and one for Bruker files). The same will happen with
other kinds of experiments. I have already found examples of
relaxation measurements in both formats, but I haven't written any
script yet because I can't draw definitive conclusions from two
examples only. From what I have seen, the data is almost ready for
iNMR. The only operation that is needed is to rename (a copy of) the
list as "zeta" (the file that iNMR looks for). The final part of the
job (fitting the data with an exponential curve) has also been
delegated to an external application of your choice.
In the beginning (2005-2006) iNMR didn't rely at all on external
libraries and external programs, not even on Cocoa (the standard Mac
OS framework). Subsequently, for specific tasks, I have happily linked
external products: Spotlight, QuickLook, Lapack, Veclib, AppleScript,
being already integrated into Mac OS, are obvious choices. Lua is a
wonderful scripting language whose implementation is very efficient,
fast and light-weighted. OpenBabel is so perfect that you can even
forget to have it installed. iNMR also has facilities to export data
to the popular applications CARA and Sparky and to import from
NMRPipe. All these products are free and rich of experience. A couple
of years ago I attempted to create an interface between GAMMA and
iNMR. Unfortunately GAMMA (a library to simulate all kinds of FT-NMR
experiments) is no more supported. It is just one of the many
simulation packages published and vanished. I find it irritating to
say the least.

I have looked for a free package to perform curve-fitting for
relaxation data and I have found a couple of interesting products
(Plot and proFit). My choice goes to proFit. It is a commercial
product, but a very cheap one. It also offers a free version, which is
certainly enough for our purposes. Other virtues: it leverages two
decades of development and it's always been a Mac-only program.
Another promising thing about it: the user can define new functions,
new routines, even programs and can also drive proFit via AppleScript.
It means that there is a lot of space to grow. There is the potential
to start and finish a calculation with a single iNMR command. I am not
forcing or convincing you to adopt proFit. I have no connection with
its maker, I have decided to endorse it because I dig it yet you are
free to use any other program (there are many alternatives).
iNMR simply exports a table in ASCII format (optionally in CSV format)
and both formats have always been recognized by any spreadsheet-like
program.
If you want to know more about how iNMR handles arrayed experiments,
read, strictly in this order:

http://www.inmr.net/articles/recovery.html

http://www.inmr.net/Help3/task/relax.html

The first customer who experimented the tabulator had to solve a
difficult problem. Each 1-D experiment in his inversion recovery
experiment needed a different phase correction. Two routes were
possible:
1) He could export the single rows and use the command: Process
Folder.
2) He could export the single rows and paste them back again after
phase correction, then save the processed matrix.
Both paths are cumbersome. I have opened a third route:
- a new console command phrow() can correct the phase of any single
row.
- a script stored inside a document can optionally override the
standard workflow (actually this is the new standard behavior).
Eventually, the special workflow is not dissimilar from the usual, the
only difference being that the console remains open at the end of
processing.

Two pictures makes the concept clear:
http://www.inmr.net/articles/phrow.html

Changing topic, I have also written another new tutorial on 3-D
processing:
http://www.inmr.net/articles/noesyhsqc.html

It is so much illustrated the it could have been called "visual guide
to 3-D processing". It's a true tutorial, however, because it refers
to a specific real-life example, that I was not allowed to distribute
nor to cite the spectrum. The article remains readable nonetheless. I
think it is more useful than the previous 3-D tutorials that included
Bruker and Varian data sets. The old ones were mainly proves that iNMR
was able to process 3-D spectra (and an invitation to try it). The
latter article gives direct and clear advise. The story continues. You
will probably see further articles and everybody can contribute or
send difficult cases to solve.

For the occasion I have slightly modified the routine to suppress the
water signal. I have never been sure, frankly speaking, about what to
do with Bruker FIDs and their digital filter.
Up to now I treated them as regular FIDs. I am now convinced, instead,
that the so-called filter (more correctly "a prologue to the FID")
does not contain any meaningful signal.
As a practical consequence, the suppression algorithm remains almost
the same, the prologue is still used for the calculations, as a
regular part of the FID, but nothing is subtracted from it. I have
successfully tried the new variation with this single spectrum.
Probably in other cases there will be no difference. I am ready to bet
that it can't be worse than the old recipe, but you never know. I am
not a great better. You are invited to monitor the situation with your
Bruker spectra.

The last 3-D tutorial also contains a short script that takes into
account the "prologue" to apply an authentic cosine-bell (100%
cosine). It turns out that the required shift is not 90° but somewhere
near 80°. The difference is probably negligible.

Let's close with a look at the far past and another look to the near
future. The old SwaN-MR contained a few exotic window functions that I
have never personally used, therefore were not ported into iNMR. I
have now copied the same few lines of code into iNMR 3.3.8 (in
preparation). Nobody missed them and I can't tell if these weighting
functions are mere curiosities or something more. They are so hidden
that I have even prepared another short illustrated article, before I
forget them again:

http://www.inmr.net/articles/hidden.html
Reply all
Reply to author
Forward
0 new messages