NMRPipe Logo

NMRPipe Installation Files from NIST IBBR

NMRPipe is an extensive software system for processing, analyzing, and exploiting multidimensional NMR spectroscopic data. This site contains NMRPipe installation files, as well as demo data with example processing and analysis schemes for conventional and Non-Uniformly Sampled (NUS) spectra.

The NMRPipe system is provided as-is and without warranties or guarantees of any kind.

There is an unofficial NMRPipe Group to share information on use and features of NMRPipe ... you can join and post your own questions and comments:

https://groups.io/g/nmrpipe


General Requirements for Installing NMRPipe

The following are GENERAL REQUIREMENTS for installing and using NMRPipe:

  • A working knowledge of UNIX, including use of a text editor, and creation of shell scripts.
  • A suitable version of Linux, either native (most all PC versions), or via a Virtual Machine (VM). For Mac OS X, use VMware Fusion to install a virtual machine. For Windows, use VMware Player or Workstation.
  • A user account with C-shell (/bin/csh or /bin/tcsh) as the default shell.
  • X11 Graphics server and the xterm terminal window.
  • A three-button scroll-wheel mouse or its equivalent.

Some Presentations about NMRPipe, Spectral Processing, and Analysis

nmrbox video 1
NMRbox Summer 2020 Workshop:
Concepts in Spectral Processing
nmrbox video 2
NMRbox Summer 2020 Workshop:
Using NMRPipe
smart nmr video
Symposium in Honor of Bill Reynolds:
Non-Uniform Sampling (NUS)
icmrbs video
ICMRBS Seminar Series:
Characterization of Biotherapeutics
ivan video 1
IVAN NMR Users Group:
NUS for Relaxation Series
ivan video 2
IVAN NMR Users Group:
Principal Component Analysis

Contents of the NMRPipe Installation

Important Note for Mac Users: Mac OS X no longer supports 32-bit applications, so that NMRPipe's graphical interface nmrDraw will not work on Mac OS X. A replacement for nmrDraw is under development.

Likewise, while some versions of Windows include a Linux environment, the recommended solution for Windows systems is to install a Linux Virtual Machine.

Depending on which installation files are used, the NMRPipe installation procedure provides the following features and versions:

  • Applications including nmrPipe (pipeline processing for 1D-4D data), nmrDraw (NMRPipe's primary graphical interface), and nmrWish (NMRPipe's TCL/TK script interpreter).
  • Applications DC (residual dipolar coupling calculations), MFR (NMR homology search), and DYNAMO (simple simulated annealing structure calculation and analysis). These require dyn.tZ download.
  • Companion chemical shift analysis applications from the Ad Bax Group at the NIH: TALOS-N, TALOS+, SPARTA+, and PROMEGA.
    Download dyn.tZ is also recommended.
  • The SMILE Non-Uniform Sampling Reconstruction plugin from the Ad Bax Group at the NIH:
    http://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ
  • Conversion tools for Bruker, Varian, JEOL, and other formats.
  • 64-bit Linux versions of NMRPipe (Built on CentOS 6.5, Ubuntu 20, Ubuntu 22)
  • 64-bit Mac OS X versions of NMRPipe: mac11_64 and mac11_arm64. Important Note for Mac Users: Mac OS X no longer supports 32-bit applications, so that NMRPipe's graphical interface nmrDraw will not work on Mac OS X. A replacement for nmrDraw is under development.
  • NMRPipe for Windows XP Pro running SFU 3.5 (version winxp; Legacy version, no longer updated as of NMRPipe Version 8.9).
  • NMRPipe for SGI Irix (version sgi6x, built on Irix 6.5 for mips2; Legacy Version, no longer updated, NMRPipe Version 9.2).
  • NMRPipe Sparc Solaris (version sol, built on SunOS 5.6; Legacy Version, no longer updated as of NMRPipe Version 7.3).
  • C Source Code for programs which read, write, and interpret the NMRPipe data format (directory format in the installation).
  • C Source Code for Creating NMRPipe Plug-In Functions for those who wish to develop their own processing functions that can work in the NMRPipe framework (directory nmruser in the installation).
  • NMRPipe on a Virtual Machine: as an alternative to installing a hardware-specific version of NMRPipe as above, we now also provide a complete installation of NMRPipe on an Ubuntu 22 Linux Virtual Machine. This is the recommended method for using NMRPipe on a Windows PC. The virtual installation requires either VMware Player software, or VirtualBox software.

NMRPipe Installation Files

When downloading software from this web site, you are agreeing to our Terms of Use, including the terms that there is no right to privacy on this system, and that the the software from this web site is not to be redistributed without permission from the author.

Note also that it is usually easier to use command-line tools such as wget or curl to download files rather than downloading via web browser. See the notes below for examples.

Use care when downloading; depending on settings, certain web browsers may try to unpack a given file, convert it to a different text format, or display it as a web page rather than saving it as a file. If you experience such problems, try different methods for downloading and saving the files, or use a different web browser if possible.

Note well that if the file contents or names are changed in any way during download, the install procedure will not work:

  • When downloading, be sure to retain the exact file name shown here, renaming if needed!
  • When downloading, check that the final file size matches the size shown here exactly!

Windows Internet Explorer: Right-Click, "Save Target As"
Linux Mozilla: Right-Click, "Save Link As" ... if a .com file is displayed as a web page, use "File/Save As".
Mac OS X Safari: Right-Click, "Download Linked File (As)"

File Number File Name Required Post Date File Size Checksum (cksum) Contents
   File 1 NMRPipeX.tZ Yes Mar 1, 2024 134,039,643 bytes 3294844443 NMRPipe executables and files for Linux and Mac OS X
