Downloading and Installation of nXDS

The nXDS package comprises two compressed tar-files containing the documentation and the executable programs, respectively.

Documentation

To obtain a local copy of the html documentation (and the .INP file templates), download the compressed tar-file named nXDS_html_doc.tar.gz to your Desktop. Uncompress and untar the downloaded file. This will create a directory named nXDS_html_doc that you can locally access for consultation by your browser. The downloaded tar-file is no longer needed and can be deleted.

Executables

For downloading select the tar-file appropriate for your computer and operating system.

name of tar-file for downloading processor operating system
nXDS-INTEL64_Linux_x86_64.tar.gz Intel, AMD Linux x86_64, 64 bit
nXDS-OSX_64.tar.gz Intel (emulated on Apple Silicon) mac OS Yosemite or newer

The downloaded file contains the executables mentioned in the table below.

Executable Programs that can be called by the user are in bold face.
nxds Program for processing snapshots by a single cpu at each cluster node.
nxds_par Multi-processor version of nxds for up to 99 cpu's at each cluster node.
nxscale Scaling and postrefinement program for data sets from the INTEGRATE step of nXDS (single-processor version).
nxscale_par Multi-processor version of nxscale for up to 99 cpu's.
2cbf Program to convert various detector image formats to CBF.
merge2cbf Program to convert (and merge) a series of detector images from their native format to CBF.
pix2lab Helps to find the correct mapping of image pixels to the laboratory frame.
  The following programs are called only by nXDS
forknxds Shell script invoked by nXDS for distributing computations to the nodes of a cluster.
nfilter invoked by forknxds as a main program in single-processor mode for recognizing useless snapshots.
nfilter_par invoked by forknxds as a main program running under OpenMP for recognizing useless snapshots.
ncolspot invoked by forknxds as a main program in single-processor mode for spot finding.
ncolspot_par invoked by forknxds as a main program running under OpenMP for spot finding.
nidxref invoked by forknxds as a main program in single-processor mode for indexing.
nidxref_par invoked by forknxds as a main program running under OpenMP for indexing.
nintegrate invoked by forknxds as a main program in single-processor mode used for integration.
nintegrate_par invoked by forknxds as a main program running under OpenMP used for integration.

Installation

System or administrator privileges are not required for installation. The nXDS package is just a folder containing the executables listed above and all you have to do for installation is to include this folder in the search path for executables.

Uncompress and untar the downloaded file. This will create a directory on your machine containing the executables listed above. All executables must be moved to a location included in the search path for executables, say $HOME/bin/ for a private installation or /usr/local/bin/ for a system-wide installation (which requires administrator privileges).

Alternatively, you could edit your standard personal initialization file ( ~/.bashrc or ~/.bash_login or ~/.zshrc , e.g. ) to include the line
export PATH="/full_path_name_of_downloaded_nXDS_directory:$PATH"

In addition you could add the command
export KMP_STACKSIZE=8m
to your personal initialization file. This command defines the stack size limit of the Linux POSIX threads libraries used by OpenMP for nxds_par. The limit 8m may need to be increased if xds_par collapses with a segmentation fault in the COLSPOT or INTEGRATE step for some of your data sets.

This completes installation of the nXDS package. As a check you can open a new terminal window and issue the command which nxds or which 2cbf or which forknxds. In fact, all executables from the downloaded tar-file mentioned in the table above should be tested in this way. Furthermore, you should verify using the 'ls -l' command whether the reported file names refer indeed to the executables just installed.

NOTE that installation of nXDS under macOS Catalina first requires the command
xattr -dr com.apple.quarantine full_path_name_to/nXDS-OSX_64/*
in order to avoid the message "quarantine because untrusted software".

Installation on a computer cluster

Additional work is only needed for installation of nXDS on a cluster system of computer nodes in a networked (NFS) environment where each node may in turn consist of several cpu cores sharing a common address space. To prevent being asked for a password each time by each of the nodes, use of authentication keys for ssh is recommended. For each user such a key can be generated by the following procedure.

Assuming that your home folder ~ is mounted on all nodes of the computer cluster, you should then be able to ssh to any of them without being asked for your password. Also, there is no need to specify the names of the nodes of the cluster during program installation. The names of the nodes you want nXDS to use for your data processing run are specified in nXDS.INP by the parameter CLUSTER_NODES=. Optimal use of the hardware is made automatically by nXDS - depending on the size of your data set.


© 2017-2022, MPI for Medical Research, Heidelberg      Imprint Datenschutzhinweis.
Wolfgang.Kabsch@mpimf-heidelberg.mpg.de
page last updated: Mar 27, 2022