Installation: Difference between revisions

Jump to navigation Jump to search
2,170 bytes added ,  18 January 2022
(15 intermediate revisions by the same user not shown)
Line 73: Line 73:
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, <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> (Ubuntu: <code>apt install hdf5-tools</code>). Furthermore, you want the [https://www.dectris.com/company/news/newsroom/news-details/process-eiger-data-with-xds-fast Neggia] library or the [https://github.com/DiamondLightSource/durin Durin plugin].
For [[Eiger]] data processing, a h5dump binary (version 1.10 req'd for HDF5 data from DLS) and <code>H5ToXDS</code> is installed by the <code>get_folder.sh</code> script into /usr/local/bin. If the script is not used, <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> (Ubuntu: <code>apt install hdf5-tools</code>) - but make sure that h5dump is version 1.10 or higher when processing HDF5 data from DLS.


== Mac OSX ==
Furthermore, you want the [https://www.dectris.com/company/news/newsroom/news-details/process-eiger-data-with-xds-fast Neggia] library (does not work for HDF5 data from DLS) or the [https://github.com/DiamondLightSource/durin Durin plugin]. These may be installed through the <code>get_folder.sh</code> script, in <code>/usr/local/lib64</code>.


Attention: [[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> (for Big Sur, the download has a size of about half a GB; the downloader is much too pessimistic about the time it takes).
== macOS ==


Although CCP4 is not required by XDS itself, some of the programs (XDSSTAT, and MTZ file creation in XDSCONV) use CCP4 tools or libraries. Therefore, CCP4 should be installed. Open a Terminal and check the existence of the file .zprofile , and its content:<pre>
=== [[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 - https://xds.mr.mpg.de/XDS-OSX_64.tar.gz | tar xzvf -
ln -sf XDS-OSX_64/* .
 
Starting with macOS Catalina, you may also need
xattr -dr XDS-OSX_64/*
if you get a security error popup (google "xattr com.apple.quarantine catalina").
 
Then make sure that the binaries are in the search path for executables, as explained in https://xds.mr.mpg.de/html_doc/downloading.html .
 
==== considerations for a macOS machine with Apple M1 processor ====
 
Change the above <code>curl</code> and <code>ln</code> commands to
curl -L -o - https://xds.mr.mpg.de/XDS-Apple_M1.tar.gz | tar xzvf -
ln -sf XDS-Apple_M1/* .
 
If you want to process .h5 files written by Dectris' detectors, use the [https://strucbio.biologie.uni-konstanz.de/pub/mac_bin/dectris-neggia-Apple-arm64.so Neggia plugin for Apple ARM64 processors]. I could not successfully compile the Durin plugin for data from DLS, see https://github.com/DiamondLightSource/durin/issues/24 .
 
=== Prerequisites (Xcode, CCP4) for [[generate_XDS.INP]], [[XDSGUI]] and other programs ===
[[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> (for Big Sur, the download has a size of about half a GB; the downloader is much too pessimistic about the time it takes).
 
Although CCP4 is not required by XDS itself, some of the programs (XDSSTAT, and MTZ file creation in XDSCONV, POINTLESS and COOT) use CCP4 tools or libraries. 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
kay@Kays-MacBook-Air-2018 ~ % cat .zprofile
kay@Kays-MacBook-Air-2018 ~ % cat .zprofile
source /Users/kay/.profile
source $HOME/.profile
# Added by CCP4 package manager:
# Added by CCP4 package manager:
. '/Applications/ccp4-7.1/bin/ccp4.setup-sh'
. '/Applications/ccp4-7.1/bin/ccp4.setup-sh'
</pre>If the file does not exist, create it with the contents indicated above; you have to adapt it to your user name and the CCP4 version.
</pre>If the file does not exist, create it - the easiest way is:
<pre>
echo . /Applications/ccp4-7.1/bin/ccp4.setup-sh >> $HOME/.zprofile
</pre>The <code>get_folder.sh</code> script (below) checks the CCP4 setup, and creates the necessary files if needed.
 
Only Terminal windows that are opened afterwards will have access to the CCP4 programs!


Become familiar with the concept and ways to run commands as "root" - google "mac osx become root". All the installation 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 for installation, 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>)
Become familiar with the concept and ways to run commands as "root" - google "mac osx become root". All the installation 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 for installation, 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>)
Line 93: Line 123:
  sudo su                    # this will make you root, and ask for your password
  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
  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 - https://xds.mr.mpg.de/XDS-OSX_64.tar.gz | tar xzvf -
ln -sf XDS-OSX_64/* .
Starting with macOS Catalina, you also need
xattr -dr XDS-OSX_64/*
if you get a security error popup (google "xattr com.apple.quarantine catalina").


=== other programs: [[XDS-viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]], [[generate_XDS.INP]]  ===
=== other programs: [[XDS-viewer]], [[XDSSTAT]], [[XDSCC12]], [[XDSGUI]], [[XSCALE_ISOCLUSTER]], [[generate_XDS.INP]]  ===
Line 119: Line 137:


In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> script  
In order to enable [[Eiger]] data processing, the <code>get_folder.sh</code> script  
# copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code>
# copies Dectris' Neggia library and DLS's Durin library into <code>/usr/local/lib64</code> (see above for Neggia and Durin on M1 Macs; the script does not yet handle this automatically)
# 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.10/hdf5-1.10.7/bin/unix/] 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>


A [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.13.dmg 10.13] Qt5 version of XDS-viewer (compiled by T. Hauß) works on macOS Catalina, and is installed by <code>get_folder.sh</code>. Older Macs need [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-0.6 this version]; newer macOS should install [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.15.dmg 10.15]. For XDSGUI, the [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt4.dmg Qt4 version] is still the default, but a [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg Qt5 version] is available.
A [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.13.dmg 10.13] Qt5 version of XDS-viewer (compiled by T. Hauß) works on macOS Catalina, and is installed by <code>get_folder.sh</code>. Older Macs need [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-0.6.dmg this version]; newer macOS should install [https://{{SERVERNAME}}/pub/mac_bin/XDS-Viewer-macOS10.15.dmg 10.15]. For XDSGUI, the [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt4.dmg Qt4 version] is still the default, but a [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg Qt5 version] is available (but needs Qt5 libraries!).


Lastly, it is useful (for e.g. XDSGUI) to install <code>xxdiff</code> from http://furius.ca/downloads/xxdiff/releases/macosx/ . I had to go to System Preferences > Security & Privacy > Privacy and add xxdiff to the programs with full disk access.
Lastly, it is useful (for e.g. XDSGUI) to install <code>xxdiff</code> from http://furius.ca/downloads/xxdiff/releases/macosx/ . I had to go to System Preferences > Security & Privacy > Privacy and add <code>xxdiff</code> to the programs with full disk access.


=== Troubleshooting ===
=== Troubleshooting ===
Line 149: Line 167:
A lot of technical detail is at [https://docs.microsoft.com/en-us/windows/wsl/compare-versions] .
A lot of technical detail is at [https://docs.microsoft.com/en-us/windows/wsl/compare-versions] .


CCP4 supports WSL-1 ; see info at http://www.ccp4.ac.uk/download/#os=wsl .
CCP4 documents use of WSL-1 ; see info at http://www.ccp4.ac.uk/download/#os=wsl .


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] or [https://mobaxterm.mobatek.net/ Mobaxterm] on the Windows host. There are helpful writeups (e.g. [https://wiki.ubuntu.com/WSL#Running_Graphical_Applications] and [http://wsl-guide.org/en/latest/]). VcXsrc seems to have a problem with coot for some people (see [https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=COOT;6ef4a967.2011 WSL2 installation] and responses). To use the X server with WSL, one has to say in the shell window
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] or [https://mobaxterm.mobatek.net/ Mobaxterm] on the Windows host. There are helpful writeups (e.g. [https://wiki.ubuntu.com/WSL#Running_Graphical_Applications] and [http://wsl-guide.org/en/latest/]). VcXsrc seems to have a problem with coot for some people (see [https://www.jiscmail.ac.uk/cgi-bin/wa-jisc.exe?A2=COOT;6ef4a967.2011 WSL2 installation] and responses). To use the X server with WSL, one has to say in the shell window
Line 165: Line 183:
A detailed [https://strucbio.biologie.uni-konstanz.de/pub/xds%20%20prog%20installation%20in%20WSL%20(Lata%20Panicker).pdf writeup for Ubuntu 20.04 LTS] was provided by Dr Lata Panicker, SO(G), BARC, India.
A detailed [https://strucbio.biologie.uni-konstanz.de/pub/xds%20%20prog%20installation%20in%20WSL%20(Lata%20Panicker).pdf writeup for Ubuntu 20.04 LTS] was provided by Dr Lata Panicker, SO(G), BARC, India.


Update September 2021: With the current version of Windows 10 and WSL, the Qt5 binary of XDSGUI does not seem to allow editing in the XDS.INP tab. If this happens, either use an external editor or use xdsgui.qt4. In the latter case, you may have to install Qt4 libraries.


=== WSL2 ===
=== WSL2 ===


CCP4 7.1 including coot-0.9.5 works in a Ubuntu 20.04 LTS machine under WSL2 on Windows 10 version 20H2.  
CCP4 7.1 including coot-0.9.5 works in a Ubuntu 20.04 LTS machine under WSL2 on Windows 10 version 20H2, and newer.  


[https://docs.microsoft.com/windows/wsl/install-win10 After installation of WSL2], I installed [https://mobaxterm.mobatek.net/ MobaXterm] as the Xserver. When the Windows firewall asked whether it should allow MobaXterm communication, I answered "yes" for both private and public networks.
[https://docs.microsoft.com/windows/wsl/install-win10 After installation of WSL2], I installed [https://mobaxterm.mobatek.net/ MobaXterm] as the Xserver. When the Windows firewall asked whether it should allow MobaXterm communication, I answered "yes" for both private and public networks.
Line 187: Line 206:


Performance of coot is good enough for occasional work. XDSGUI and multi-threaded XDS work as expected. For reading .h5 files, the NEGGIA plugin works correctly, but the DURIN plugin currently crashes (a [https://github.com/DiamondLightSource/durin/issues/22 bug] has been reported).
Performance of coot is good enough for occasional work. XDSGUI and multi-threaded XDS work as expected. For reading .h5 files, the NEGGIA plugin works correctly, but the DURIN plugin currently crashes (a [https://github.com/DiamondLightSource/durin/issues/22 bug] has been reported).
Update September 2021: With the current version of Windows 10 and WSL, the Qt5 binary of XDSGUI does not seem to allow editing in the XDS.INP tab. If this happens, either use an external editor or use xdsgui.qt4. In the latter case, you may have to install Qt4 libraries.


== See also ==
== See also ==


[[Cluster Installation]]
[[Cluster Installation]]
2,651

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.

Navigation menu