(NMRPipe 11.7 Rev 2024.039.18.43 64-bit)
   File 2 s.tZ Yes Mar 1, 2024 9,693,621 bytes 1683639629 NIST IBBR Updates for NMRPipe
   File 3 install.com Yes Mar 1, 2024 54,263 bytes 1924691726 Install script
   File 4 binval.com Yes Mar 1, 2024 5,136 bytes 1409440784 Used by install script
   File 5 dyn.tZ No Mar 1, 2024 301,148,865 bytes 3750607194 Optional Ramachandran surfaces for TALOS+ graphics, PDB data and all files for DYNAMO and MFR
   File 6 NMRPipeL.tZ No Mar 1, 2024 124,535,127 bytes 2794512695 NMRPipe programs for Legacy systems, no longer updated. (Older Linux 32-bit, Windows XP, SGI Irix, Mac 32-bit, and Sparc Solaris)

Companion Files from the Ad Bax Group at the NIH:
   File 7 talos_nmrPipe.tZ No See NIH Site Files required for TALOS-N, TALOS+, and SPARTA+
   File 8 plugin.smile.tZ No See NIH Site SMILE NUS Reconstruction

NMRPipe on a Virtual Machine:
   File 9 NMRPipe_Ubuntu22_64.ova Mar 1, 2024 12,163,282,944 bytes 968905149 Ubuntu 22 Virtual Machine with NMRPipe installed
(NMRPipe Version 11.7 Rev 2024.039.18.43 64-bit, Script Update 3/1/2024) Username: nmruser Password: nmrpipe Root Password: nmrpipe

As an alternative to downloading via a web browser, on linux systems with the command wget available, you can download install files as needed. The wget command will not overwrite existing files, so be sure to delete any previous downloads first, for example:

   /bin/rm install.com binval.com *.tZ

   wget https://www.ibbr.umd.edu/nmrpipe/install.com
   wget https://www.ibbr.umd.edu/nmrpipe/binval.com
   wget https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
   wget https://www.ibbr.umd.edu/nmrpipe/s.tZ
   wget https://www.ibbr.umd.edu/nmrpipe/dyn.tZ

   wget https://www.ibbr.umd.edu/nmrpipe/talos_nmrPipe.tZ
   wget https://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ

   wget https://www.ibbr.umd.edu/nmrpipe/NMRPipe_Ubuntu22_64.ova

On Mac OS X systems, you can download install files with the curl command. The curl command will overwrite any existing files:

   curl -O https://www.ibbr.umd.edu/nmrpipe/install.com
   curl -O https://www.ibbr.umd.edu/nmrpipe/binval.com
   curl -O https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
   curl -O https://www.ibbr.umd.edu/nmrpipe/s.tZ
   curl -O https://www.ibbr.umd.edu/nmrpipe/dyn.tZ

   curl -O https://www.ibbr.umd.edu/nmrpipe/talos_nmrPipe.tZ
   curl -O https://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ

   curl -O https://www.ibbr.umd.edu/nmrpipe/NMRPipe_Ubuntu22_64.ova


A Quick Example: NMRPipe Installation on Ubuntu 22

    sudo apt-get install tcsh
    sudo apt-get install xterm
    sudo apt-get install libx11-6:i386
    sudo apt-get install libxext6:i386
    sudo apt-get install xfonts-75dpi
    sudo apt-get install msttcorefonts

    cd
    mkdir pipe
    cd pipe

    wget https://www.ibbr.umd.edu/nmrpipe/install.com
    wget https://www.ibbr.umd.edu/nmrpipe/binval.com
    wget https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
    wget https://www.ibbr.umd.edu/nmrpipe/s.tZ
    wget https://www.ibbr.umd.edu/nmrpipe/dyn.tZ
    wget https://www.ibbr.umd.edu/nmrpipe/talos_nmrPipe.tZ
    wget https://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ

    chmod a+rx *.com

    ./install.com

After the install procedure is complete:

  • Edit ~/.cshrc if needed to insert NMRPipe initialization commands. See README_NMRPIPE_USERS in the installation directory for details.
  • If desired, delete the *.tZ installation files.
  • If desired, delete the unneeded versions of nmrbin.* binary directories.
  • Log out and log in again before using the software.

Citation Information

NMRPipe

NMRPipe: a multidimensional spectral processing system based on UNIX pipes
   Frank Delaglio, Stephan Grzesiek, Geerten. W. Vuister, Guang Zhu, John. Pfeifer, and Ad Bax, J. Biomol. NMR. 6, 277-293 (1995).

SMILE

Sparse multidimensional iterative lineshape-enhanced (SMILE) reconstruction of both non-uniformly sampled and conventional NMR data
   Jinfa Ying, Frank Delaglio, Dennis A. Torchia, and Ad Bax. J Biomol. NMR. 68, 101–118 (2017).

TALOS-N

Protein backbone and sidechain torsion angles predicted from NMR chemical shifts using artificial neural networks
   Yang Shen, and Ad Bax, J. Biomol. NMR, 56, 227-241(2013).

TALOS+

TALOS+: A hybrid method for predicting protein backbone torsion angles from NMR chemical shifts
   Yang Shen, Frank Delaglio, Gabriel Cornilescu, and Ad Bax, J. Biomol. NMR, 44, 213-223 (2009)

SPARTA+

SPARTA+: a modest improvement in empirical NMR chemical shift prediction by means of an artificial neural network
   Yang Shen and Ad Bax, J. Biomol. NMR, 48, 13-22 (2010)

Hardware Versions, Applications, and Features of NMRPipe

Hardware and OS:

  • linux212_64: 1 Linux Intel PC 64-bit (Built on CentOS 6.5).
  • linux231_64: Linux Intel PC 64-bit (Built on Ubuntu 20).
  • linux235_64: Linux Intel PC 64-bit (Built on Ubuntu 22).
  • mac11_64:2 Mac OS 12.6.6 Intel 64-bit (No nmrDraw!)
  • mac_arm642 Mac OS 13.3.1 M1 64-bit (No nmrDraw!).

