i like this post (click again to cancel)
i dont like this post (click again to cancel) remove favorite mark from this question (click again to restore mark)

I am currently trying to write a program that is a lot like the multizg program in the Bruker software, Topspin but with a few additions.

-I would need it to integrate the area under the peak (it is only one broad peak that I will be seeing) and based on the value of the area either

  1. If the value for the area is lower than a certain value, increase the temperature by 2 kelvin
  2. If the value of the area is higher than a certain value, increase the temperature by 0.2 kelvin before running an acquisition and also perform a DOSY experiment
  3. Once everything is melted and the area under the peak is similar to that of the area during the room temp experiment, stop the experiment. Ideally here it would move on to the next sample using Icon NMR so if possible then the user shouldn't be prompted to need to enter anything manually.

Does anyone have any advice? Especially considering the part where it would have to make a different decision based on the integral of the peak area?

asked Jun 09 '12 at 11:03

Artjom%20Nepryahin's gravatar image

Artjom Nepryahin

2 Answers:
i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

Its possible to be done. But before you do that, u have be aware of:

1) when u change the temperature, u change the match. Short explanation: after a spin system gets excited by the rf pulse, it decays releasing energy to its vicinity. Only a fraction of this energy is captured by the probe coils and turned to NMR signal. How much of this energy is captured is determined by the match value. The better the match, the stronger will be the nmr signal. Thus u can only compare intensities of different experiments if the match is equal (quite difficult condition). So after u change the temperature u have to retune/rematch (it can be automated) your probe and the new value of match may be different. If your sample is melting, expect the tune/match changes to become drastic.

2) if your sample is melting (or freezing) your signal may spread along a large freq range and thus disapear from a narrow window for liquids experiments. Thus open a lot your window.

3) if u open a lot your window u eventually get all nuclei of that kind, say deuterium. But then the integral should be the same in every experiment under the same match (single integral, all nuclei). Changes will be due to mismatch only, inevitable in the 100-150kHz window of 2H. Thus you get no chemical information from such an experiment.

4) a dosy expt will not work in freezing samples

5) I dont know about topspin. VnmrJ has a pre-acquisition delay (parameter pad) to wait before starting the expt (ex: pad=600s). If u dont wait to stabilize the temp u get nonsense results.

If you anyway want to go ahead, start by getting some inspiration in the AU prog (guess u use topspin) multiinteg:
/* AU program for automatic integration of a series of 1D /
spectra with AI calibration. The output is written in */

There u see how to get the integrals. You can save them with 'wmisc'. The rest is some standard C coding. Just be carefull, when changing a parameter, say p1, write

STOREPAR("P 1", myp1)

in an au macro. Good luck!


answered Jun 19 '12 at 05:45

fid's gravatar image


Hello fid, there is a way to format code by selecting a stretch of code lines or just a few words and then hitting a button that has zeros and ones, which I guess denotes "code". Cheers. - Evgeny Fadeev (Jun 20 '12 at 03:07)

i like this answer (click again to cancel)
i dont like this answer (click again to cancel)

This is very late but here are some comments that might help...

Increasing the temperature is simple but you must put in some upper bound in the program if you don't want an unhappy probe. The standard Bruker temperature routines will wait until the temperature is stable. If you don't want to keep the lower temperature fids then you will need to just overwrite the dataset each time.

The conditional data acquisition is a bit more tricky. It is possible to integrate defined regions but you will need to parse the integration result to get the area. There is an example of this code somewhere else in the wiki (here hopefully).

It is possible to run this under IconNMR - just set the AUNM parameter to point to your AU program.


answered Dec 10 '12 at 10:05

John%20Hollerton's gravatar image

John Hollerton

Your answer
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a good answer, for discussions, please use comments and please do remember to vote (login to vote)
toggle preview

powered by CNPROG