JmnSoft > Gifa > Installation

This page is about installing Gifa on a Linux computer and a way to deal with Bruker data sets.


As explained in the GIFA README file, you only have to download

Let's says you store them in a "Gifa" directory in you home directory. In $HOME/Gifa you type
     % make
to know what to do, then
     % make unpack
     % su
     <root password>
     % make install
If your data are recorded on a Bruker spectrometer, you will need also to type as root
    % make Bruker_install
Before unpacking you may want to choose the amount of available core memory that will be allocated to Gifa.
At line 10 of the "makefile" file, the default value of the GIFA_DEF variable may be changed to either "gifa_big", "gifa_med", "gifa_small" or "gifa_tiny".

The following praragaphs describe what I did before "make Bruker_install" to avoid some problems...

Working with Bruker data

Gifa provides a tool to import Bruker data from a remote NMR workstation. This tool uses the "rcp" UNIX command to copy files from the remote disk to the local one.

You should first have "rcp" working properly. One way (among others, certainly) to do this is to have an account on the remote machine that has a name identical to yours on the local machine (the one with Gifa installed). There also must be a line in the /etc/hosts.equiv file of the remote machine that provides a reference (machine name or IP number) to the local machine. The $HOME/foo file in computer BAR can be brough to the local current directory using "rcp BAR:foo .". If this one does not work, the following will not work neither. There are certainly more subtle settings, but this one is ok.

An important part of the data transfer process is carried out by the "getnmr" and "getexp" shell scripts in $HOME/Gifa/util/get. They both assume there is some "guest" user on the remote machine. Having one being not very safe, I removed it. In getexp, lines 52 and 61, I replaced "guest@$spect" by simply "$spect". The same in getnmr, lines 51 and 60.

Another important part of the data transfert process is carried out by $HOME/Gifa/util/ux2cache/, that will call /usr/local/bin/ux2cach. As far as the latter is located in a directory that should be in your $PATH, I changed at lines 164, 167, 171 and 173 "./ux2cach" for simply "ux2cach". This avoids that "./ux2cach: command not found" message.

As a Bruker user, you should have already noticed that the first tens of FID data points are close to 0. This is due to the Bruker numerical filtering method. The proper handling of that by Gifa is to apply a huge first order phase correction to data after Fourier Transformation. The "dmxphase" macro does the job for you in 1D, 2D and 3D acquisitions if some Bruker parameter is brought back from the original data files. The original $HOME/Gifa/bin/ux2cach executable that is copied to /usr/local/bin (see previous paragraph) does not allow to translate Bruker data files to the Gifa datafile format with the required information. However, all what is required to do it is in $HOME/Gifa/util/ux2cache. First, go to $HOME/Gifa/util/ux2cache and, at line 16 of makefile, replace "CLAGS" by "CFLAGS". I spent some time to find this typo. Then type:

     make clean
     cp ux2cach ../../bin

After "make Bruker_install", ux2cach,, getnmr and getexp should work properly, so that the "File > Bring from UXNMR" menu item does what it should do.

As a matter of fact, I embedded the dmxphase macro in a small macro of mine, brukerphase, that reads the Gifa data file header and provides dmxphase with the required digital filter parameter.

If you have already transfered a lot of Bruker data sets with the original ux2cach, you should be able to update your data files using the bruker_add_param macro (from the regular Gifa distribution).

I provide, without any warranty, a patch to be used with Gifa v4 on Linux/x86 systems. Place it besides the .tar.gz Gifa files in $HOME/Gifa:

     make unpack
     tar xzvf gifapatchJMN.tar.gz
     su ...

Jean-Marc Nuzillard

January 20th 2005