Depricated Versions:

  • linux9: Linux Intel PC 32-bit (glibc 2.9).
  • linux: Linux Intel PC 32-bit (glibc 2.3).
  • mac11: Mac OS X Intel 32-bit (Mac OS X 10.11.2, gcc 4.2.1, XQuartz 2.7.8).
  • mac: Mac OS X PPC and Intel (Mac OS X 10.5.8, gcc 4.0.1, XQuartz 2.6.3).
  • winxp: Windows XP Pro (Requires Microsoft SFU 3.5 and X11 Server).
  • sgi6x: SGI Irix (IRIX 6.5).
  • sol: Sparc Solaris (Sparc SunOS 5.6, Legacy NMRPipe Version 7.3).
1 Has 32-bit version of nmrDraw, needs 32-bit compatibility libraries
2 nmrDraw does not work on this version


Applications and features:

  • NMRPipe: comprehensive NMR conversion and processing, 1D-4D, with options for Non-Uniformly Sampled data (NUS).
  • NMRDraw: interactive phasing, display, 1D-4D peak detection.
  • NMRWish: TCL/Tk scripting for custom display and analysis. Many applications are built from nmrWish scripts, including:

    • autoFit: Spectral lineshape fitting for 1D-4D data and spectral series.
    • scroll: Interactive strip viewing for related 3D spectra.
    • specView: 1D and 2D Spectral Series Display with Principal Component Analysis (PCA).
    • titrView: 2D Chemical Shift Titration Analysis.
    • MFR: NMR Parameter Fragment Homology Search (Molecular Fragment Replacement).
    • ACME: COSY proton-proton coupling measurement.
  • DC: Dipolar Coupling Calculations.
  • DYNAMO: molecular structure analysis, including:

    • Add protons to a protein PDB structure.
    • Analyze and report secondary structure.
    • Simulated Annealing structure calculation.
    • Simulation of dipolar couplings and protein backbone chemical shifts, estimation of alignment tensor parameters from measured couplings.
    • List, manipulate, and display structure parameters such as backbone angles.

Related Applications from the Ad Bax group at the NIH:

  • TALOS+: prediction of protein phi/psi backbone angles from chemical shifts.
  • TALOS-N: prediction of protein phi/psi backbone angles and chi sidechain orientations from chemical shifts.
  • SPARTA+: prediction of protein chemical shifts from structure.

Introduction to Installation of NMRPipe

If you are re-intalling NMRPipe, do a clean re-installation. This means renaming or deleting the existing installation, removing all NMRPipe initialization commands from the .cshrc file in your home directory, then deleting the .cshrc file if it has no other contents (it will be re-created by the install procedure). Be sure to log out and log in again before continuing with the new installation.

Most of the effort required to install NMRPipe will usually involve preparing the computer system so that it has the libraries, commands, fonts, and configurations needed to use NMRPipe. The install procedure itself is simple; once the required files are downloaded, often just:
   ./install.com

Use the +type install a specific version of NMRPipe, for example:

   ./install.com +type mac11

Use the +src option to install NMRPipe using *.tZ installation files that are stored in another directory, such as on a USB key. For example, if the *.tZ files are in a directory /media/USB16/pipefiles:

   ./install.com +src /media/USB16/pipefiles

If there are any problems installing NMRPipe, please review the install instructions carefully, including the section about Installation Problems below.

This text describes both the general and system-specific details for installation of NMRPipe. Please review both the general and system-specific details carefully before installing the software -- this will help us to use our resources in the most effective way as we continue to develop and distribute NMRPipe.

NMRPipe is a UNIX-based system, and so it will require a familiarity of UNIX to install and use the software. This means that an NMRPipe user must be familiar with the UNIX command-line and environment, and know how to create and edit UNIX shell-scripts using a text editor. This is true for all versions of NMRPipe, including the Mac OS X and Windows XP versions.

Some web browsers, especially those used on Windows and Mac OS X, may change the extensions of downloaded files, or attempt to decompress any downloaded files which have been previously compressed. Therefore, when downloading NMRPipe files, take care to retain the exact original file names, and disable any automatic decompression or adjustment of downloaded files. The size of the downloaded files should exactly match the posted sizes.


Common NMRPipe Installation Problems

Important Note for Mac Users: Mac OS X no longer supports 32-bit applications, so that NMRPipe's graphical interface nmrDraw will not work on Mac OS X. A replacement for nmrDraw is under development.

