2,684
edits
(→Windows: update with info about CU of WSL) |
(→XDS package: backup site) |
||
(33 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This article has some little script snippets that should ease the installation of XDS and related programs ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). It is assumed that binaries (or links to binaries) should go to /usr/local/bin . | This article has some little script snippets that should ease the installation of XDS and related programs like ([[XDS-viewer]], [[xdsstat]], [[XDSGUI|xdsgui]]). It is assumed that binaries (or links to binaries) should 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). | ||
== Linux == | == Linux == | ||
Log in as root - we need write permission for /usr/local/bin . | '''Log in as root''' - we need write permission for /usr/local/bin . | ||
=== [[XDS]] package === | |||
If you are an academic user, as root | |||
<pre> | <pre> | ||
cd /usr/local/bin | cd /usr/local/bin | ||
Line 11: | Line 12: | ||
ln -sf XDS-INTEL64_Linux_x86_64/* . | ln -sf XDS-INTEL64_Linux_x86_64/* . | ||
</pre> | </pre> | ||
In case the [ftp://ftp.mpimf-heidelberg.mpg.de/pub/kabsch above site] is unavailable, there is a [https://strucbio.biologie.uni-konstanz.de/pub/xds backup site]. | |||
=== other programs: [[XDS-Viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]] === | |||
... 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 (as root) | |||
wget https://{{SERVERNAME}}/pub/linux_bin/get_folder.sh | |||
chmod +x get_folder.sh | |||
chmod +x | ./get_folder.sh | ||
Please note that to get the <code>strings</code> command, which is used by [[generate_XDS.INP]], on some Linux distributions (e.g. FC23) you need to install the <code>binutils</code> RPM package. | Please note that to get the <code>strings</code> command, which is used by [[generate_XDS.INP]], on some Linux distributions (e.g. FC23) you need to install the <code>binutils</code> RPM package. | ||
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, you can check the xdsgui binary with | ||
ldd `which xdsgui` | ldd `which xdsgui` | ||
and that should show you the libraries it found, and more importantly, those that it didn't find. Your friendly system administrator will then work out the specific commands to install those libraries; on RedHat-type distributions that would typically be e.g. <code>yum provides libXfixes.so.3</code> the output of which will tell you that this is in the libXfixes RPM. | and that should show you the libraries it found, and more importantly, those that it didn't find. Your friendly system administrator will then work out the specific commands to install those libraries; on RedHat-type distributions that would typically be e.g. <code>yum provides libXfixes.so.3</code> the output of which will tell you that this is in the libXfixes RPM. <code>xds-viewer</code> needs libpng12.so.0 which can be installed with <code>yum install libpng12</code>. | ||
Ubuntu 18.04: if libQtOpenGL.so.4 is missing, use <code>sudo apt install libqt4-opengl</code>, and if libpng12.so is missing (xds-viewer needs it), install it from [https://packages.ubuntu.com/xenial/amd64/libpng12-0/download] . | |||
Of course, this still requires installation of <code>xxdiff</code> (or alternative), and for .h5 data: HDF5 package, and <code>H5ToXds</code> and/or [https://www.dectris.com/company/news/newsroom/news-details/process-eiger-data-with-xds-fast Neggia] library. | |||
<code>xxdiff</code> is likely available for your distribution - google for it, or try e.g. | |||
yum -y install xxdiff | yum -y install xxdiff | ||
on RHEL6/CentOS6/SL6 systems, or | on RHEL6/CentOS6/SL6 systems, or | ||
Line 59: | Line 36: | ||
on Ubuntu. | on Ubuntu. | ||
An <code>xxdiff</code> binary that runs on CentOS7 (RHEL7, SL7) is provided by the <code>get_folder.sh</code> script. | |||
Alternatively, tkdiff may be installed, or other graphical comparison programs, like meld or kdiff3. vimdiff is also nice, and probably already installed. | Alternatively, tkdiff may be installed, or other graphical comparison programs, like meld or kdiff3. vimdiff is also nice, and probably already installed. | ||
For [[Eiger]] data processing, H5ToXDS should be installed as [[Eiger|explained]], and <code>h5dump</code> should be installed by e.g. <code>yum -y install hdf5</code>. | For [[Eiger]] data processing, <code>H5ToXDS</code> should be installed as [[Eiger|explained]], and <code>h5dump</code> should be installed by e.g. <code>yum -y install hdf5</code>. | ||
== Mac | == Mac OSX == | ||
Attention: [[generate_XDS.INP]] requires [https://developer.apple.com/ | Attention: [[generate_XDS.INP]] requires the [https://developer.apple.com/download/more/ Xcode command line tools] to be installed (free of charge). In my experience, you have to explicitly agree to the License terms when running a Command Line Tool (e.g. <code>strings</code>) for the first time. | ||
Become familiar with the concept and ways to run commands as "root" - google "mac osx become root". All the tasks that are run in a Terminal window require root privileges, since some of the programs and their links are written to /usr/local/bin. (As an alternative that does not require root, one may create a directory $HOME/bin and use that for the programs and links. That would also require modification of the $PATH, by a one-time <code>echo 'export PATH=$PATH:$HOME/bin' >> ~/.profile</code>) | |||
So, prepare the following steps by opening the Terminal window, and then | |||
sudo su # this will make you root, and ask for your password | |||
mkdir /usr/local/bin # only if /usr/local/bin was not created before | |||
=== | === [[XDS]] package === | ||
If you are an academic user, | |||
echo you may have to "sudo su" first, to obtain administrator permissions! | |||
cd /usr/local/bin | |||
curl -L -o - ftp://ftp.mpimf-heidelberg.mpg.de/pub/kabsch/XDS-OSX_64.tar.gz | tar xzvf - | |||
echo | |||
cd | |||
curl -L -o - ftp://ftp.mpimf-heidelberg.mpg.de/pub/kabsch/XDS-OSX_64.tar.gz | tar | |||
ln -sf XDS-OSX_64/* . | ln -sf XDS-OSX_64/* . | ||
=== other programs: [[XDS-Viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]] === | |||
... can be downloaded from https://{{SERVERNAME}}/pub/mac_bin/ . A simple way to obtain them is is to open a Terminal, and type: | |||
sudo su | |||
which asks for the password and gives you administrator permissions. Then, | |||
# any folder would do; here we use /usr/local/bin/mac_bin | |||
mkdir -p /usr/local/bin/mac_bin | |||
cd | cd /usr/local/bin/mac_bin | ||
curl - | curl -O -R https://{{SERVERNAME}}/pub/mac_bin/get_folder.sh | ||
chmod +x get_folder.sh | |||
chmod | ./get_folder.sh | ||
If you want to update the programs some time later, just run these commands again. | |||
</ | In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> script | ||
' | # copies Dectris' Neggia library into /usr/local/lib64 | ||
# copies [[Eiger#General_aspects|eiger2cbf-osx]] into /usr/local/bin, but under the name <code>H5ToXds</code> | |||
# copies [https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.7/bin/mac-intel-x86_64/utilities/h5dump version 1.8.7] of <code>h5dump</code> into /usr/local/bin | |||
Lastly, it is useful (for e.g. XDSGUI) to install <code>xxdiff</code> from http://furius.ca/downloads/xxdiff/releases/macosx/ | |||
< | |||
=== Troubleshooting === | === Troubleshooting === | ||
Line 205: | Line 101: | ||
== Windows == | == Windows == | ||
The programs of the [[XDS]] package as well as [[XDSGUI]], [[XDSSTAT]], [[XDSCC12]] and so on may be run on 64bit Windows 10 within the [ | The programs of the [[XDS]] package as well as [[XDSGUI]], [[XDSSTAT]], [[XDSCC12]] and so on may be run on 64bit Windows 10 within the [https://docs.microsoft.com/windows/wsl/install-win10 Linux Subsystem for Windows] (WSL). This (easily!) installs a Ubuntu environment, which supports the apt package manager, so in principle any software available for Ubuntu may be installed (or other distros, see [https://blogs.msdn.microsoft.com/commandline/2017/05/11/new-distros-coming-to-bashwsl-via-windows-store/]). | ||
[https://blogs.msdn.microsoft.com/commandline/2017/ | |||
Graphical Linux programs require installation of a X server like [https://sourceforge.net/projects/xming/files/latest/download Xming] on the Windows host. To use | Graphical Linux programs require installation of a X server like [https://sourceforge.net/projects/xming/files/latest/download Xming] or [https://sourceforge.net/projects/vcxsrv VcXsvr] on the Windows host. There are helpful writeups (e.g. [http://wsl-guide.org/en/latest/]). To use the X server, one has to say in the shell window | ||
export DISPLAY=:0 | export DISPLAY=:0 | ||
before running the program. Running XDSGUI under WSL's Ubuntu | before running the program. Running XDSGUI under WSL's Ubuntu may require installation of a few packages with e.g. | ||
sudo apt-get install libgomp1 libqtgui4 | sudo apt-get install libgomp1 libqtgui4 | ||
and [[generate_XDS.INP]] requires a number of packages (some of which are only for specific detectors!); I'd start with | (see [[XDSGUI#Libraries_and_software_that_the_program_depends_on|XDSGUI]] and above). | ||
[[generate_XDS.INP]] requires a number of packages (some of which are only for specific detectors!); I'd start with | |||
sudo apt-get install coreutils binutils gawk sed bc grep | sudo apt-get install coreutils binutils gawk sed bc grep | ||
and if required, also install python and hdf5-tools. | and if required, also install python and hdf5-tools. | ||
XDSSTAT and the conversion to MTZ files by XDSCONV require a CCP4 installation accessible by WSL. In principle, CCP4 may be installed within WSL (have not tested this), or on the Windows host. | |||
[[File:Xds_win.PNG|1000px]] | |||
(Screenshot provided by Gustavo Lima) | |||
== See also == | |||
[[Cluster Installation]] |