Installation: Difference between revisions
→Windows: update |
m remove the --no-check-certificate option from wget, since the MPG server xds.mr.mpg.de 's certificate was fixed on July 31, 2025. |
||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This article has information that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). | This article has information that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). Generally, it is easiest if binaries (or links to binaries) go to /usr/local/bin . This means that you should do this as the administrator (root), or have sudo rights (Mac, and some Linux distros). But it is mostly possible to install without administrative privileges - the exception is XDSGUI on Linux which may require installation of certain libraries by the administrator. | ||
Line 6: | Line 6: | ||
=== [[XDS]] package === | === [[XDS]] package === | ||
If you are an academic user, as root (on Ubuntu, use "sudo -i" to become root) | If you are an academic user, as root (on Ubuntu, use "sudo -i" as a separate command, to become root): | ||
<pre> | <pre> | ||
cd /usr/local/bin | cd /usr/local/bin | ||
wget | wget -O- https://xds.mr.mpg.de/XDS-gfortran_Linux_x86_64.tar.gz | tar xzvf - | ||
ln -sf XDS-gfortran_Linux_x86_64/* . | ln -sf XDS-gfortran_Linux_x86_64/* . | ||
# until 2025-05-02 the XDS tarfile for Linux had a different name: | # until 2025-05-02 the XDS tarfile for Linux had a different name: | ||
Line 15: | Line 15: | ||
# ln -sf XDS-INTEL64_Linux_x86_64/* . | # ln -sf XDS-INTEL64_Linux_x86_64/* . | ||
</pre> | </pre> | ||
In case the above website is unavailable, there is a [https://{{SERVERNAME}}/pub/xds backup site]. | In case the above website is unavailable, there is a [https://{{SERVERNAME}}/pub/xds backup site]. | ||
If you don't have root rights, replace /usr/local/bin by $HOME/bin in the first line above, and make sure that $HOME/bin is in your $PATH (google "linux set path" or similar). | |||
If you want to process data from the [[Eiger]] detector: see below for plugins that allow XDS to read the .h5 files. Similarly for gzip-ed CBF files as mostly collected at EMBL Hamburg. | If you want to process data from the [[Eiger]] detector: see below for plugins that allow XDS to read the .h5 files. Similarly for gzip-ed CBF files as mostly collected at EMBL Hamburg. | ||
Line 21: | Line 23: | ||
=== other programs: [[XDS-Viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]], [[spot2pdb]], [[generate_XDS.INP]] === | === other programs: [[XDS-Viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]], [[spot2pdb]], [[generate_XDS.INP]] === | ||
... can be downloaded from https://{{SERVERNAME}}/pub/linux_bin/ . A simple way to obtain them is to create an empty folder, "cd" to that folder and then | ... can be downloaded from https://{{SERVERNAME}}/pub/linux_bin/ . A simple way to obtain them is to create an empty folder, "cd" to that folder and then | ||
wget | wget -N https://{{SERVERNAME}}/pub/linux_bin/get_folder.sh | ||
chmod +x get_folder.sh | chmod +x get_folder.sh | ||
./get_folder.sh | ./get_folder.sh | ||
Line 27: | Line 29: | ||
As root, the script copies the programs into /usr/local/bin/linux_bin, and links them to /usr/local/bin. As a normal user, they are downloaded to $HOME/bin/linux_bin, and linked to your $HOME/bin. In the latter case, make sure that $HOME/bin is in your $PATH. | As root, the script copies the programs into /usr/local/bin/linux_bin, and links them to /usr/local/bin. As a normal user, they are downloaded to $HOME/bin/linux_bin, and linked to your $HOME/bin. In the latter case, make sure that $HOME/bin is in your $PATH. | ||
Although CCP4 is not required by XDS, XSCALE or XDSGUI, some of the programs (namely XDSSTAT, and MTZ file creation in XDSCONV) need its tools (F2MTZ, ...) or libraries, or run its programs (POINTLESS and COOT can be run from XDSGUI). Therefore, CCP4 should be installed. | |||
=== tools and helper programs for [[generate_XDS.INP]] and [[XDSGUI]], and libraries === | === tools and helper programs for [[generate_XDS.INP]] and [[XDSGUI]], and libraries === | ||
Line 32: | Line 36: | ||
* helper programs for [[XDSGUI]] are listed and discussed at [[XDSGUI#Dependencies]]. Nota bene: XDSGUI needs [[generate_XDS.INP]] unless you already have a working XDS.INP. | * helper programs for [[XDSGUI]] are listed and discussed at [[XDSGUI#Dependencies]]. Nota bene: XDSGUI needs [[generate_XDS.INP]] unless you already have a working XDS.INP. | ||
Since XDSGUI depends on graphics packages that may need to be installed, you can check the xdsgui binary with | Since XDSGUI depends on graphics packages that may need to be installed (by root), you can check the xdsgui binary with | ||
ldd `which xdsgui` | grep found | ldd `which xdsgui` | grep found | ||
and that should show you the libraries it didn't find. Your friendly system administrator knows the specific commands to install those libraries. | and that should show you the libraries it '''didn't''' find. Your friendly system administrator knows the specific commands to install those libraries. | ||
N.B. this may list libpng15.so for the latest XDSGUI (compiled May 2023), but you can ignore that! | N.B. this may list libpng15.so for the latest XDSGUI (compiled May 2023), but you can ignore that! | ||
Line 48: | Line 52: | ||
sudo apt-file update | sudo apt-file update | ||
On Ubuntu, XDSGUI may require <code>sudo apt install libxcb-xinerama0</code> | |||
On Ubuntu, | |||
<code>xxdiff</code> is likely available for your distribution - google for it, or try e.g. | <code>xxdiff</code> is likely available for your distribution - google for it, or try e.g. | ||
Line 56: | Line 58: | ||
on RHEL6/CentOS6/SL6 systems, or | on RHEL6/CentOS6/SL6 systems, or | ||
apt install xxdiff | apt install xxdiff | ||
on Ubuntu. If Ubuntu | on Ubuntu. If Ubuntu doesn't find it, use the latest from http://archive.ubuntu.com/ubuntu/pool/universe/x/xxdiff/ | ||
An <code>xxdiff</code> binary that runs on CentOS7 (RHEL7, SL7) is provided by the <code>get_folder.sh</code> script. | An <code>xxdiff</code> binary that runs on CentOS7 (RHEL7, SL7) is provided by the <code>get_folder.sh</code> script. | ||
Line 73: | Line 75: | ||
sudo mkdir /usr/local/bin | sudo mkdir /usr/local/bin | ||
As an alternative that does not require root for installation, one may create a directory $HOME/bin and use that for the programs and links. Also, this requires modification of the $PATH, by a one-time | '''As an alternative that does not require root for installation''', one may create a directory $HOME/bin and use that for the programs and links. Also, this requires modification of the $PATH, by a one-time | ||
mkdir $HOME/bin | mkdir $HOME/bin | ||
echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile | echo 'export PATH=$PATH:$HOME/bin' >> ~/.zprofile | ||
Line 84: | Line 86: | ||
if [ ! -e /usr/local/bin ]; then mkdir /usr/local/bin; fi | if [ ! -e /usr/local/bin ]; then mkdir /usr/local/bin; fi | ||
cd /usr/local/bin | cd /usr/local/bin | ||
# if the next command produces an error message, use the --insecure option | |||
curl -L -o - https://xds.mr.mpg.de/XDS-OSX_64.tar.gz | tar xzvf - | curl -L -o - https://xds.mr.mpg.de/XDS-OSX_64.tar.gz | tar xzvf - | ||
ln -sf XDS-OSX_64/* . | ln -sf XDS-OSX_64/* . | ||
Line 110: | Line 113: | ||
now enter the password, and then | now enter the password, and then | ||
if [ ! -e /usr/local/bin ]; then mkdir /usr/local/bin; fi | if [ ! -e /usr/local/bin ]; then mkdir /usr/local/bin; fi | ||
cd /usr/local/bin | cd /usr/local/bin | ||
curl -L -o - https://xds.mr.mpg.de/XDS-Apple_M1.tar.gz | tar xzvf - | # if the next command produces an error message, use the --insecure option | ||
ln -sf XDS-Apple_M1/* . | curl -L -o - https://xds.mr.mpg.de/XDS-Apple_M1.tar.gz | tar xzvf - | ||
ln -sf XDS-Apple_M1/* . | |||
exit | exit | ||
Line 128: | Line 132: | ||
[[generate_XDS.INP]] requires the [https://developer.apple.com/download/more/ Xcode command line tools] to be installed (free of charge): open a Terminal window, and enter <code>sudo xcode-select --install</code> (the download has a size of about 750MB; the downloader is much too pessimistic about the time it takes). | [[generate_XDS.INP]] requires the [https://developer.apple.com/download/more/ Xcode command line tools] to be installed (free of charge): open a Terminal window, and enter <code>sudo xcode-select --install</code> (the download has a size of about 750MB; the downloader is much too pessimistic about the time it takes). | ||
Although CCP4 is not required by XDS | Although CCP4 is not required by XDS, XSCALE or XDSGUI, some of the programs (namely XDSSTAT, and MTZ file creation in XDSCONV) need its tools (F2MTZ, ...) or libraries, or run its programs (POINTLESS, COOT can be run from XDSGUI). Therefore, CCP4 should be installed. Open a Terminal and check the existence of the file .zprofile , and its content:<pre> | ||
kay@Kays-MacBook-Air-2018 ~ % ls -l .zprofile | kay@Kays-MacBook-Air-2018 ~ % ls -l .zprofile | ||
-rw-r--r-- 1 kay staff 107 7 Mär 09:41 .zprofile | -rw-r--r-- 1 kay staff 107 7 Mär 09:41 .zprofile | ||
Line 134: | Line 138: | ||
source $HOME/.profile | source $HOME/.profile | ||
# Added by CCP4 package manager: | # Added by CCP4 package manager: | ||
source '/Applications/ccp4-8.0/bin/ccp4.setup-sh' | |||
# or | # or | ||
source '/Applications/ccp4-9/bin/ccp4.setup-sh' | |||
</pre>If the file does not exist, create it - the easiest way is: | </pre>If the file does not exist, create it - the easiest way is: | ||
<pre> | <pre> | ||
echo | echo source /Applications/ccp4-8.0/bin/ccp4.setup-sh >> $HOME/.zprofile | ||
# or | # or | ||
echo | echo source /Applications/ccp4-9/bin/ccp4.setup-sh >> $HOME/.zprofile | ||
# depending on which CCP4 version you have installed | # depending on which CCP4 version you have installed | ||
</pre>The <code>get_folder.sh</code> script (below) checks the CCP4 setup, and creates the necessary files if needed. | </pre>The <code>get_folder.sh</code> script (below) checks the CCP4 setup, and creates the necessary files if needed. | ||
Line 158: | Line 162: | ||
mkdir -p /usr/local/bin/mac_bin | mkdir -p /usr/local/bin/mac_bin | ||
cd /usr/local/bin/mac_bin | cd /usr/local/bin/mac_bin | ||
# if the next command produces an error message, use the --insecure option | |||
curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder.sh | curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder.sh | ||
chmod +x get_folder.sh | chmod +x get_folder.sh | ||
Line 165: | Line 170: | ||
mkdir -p /usr/local/bin/mac_bin | mkdir -p /usr/local/bin/mac_bin | ||
cd /usr/local/bin/mac_bin | cd /usr/local/bin/mac_bin | ||
# if the next command produces an error message, use the --insecure option | |||
curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder_silicon.sh | curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder_silicon.sh | ||
chmod +x get_folder_silicon.sh | chmod +x get_folder_silicon.sh | ||
Line 174: | Line 180: | ||
In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> (or <code>get_folder_silicon.sh</code>) script | In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> (or <code>get_folder_silicon.sh</code>) script | ||
# copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code> . NOTE that the names of the native libraries for the Apple Silicon Macs ends with *-Apple-arm64.so | # copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code> . NOTE that the names of the native libraries for the Apple Silicon Macs ends with *-Apple-arm64.so . | ||
# copies [https://www.globalphasing.com GlobalPhasing's] <code>hdf2mini-cbf</code> into <code>/usr/local/bin</code>, but under the name <code>H5ToXds</code> (consider getting a [https://www.globalphasing.com/autoproc/ autoPROC] license!) | # copies [https://www.globalphasing.com GlobalPhasing's] <code>hdf2mini-cbf</code> into <code>/usr/local/bin</code>, but under the name <code>H5ToXds</code> (consider getting a [https://www.globalphasing.com/autoproc/ autoPROC] license!) | ||
# copies <code>h5dump</code> [https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.1/bin/unix/hdf5-1.12.1-Std-macos11_64-clang.tar.gz] into <code>/usr/local/bin</code> | # copies <code>h5dump</code> [https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.1/bin/unix/hdf5-1.12.1-Std-macos11_64-clang.tar.gz] into <code>/usr/local/bin</code> | ||
For XDSGUI, you have a choice between the version for Intel Macs and that for Silicon Macs. Both do work on Silicon Macs, except for the plugin libraries - for these, the correct version (ending with -Apple-arm64.so) must be used together with xdsgui_mac_silicon. | For XDSGUI, you have a choice between the version for Intel Macs and that for Silicon Macs. Both do work on Silicon Macs, except for the plugin libraries - for these, the correct version (ending with -Apple-arm64.so) must be used together with xdsgui_mac_silicon. | ||
Line 195: | Line 199: | ||
A quick way is also | A quick way is also | ||
which generate_XDS.INP xdsgui xds xds-viewer xdsstat | which generate_XDS.INP xdsgui xds xds-viewer xdsstat coot | ||
and this should return a line for each of the programs asked for. | and this should return a line for each of the programs asked for. | ||