The most common installation problems involve one of these issues:

  • The user's default shell must be set to the C-Shell (/bin/csh); this is often done with the UNIX "chsh" command, or by system-specific methods described below. Alternatively, you can simply start the C-shell by typing csh to start a C-shell before using any NMRPipe facilities.
  • The user must have a .cshrc file in their home directory, which includes the appropriate commands for establishing the UNIX environment variables required by NMRPipe. The necessary initialization commands can be found in the file README_NMRPIPE_USERS which is created during installation. If these initialization commands are not executed properly, or if the initialization settings are changed by settings for other software, error messages like the following will result:
    nmrPipe: Command not found.
    cannot find manpage for 'nmrPipe'
    NMRTXT: Undefined variable
    Error in startup script: can't read "env(TCLPATH)": no such variable
    Application initialization failed: Can't find a usable init.tcl
    error while loading shared libraries:libxview.so
    error while loading shared libraries:libtcl8.4.so
    error while loading shared libraries:libtk8.4.so
    error while loading shared libraries:libBLT24.so
    Can't find a usable init.tcl
    XView error: Cannot open connection to window server
    

    As noted elsewhere, it is important to LOG OUT and LOG IN AGAIN after changing the .cshrc file in order for the NMRPipe initialization to become active. Since other configuration changes might require restarting the computer, it is best to perform a complete restart if possible.

    If the NMRPipe initialization is performed properly, several NMRPipe-related environment variables will be defined. Use the UNIX command printenv to list the current environment variables, in order to check that the NMRPipe-related ones are defined. for example:
        % printenv | fgrep -i nmr 
    
        TCL_LIBRARY=/u/delaglio/nmr/nmrtcl/tcl8.4
        BLT_LIBRARY=/u/delaglio/nmr/nmrtcl/blt2.4z
        NMRBIN=/u/delaglio/nmr/nmrbin.linux9
        NMR_IO_SELECT=0
        NMRPIPE_TCL_LIB=/u/delaglio/nmr/nmrtcl/tcl8.4
        NMRPIPE_BLT_LIB=/u/delaglio/nmr/nmrtcl/blt2.4z
        NMRCHECK=ALL
        NMRTXT=/u/delaglio/nmr/nmrtxt
        NMR_AUTOSWAP=1
        NMRPATHSET=TRUE
        NMR_IO_TIMEOUT=0
        NMRLIB=/u/delaglio/nmr/nmrbin.linux9/lib
        NMRBINTYPE=linux9
        NMRPIPE_TK_LIB=/u/delaglio/nmr/nmrtcl/tk8.4
        TK_LIBRARY=/u/delaglio/nmr/nmrtcl/tk8.4
        NMR_TCLTK8=TRUE
        NMRBASE=/u/delaglio/nmr
    
  • Many NMRPipe applications make use of output from C-shell scripts, many of which may execute a user's .cshrc file when invoked. So, it is important that the commands in .cshrc do not produce any text output when the .cshrc file is executed, or some NMRPipe applications may fail. You can test for this by counting the characters produced when the .cshrc file is executed directly, which should produce the output 0:
       csh ~/.cshrc | wc -c
    
  • Many recent 64-bit versions of Linux do not install the 32-bit libraries required by NMRPipe. In this case, all of the programs of NMRPipe will fail to run, often generating the error message Command not found. See the notes on Linux Platform installation below for more information.
  • In some cases, especially on SGI systems and many Linux environments, the fonts required by the nmrDraw application are not present or not loaded properly. If the required fonts are not available, the nmrDraw program may fail and generate an error message such as:
    XView error: Cannot open connection to window server
    
    The NMRPipe installation includes fonts suitable for most systems; in most cases, this kind of problem can be fixed by executing an NMRPipe font.com initialization script from within the user's .cshrc file. In other cases, such as Linux Fedora Core 12, the fonts required by nmrDraw are not available by default, but can be downloaded and installed with a command like the following:
         yum install xorg-x11-fonts-100dpi xorg-x11-fonts-ISO8859-1-100dpi 
         yum install xorg-x11-fonts-75dpi  xorg-x11-fonts-ISO8859-1-75dpi 
         yum install xorg-x11-fonts-misc
    
  • Certain Linux environments, such as Ubuntu, don't have "Helvetica" and some other common fonts. This can affect the appearance of NMRWish-based graphical applications, such as the varian and bruker commands. Installing the following font packages might help:
         apt-get install xfonts-75dpi 
         apt-get install msttcorefonts 
    
  • Certain graphics environments may not be suitable, depending on the window manager (the program that manages the graphical desktop of the computer) and the color settings (such as 8-bit color or 24-bit color). For example, certain versions of the Linux Gnome Desktop graphics environment using 32-bit color might cause nmrDraw to run slowly or not at all, or cause problems in other graphical applications like TALOS+. Such problems can be often be fixed by adjusting the color settings (24-bit color is recommended) or using a different window manager (such as Linux KDE instead of Gnome).
  • In order to run the nmrDraw program, Mac OS X users might have to install updated versions of Mac's X11 graphics server. They might also need to adjust X11 mouse focus settings. More details are given in the Mac OS X installation notes below.

How to Install NMRPipe: an Overview

The specific steps needed to install NMRPipe will differ depending on the hardware and operating system, and also on how a given computer or its network is configured. The installation will require that you are familiar with UNIX and the UNIX command line, and that you already know how to create and edit UNIX shell scripts.

Some of the NMRPipe directories contain demo data and scripts which require read-write access. For this reason, it is often useful to install "personal" copies of NMRPipe rather than install the software via the "root" account.

If you have a version of NMRPipe already installed, it is important to remove or rename any existing NMRPipe initializations and files before installing new versions of NMRPipe. These steps are described in more detail below. After removing an existing NMRPipe installation, it is important to log out before performing a new installation.

The specific details for installing NMRPipe on particular operating systems are given in the sections below. In general, the steps for installing NMRPipe will involve:

  1. Set up a system with UNIX, an X11 graphics server, a user account with the C-shell as the default shell, and with the xterm terminal window available from the UNIX command-line. The system should have a three-button scroll-wheel mouse or its equivalent.
  2. Create a directory for the NMRPipe installation, where you have complete permissions to create, read, write, and execute files.
  3. Put the NMRPipe install files into the selected install directory. The usual files are as follows, although you may be provided with additional files for extra features or updates:

    • install.com (required, the install script)
    • binval.com (required, an auxiliary script which determines system type)
    • NMRPipeX.tZ (required, all current versions of NMRPipe)
    • s.tZ (required, script updated for NMRPipe)
    • talos_nmrPipe.tZ (optional, files required for TALOS+ and SPARTA+)
    • plugin.smile.tZ (optional, files required for SMILE NUS Reconstruction)
    • dyn.tZ (optional, files required for DYNAMO and MFR)

  4. Depending on how the NMRPipe install files are obtained, it will be necessary adjust the file permissions so that it is possible to read all of the install files and to execute the install scripts. This will generally be performed via the UNIX command chmod, for example:
        chmod a+r  *.tZ *.Z *.tar
        chmod a+rx *.com
    
  5. From an xterm terminal window, execute the install.com script; in most cases, no arguments will be required; it will be sufficient to make the install scripts executable, then run the install.com script. Note: Use the command ./install.com +help to generate a list of install command-line options. If a specific version of NMRPipe is desired use the +type option. For example to use the legacy Linux version:
       ./install.com +type linux
    
  6. During the install procedure, one or more initialization script files will be created. These initialization scripts must be executed from within the .cshrc file in the user's home directory. They will establish the environment variables and executable path which are needed to run the components of NMRPipe. The details about the initialization scripts and how to use them in .cshrc will be listed in the file README_NMRPIPE_USERS which is also created during installation:

    • com/nmrInit.*.com (where * is linux9, mac, winxp, etc.)
    • dynamo/com/dynInit.com (if DYNAMO is installed)
    • com/font.com (font initialization, only needed for some systems).
  7. Once NMRPipe is installed, and the user's .cshrc file has been adjusted appropriately, log out and log in again. Note that it is important to LOG OUT and LOG IN AGAIN after changing the .cshrc file in order for the NMRPipe initialization to become active.

    After logging in again, activate an xterm terminal window; it should then be possible to use the components of NMRPipe from the xterm command-line.

In summary, the NMRPipe install procedure will look something like this example, where the home directory is /Users/frank:
   (Use methods as needed to set default shell to C-shell)
   (Activate the X11 Graphics server if needed)
   (Create an "xterm" window which has a C-shell command-line)
   cd /Users/frank
   mkdir pipe
   cd pipe 
   (Get files install.com binval.com NMRPipeX.tZ s.tZ talos_nmrPipe.tZ dyn.tZ etc.)
   chmod a+r  *.tZ *.Z *.tar
   chmod a+rx *.com
   ./install.com
   cd /Users/frank
   (Edit .cshrc to insert NMRPipe initialize commands if needed)
   (Log out, log in again)
   (Start an "xterm" window, test the software)
   (Adjust the software settings if needed)
   (Remove .tZ files if desired)

NOTE well that in some cases, the install procedure may generate informational warning message or error messages, but still complete correctly. So, after the installation procedure, you should try TESTING THE INSTALLATION as below. After testing, you may want to make OTHER ADJUSTMENTS, also below.

As a convenience, the install.com procedure above can be adjusted to read the installation files from some other source location, for example from a USB flash drive. This is done by the install.com +src option. In such a case, only the files "install.com" and "binval.com" need to be in the current directory. For example, if all of the install files are stored together on the USB drive mounted as /media/USB16 and the home directory is /Users/frank:

   
   (Use methods as needed to set default shell to C-shell)
   (Activate the X11 Graphics server if needed)
   (Create an "xterm" window which has a C-shell command-line)
   cd /Users/frank
   mkdir pipe
   cd pipe 
   cp /media/USB16/install.com .
   cp /media/USB16/binval.com .
   chmod a+rx *.com
   ./install.com +src /media/USB16
   cd /Users/frank
   (Edit .cshrc to insert NMRPipe initialize commands if needed)
   (Log out, log in again)
   (Start an "xterm" window, test the software)
   (Adjust the software settings if needed)
   (Remove .tZ files if desired)

The installation procedure performs several software and graphics tests to check the status of the installation. In some cases, these tests might issue warning messages even though the installation completes properly. In some cases, these tests may fail in a way which interrupts the installation. If this happens, you can suppress the post-installation software tests with the +nopost option, for example:

   ./install.com +src /home/frank/tar +nopost

Clean Re-Install: How to Remove an Existing Installation of NMRPipe

If you have an existing installation of NMRPipe, it must be removed or disabled before performing a new installation. This means you must remove any existing initialization commands in the .cshrc file in your home directory, and log out before continuing.

  1. Rename or delete the existing NMRPipe files. These are in the directory defined by the environment variable $NMRBASE.
  2. Remove any existing NMRPipe initialization commands from the .cshrc file in your home directory. If the .cshrc contains only NMRPipe initializations, you can rename it or delete it; when new versions of NMRPipe are installed, the install procedure will automatically create a suitable .cshrc file if one doesn't exist. The initialization commands in the .cshrc will look something like this:
       if (-e /Users/nmruser/pipe/com/nmrInit.mac11_64.com) then
          source /Users/nmruser/pipe/com/nmrInit.mac11_64.com
       endif
    
       if (-e /Users/nmruser/pipe/dynamo/com/dynInit.com) then
          source /Users/nmruser/pipe/dynamo/com/dynInit.com
       endif
    
       if (-e /Users/nmruser/pipe/com/font.com) then
          source /Users/nmruser/pipe/com/font.com
       endif
    
  3. Log out and log in again. This step is important, to insure that none of the old NMRPipe environment variable settings still exist, and that any previous NMRPipe font settings for graphics display are no longer active.


How to Install the Virtual Version of NMRPipe

  1. Get and Install VMware Player or VirtualBox. On PC hardware, the installation of these applications might require enabling virtualization options in the computer’s BIOS. Consult the application documentation for additional installation details.

    At the time of this writing, VMware Player and VirtualBox applications can be found here:

    http://www.vmware.com/products/player
    https://www.virtualbox.org/wiki/Downloads
    
  2. Use the virtual application (VMWare Player or VirtualBox) to unpack the NMRPipe_*.ova file. The virtual machine is large (more than 5Gb) and will grow larger with use, so choose a suitable location, and keep in mind any automated backup procedures that might be in use on your computer.

  3. Run the NMRPipe Virtual Machine. Running the virtual machine is like turning on a PC – an operating system will start in the usual way, but in its own window.

  4. First Time Configuration. When you start the virtual machine for the first time, you might see a message that “long mode” for 64-bit systems will be disabled … this is expected, and not a problem. On PC hardware, you also might see a message asking that you first enable virtualization options (Intel VT-x) in your computer’s BIOS. And, you might see a message asking whether the Virtual Machine was moved or copied -- select the “Copied” option.

  5. Adjust BIOS Settings of the Computer. If needed, restart the computer, enter the BIOS setup during startup, and adjust the BIOS options to enable virtualization as needed.

  6. Log in to Virtual Linux. When the virtual machine starts, you can log in via the “nmruser” user account. The password for the "nmruser" account is “nmrpipe” and the root password is also "nmrpipe" (all lower case). Note also that the Virtual Machine can be configured so that it is possible to drag and drop files and folders between the Virtual Machine window and the Desktop of the host operating system.

  7. Use NMRPipe. Once you log in as “nmruser”, you can open a terminal window from the command panel at the top of the desk top. All the usual facilities of NMRPipe will be available.

  8. Configure the Virtual Machine environment and Linux. Consult the virtual application (VMWware or VirtualBox) documentation for details on configuring the virtual player for options such as use of removable devices, shared folders, printing, networking and software updates. You can configure the virtual Linux operating system as you would any other Linux installation. The root password for the virtual machine is “nmrpipe”.

  9. Exit the Virtual Machine. When you are done with a session, don’t exit the virtual machine by closing the window via the usual "X" icon; this is the equivalent of unplugging a PC while it is running, and might make the virtual machine unusable. We also recommend that you do not suspend the virtual machine. Instead, when exiting the virtual machine, be sure to shut it down via the system menus for Shutdown, just as you would for an actual PC.

What Users Should Do to Run NMRPipe

The tools and scripts of the NMRPipe system require use of the C-shell (/bin/csh) or the related T C-Shell (/bin/tcsh) as the user's default shell. Other shells, such as the Bourne Shell "sh", or the "bash" shell, will not be suitable. So, in order to use NMRPipe, users may have to reset their default shell accordingly. The UNIX command "chsh" is commonly used to set the default shell; see the UNIX "man chsh" help text for information on how to use this command on your system.

If the automated installation succeeded, users need only execute the initialization scripts that were created, by adding lines such as the following to their .cshrc file. These commands should preferably be added at the very end of the .cshrc file that the NMRPipe environment variables do not get reset accidentally by other application initialization commands.

The details about these initialization scripts and how to use them in .cshrc will be listed in the file README_NMRPIPE_USERS which is also created during installation.

As noted above, it is important to LOG OUT and LOG IN AGAIN after changing the .cshrc file in order for the NMRPipe initialization to become active.

Also, regarding fonts: only use the "font.com" script if the "install.com" procedure or README_NMRPIPE_USERS file indicates that it is needed for your system (mostly SGI/IRIX systems, and some versions of Linux):

        if (-e /u/frank/pipe/com/nmrInit.linux9.com) then
           source /u/frank/pipe/com/nmrInit.linux9.com
        endif

        if (-e /u/frank/pipe/dynamo/com/dynInit.com) then
           source /u/frank/pipe/dynamo/com/dynInit.com
        endif

        if (-e /u/frank/pipe/com/font.com) then
           source /u/frank/pipe/com/font.com
        endif

Testing the Installation

In order to confirm that you can access the software correctly, try logging out first, then logging in and using these commands:

           which nmrPipe          (Check that programs can be found)
           nmrPipe  -help         (Run program in help mode)
           man nmrPipe            (Check manual pages)
           bruker (varian delta)  (Run the graphical conversion interface)
           nmrDraw                (Run the graphical interface)

When using graphical programs in the NMRPipe system, note that all versions of the software expect use of a three-button scroll-wheel mouse or its equivalent.

Other Adjustments

NMRDRAW: after testing, you may wish to edit the script called "nmrDraw". The font size argument called "-scale" can be adjusted to suit user preferences for text in buttons, menus, etc. The font arguments "-type1" (regular font) and "-type2" (large font) will affect the size of text used for axes and labels, and for text editing windows. Possible values for "-scale", "-type1" and "-type2" include "small", "medium", "large", and "extraLarge".

You can also adjust the nmrDraw window size to compensate for space on the screen used by window manager command panels, etc. Add the options "-xAdj" or "-yAdj" followed by a pixel count to reduce the nmrDraw window size by the given number of pixels (for example " -xAdj 20").

Many NMRPipe applications are actually NMRWish TCL/TK scripts. These use a small number of common font definitions, which can be adjusted by setting environment variables. Examples are listed in the com/nmrInit.*.com file, and look like this:

 setenv NMRPIPE_SMALLFONT  "-adobe-helvetica-medium-r-*-*-*-100-*-*-*-*-*-*"
 setenv NMRPIPE_BIGFONT    "-adobe-helvetica-medium-r-*-*-*-180-*-*-*-*-*-*"
 setenv NMRPIPE_STDFONT    "-adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-*"
 setenv NMRPIPE_BOLDFONT   "-adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*"
 setenv NMRPIPE_FIXEDFONT  "-*-courier-medium-r-*-*-*-120-*-*-*-*-*-*"
 setenv NMRPIPE_TYPINGFONT "-*-courier-medium-r-*-*-*-100-*-*-*-*-*-*"
 setenv NMRPIPE_AXISFONT   "-*-lucidatypewriter-bold-r-*-*-*-120-*-*-*-*-*-*"

Installation Problems

There are a few common difficulties with installation of NMRPipe, and these generally relate to the various environment variables required to use the software, or to the font settings used by the "nmrDraw" program.

If there are install problems, besides reviewing the notes here, see also the next sections for system-specific installation details.

Environment Variable Problems

The most common problem when first using the installation concerns the proper setting of environment variables. As described above, the environment variables needed by NMRPipe are established by the script "com/nmrInit.*.com" created during the install procedure. This script sets environment variables and executable path for the C-Shell; it WILL NOT work for "bash" or "sh" shells.

The necessary initialization commands can be found in the file README_NMRPIPE_USERS which is created during installation.

If the various NMRPipe environment variables are not defined properly, "Undefined variable" or "library" error messages will be generated, for example:

NMRTXT: Undefined variable
Error in startup script: can't read "env(TCLPATH)": no such variable
Can't find a usable init.tcl
error while loading shared libraries:libxview.so
error while loading shared libraries:libtcl8.4.so
error while loading shared libraries:libtk8.4.so
error while loading shared libraries:libBLT24.so
If there are problems running the software, look at the definitions in your version of "com/nmrInit.*.com". Then, use the "printenv" command to see if the actual current environment is set up as required. In many cases, certain environment variables need by NMRPipe may get reset by other commands elsewhere in the .cshrc file. To avoid this problem, put the NMRPipe initialization commands at the end of the .cshrc file. As noted elsewhere, it is important to LOG OUT and LOG IN AGAIN after changing the .cshrc file in order for the NMRPipe initialization to become active.

Font Problems in NMRDraw and NMRWish Applications

The "nmrDraw" program uses certain "lucida" and "open look" fonts which are not available on all systems by default. The NMRPipe install procedure will attempt to test whether or not these fonts are available, and provide them if needed. The script "com/font.com" is used to provide the fonts on systems which do not have them. This file is usually executed from a user's .cshrc file.

If the fonts cannot be found, "nmrDraw" will issue error messages like this one:

    XView warning: Cannot load font
    XView error: Cannot open connection to window server

If this happens, check the definitions in file "com/font.com", and adjust them if needed.

Alternatively, on some Linux systems, such as Fedora Core 12, fonts needed by NMRDraw are not available by default, but can be downloaded and installed with the following command:

     yum install xorg-x11-fonts-100dpi xorg-x11-fonts-ISO8859-1-100dpi 
     yum install xorg-x11-fonts-75dpi  xorg-x11-fonts-ISO8859-1-75dpi 
     yum install xorg-x11-fonts-misc 

Certain Linux environments, such as Ubuntu, don't have "Helvetica" and some other common fonts. This can affect the appearance of NMRWish-based graphical applications, such as the varian and bruker commands. Installing the following font package might help:

    apt-get install msttcorefonts

NMRDraw XView Notifier Errors

In some cases, "nmrDraw" may display "XView Notifier Error" or similar messages; this will generally not cause a problem in the actual use of the software. However, in many cases, these error messages can be suppressed by editing the "nmrDraw" script to add or remove a font specification "-fn", for example,

      ... " -fn Courier " ...

Use the unix command "which nmrDraw" to find the script on your installation.

NMRDraw Runs Slowly, or Not At All
Graphics Applications Such as TALOS+ Have Distorted Displays

Certain graphics environments may be problematic for nmrDraw and other graphical applications, such as the TALOS+ Ranachandran display. This can sometimes depend on the window manager (the program that manages the graphical desktop of the computer) or the color settings (such as 8-bit color or 24-bit color). For example, certain versions of the Linux Gnome Desktop graphics environment using 32-bit color might cause nmrDraw to run slowly or not at all. Such problems can be often be fixed by adjusting the color settings (24-bit color is most common), by using a different window manager (such as Linux KDE instead of Gnome), or by updating the display drivers. In the most difficult cases, we have sometimes resorted to changing graphics hardware ... in the experience of NMRPipe's author, NVidia graphics hardware (rather than Radeon or Intel) seems to be the best choice for NMRPipe.

Recently, some versions of Linux include special tools for entering Asian language text, such as SCIM. Some of these "Input Method" tools may cause problems with NMRDraw and other graphical programs. If you have problems on Linux systems entering text into graphics programs or using graphical menus, etc, find and disable any special input methods such as SCIM that might be running.

On Mac OS X, NMRDraw Will Not Run, or Freezes

See the Mac OS X installation notes below for details on configuring software and settings for nmrDraw.

All of the NMRPipe Programs Fail to Run

A particular installation of NMRPipe might not be compatible with all versions of a given operating system. For example, the current Mac OS X version of NMRPipe will generally require a system with Mac OS X version 10.4 or higher. In these cases, none of the programs in the NMRPipe system will work unless the operating system is upgraded appropriately.

In the case of current Linux versions, NMRPipe requires 32-bit compatibility libraries when run on 64-bit hardware. If these libraries are not installed, every NMRPipe program will issue an error messages such as Command not found even though the program is available on the executable path and the NMRPipe environment variables are set properly. In these cases, use the appropriate commands to install 32-bit libraries etc. as needed -- the details will depend on your version of Linux, and might be something like one of the following:

    sudo apt-get install ia32-libs
    yum install glibc
    yum install glibc.i686

Installing NMRPipe on Mac OS X

Important Note for Mac Users: Mac OS X no longer supports 32-bit applications, so that NMRPipe's graphical interface nmrDraw will not work on Mac OS X. A replacement for nmrDraw is under development.

There are currently two Mac OS X versions of NMRPipe: mac11_64 for Intel systems, and mac11_arm64 fir M1 hardware.

The various NMRPipe graphical tools will require that an X11 graphics server (XQuartz) and libraries have been installed. Also, the graphical tools expect the use of a three-button scroll-wheel mouse or its equivalent.

Generally, NMRPipe facilities are operated from the command-line of an xterm terminal window. In some cases, the nmrDraw program will not work when used from a Mac xterm terminal window. If problems arise using nmrDraw from an a Mac OS X xterm window, try using the Mac OS X terminal application instead. The terminal application can be found in the Mac OS X Applications/Utilities folder.

Some Mac web browsers, especially Safari, may change the extensions of downloaded files, or attempt to decompress any downloaded files which have been previously compressed. Therefore, when downloading NMRPipe files, take care to retain the exact original file names, and disable any automatic decompression or adjustment of downloaded files. A better choice is to use the curl command-line utility to download files, for example:

   curl -O https://www.ibbr.umd.edu/nmrpipe/install.com
   curl -O https://www.ibbr.umd.edu/nmrpipe/binval.com
   curl -O https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
   curl -O https://www.ibbr.umd.edu/nmrpipe/s.tZ
and so on.

Installation and use of NMRPipe on the Mac requires the following:

  • An X11 graphics server must be installed, properly configured, and running. Current versions of Mac OS X require that you download and install a recent version of the XQuartz X11 graphics server, which can be found at http://xquartz.macosforge.org/landing/.

    Once an X11 graphics server is running, adjust its settings: on the X11 Preferences class="plain"Windows tab, set checkmarks ON beside "Click-Through Inactive Windows" "Focus Follows Mouse" and "Focus on New Windows":

    macx11pref

  • Since the X11 graphics server should be started in order to install or use NMRPipe, it will be helpful to drag a copy of this application to the Mac OS X command Dock so that you can start and control the X11 graphics server easily at any time.
  • Once X11 is running, use "Applications/Terminal" to create xterm terminal windows. Use these windows for all NMRPipe installation and command execution. If problems arise using nmrDraw from an xterm window, try using the Mac OS X terminalapplication instead. If you use the Mac OS X terminal application, be sure to configure the Preferences so that the terminal window uses the C-shell.
  • As noted presviously, NMRPipe requires use of the c-shell (or t C-shell) not bash or bourne shell. On the Mac, depending on the specific version of the operating system, there are several places places where a default shell is set.
    1. Under System Preferences, open Accounts Preferences.
    2. Unlock preference settings by clicking on the lock icon in the lower left.
    3. Right-click on a User entry and select the Advanced Options menu.
    4. Select /bin/csh (or /bin/tcsh) from the login shell pull-down menu, then click on OK.
    As noted in the Overview, the NMRPipe install procedure performs several software and graphics tests to check the status of the installation. If these tests fail in a way that interrupts the installation, you can suppress the post-installation checks using the +nopost install option.

    So, the typical steps for installing NMRPipe on a Mac system will be:

       (Install a three-button scroll-wheel mouse)
       (If possible, use the methods above to set the default shell to C-shell)
       (Update X11 from http://xquartz.macosforge.org/landing/)
       (Configure X11 window focus settings)
       (Drag X11 from Applications/Utilities to the Apple command dock)
       (Execute the X11 application to start the graphics server)
       (Create a new "xterm" window, run csh if the C-shell is not the default shell)
    
       cd (go to home directory)
       mkdir nmr
       cd nmr
    
       curl -O https://www.ibbr.umd.edu/nmrpipe/install.com
       curl -O https://www.ibbr.umd.edu/nmrpipe/binval.com
       curl -O https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
       curl -O https://www.ibbr.umd.edu/nmrpipe/s.tZ
       curl -O https://www.ibbr.umd.edu/nmrpipe/dyn.tZ
       curl -O https://www.ibbr.umd.edu/nmrpipe/talos_nmrPipe.tZ 
       curl -O https://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ
    
       chmod a+r  *.tZ *.Z *.tar
       chmod a+rx *.com
    
       ./install.com   (Use +nopost if graphics problems interrupt the install) 
    
       cd (go back to home directory)
       (Edit .cshrc to insert NMRPipe initialize commands)
       (Log out, log in again, test the software)
       (Try Mac "terminal" app if running nmrDraw from "xterm" fails)
       (Adjust the software settings if needed)
    

    The *.tZ files can be deleted after installation if desired.


    Installing NMRPipe on Linux

    There are versions of NMRPipe built on CentOS 6.5 (linux212_64), Ubuntu 20 (linux231_64), and Ubuntu 22 (linux235_64). The install procedure will attempt to automatically select the best version, but you can explicitly choose a version when running the install script, for example:
       ./install.com +type linux231_64
    

    Most Linux systems will require additional libraries and fonts in order to use NMRPipe. Some versions of NMRPipe, such as linux212_64, have only 32-bit versions of nmrDraw that will require 32-bit libraries. If the correct libraries are not installed, NMRPipe components will generate error messages or possibly not run at all, or generate Command not found error messages.

    If the required fonts are not installed, the nmrDraw program might fail with a message like the following:

        XView warning: Cannot load font
        XView error: Cannot open connection to window server
    

    Lately, many Linux systems do not include the C-shell by default; in these cases, you will have to install a C-shell on your system before being able to install or use NMRPipe. On some linux systems, the C-shell (or T C-Shell) can be installed with a command such as:

        yum install csh
        yum install tcsh
    

    When using NMRPipe for the first time, if an error message indicates that a required library is missing, you can try using the library name directly to find a suitable update. The specific details will depend on your version of Linux, and which commands are needed to install updates, usually yum (Red Hat, CentOS, older versions of Fedora), apt-get (Ubuntu), or dnf (latest versions of Fedora). For example, for the error message Error while loading shared libraries: libX11.so.6 try:

        yum install libstdc++.so.6
    

    As an example, on Ubuntu 22 64-bit systems, the following commands were required in order to use NMRPipe:

        apt-get install tcsh
        apt-get install xterm
        apt-get install libx11-6:i386
        apt-get install libxext6:i386
        apt-get install xfonts-75dpi
        apt-get install msttcorefonts
    

    If Ubuntu 20 is being installed as a virtual machine in VMware, this command might be required to allow mounting of directories shared between Ubuntu and the host operating system:

        sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000
    

    On CentOS 6 and 7 64-bit systems, first edit the file /etc/yum.conf and add the following line so that 32-bit versions of libraries will be installed:
        multilib_policy=all
    

    After adjusting the yum configuration file above, install the required libraries:

        yum install -y libgcc
        yum install -y glibc
        yum install -y libX11.so.6
        yum install -y libXext
        yum install -y libstdc++
        yum install -y xorg-x11-fonts-75dpi
        yum install -y xorg-x11-fonts-ISO8859-1-75dpi
    

    In other respects, installation of NMRPipe on a Linux system can be performed via the "general" steps, for example:

        (If possible, use the command chsh or other method to set the default shell to C-shell)
        (Create an "xterm" terminal window; run csh if the C-Shell is not the default shell)
    
        cd (go to home directory)
        mkdir nmr
        cd nmr
    
        wget https://www.ibbr.umd.edu/nmrpipe/install.com
        wget https://www.ibbr.umd.edu/nmrpipe/binval.com
        wget https://www.ibbr.umd.edu/nmrpipe/NMRPipeX.tZ
        wget https://www.ibbr.umd.edu/nmrpipe/s.tZ
        wget https://www.ibbr.umd.edu/nmrpipe/dyn.tZ
        wget https://www.ibbr.umd.edu/nmrpipe/talos_nmrPipe.tZ
        wget https://www.ibbr.umd.edu/nmrpipe/plugin.smile.tZ
    
        chmod a+r  *.tZ *.Z *.tar
        chmod a+rx *.com
    
        ./install.com
    
        cd (go to home directory)
        (Edit .cshrc to insert NMRPipe initialize commands)
        (Log out, log in again, test the software)
        (Adjust the software settings if needed)
    

    The *.tZ files can be deleted after installation if desired.