XDSGUI: Difference between revisions

Jump to navigation Jump to search
387 bytes removed ,  22 October 2020
(→‎tools: explain a bit more the spot2pdb result)
(→‎News: Qt5)
(13 intermediate revisions by the same user not shown)
Line 91: Line 91:
* The second item ("Saving and comparing good results") offers commands to save/restore the current data processing files to/from a "save" directory. Make sure to replace "xdiff" with "xxdiff" or "tkdiff", if one of the latter is available. If [http://www.globalphasing.com/autoproc autoPROC] is installed, I suggest to use the "User defined command 2" for <code>mkdir staraniso; cd staraniso; aP_scale -hkl ../XDS_ASCII.HKL; echo anisotropy-corrected files are in staraniso subdirectory</code>.
* The second item ("Saving and comparing good results") offers commands to save/restore the current data processing files to/from a "save" directory. Make sure to replace "xdiff" with "xxdiff" or "tkdiff", if one of the latter is available. If [http://www.globalphasing.com/autoproc autoPROC] is installed, I suggest to use the "User defined command 2" for <code>mkdir staraniso; cd staraniso; aP_scale -hkl ../XDS_ASCII.HKL; echo anisotropy-corrected files are in staraniso subdirectory</code>.


* The third item ("Optimizing data quality") offers commands that manipulate [[XDS.INP]] in several ways. Please note: the popup "XDS.INP has been changed externally" is emitted by the Qt system and cannot be switched off. It appears if one of the scripts changes XDS.INP while it is opened by XDSGUI (which is always the case) . Thus, one should simply press the "Reload" button. XDSGUI sometimes hangs (and must be killed with Ctrl-C) when running <pre>grep _E INTEGRATE.LP | tail -2 >x; sed -e 's/ BEAM_DIVERGENCE=/! BEAM_DIVERGENCE=/' -e 's/ REFLECTING_RANGE=/! REFLECTING_RANGE=/' XDS.INP >>x; mv x XDS.INP</pre> I suggest to replace the final part of the latter command <pre>mv x XDS.INP</pre> with <pre>cat x > XDS.INP; rm x</pre> because this workaround would conserve the inode. I would be glad to receive feedback if this helps - then the bug could be fixed in the code! The user-definable command may be used e.g. for <pre>echo RELRAD=7 ! default is 5 >x; grep -v BEAM_DIVERGENCE XDS.INP >>x; cat x > XDS.INP; rm x</pre> This provides more pixels to the background estimation (for another INTEGRATE), and is useful for weakly exposed data sets which have mostly pixels with zero counts.
* The third item ("Optimizing data quality") offers commands that manipulate [[XDS.INP]] in several ways. Please note: the popup "XDS.INP has been changed externally" is emitted by the Qt system and cannot be switched off. It appears if one of the scripts changes XDS.INP while it is opened by XDSGUI (which is always the case) . Thus, one should simply press the "Reload" button. XDSGUI sometimes hangs (and must be killed with Ctrl-C) when running <pre>grep _E INTEGRATE.LP | tail -2 >x; sed -e 's/ BEAM_DIVERGENCE=/! BEAM_DIVERGENCE=/' -e 's/ REFLECTING_RANGE=/! REFLECTING_RANGE=/' XDS.INP >>x; mv x XDS.INP</pre> I suggest to replace the final part of the latter command <pre>mv x XDS.INP</pre> with <pre>cat x > XDS.INP; rm x</pre> because this workaround conserves the inode. This bug will be fixed in the code. The user-definable command may be used e.g. for <pre>echo RELRAD=7 ! default is 5 >x; grep -v BEAM_DIVERGENCE XDS.INP >>x; cat x > XDS.INP; rm x</pre> This provides more pixels to the background estimation (for another INTEGRATE), and is useful for weakly exposed data sets which have mostly pixels with zero counts.


* The last item ("Further analyses") may be used for commands, e.g. running [[pointless]] against the XDS_ASCII.HKL file. The user-definable commandline may be used e.g. for
* The last item ("Further analyses") may be used for commands, e.g. running [[pointless]] against the XDS_ASCII.HKL file. The user-definable commandline may be used e.g. for
Line 128: Line 128:
=== Dependencies ===
=== Dependencies ===


XDSGUI depends on [[generate_XDS.INP]], [[XDS-viewer]], and of course [[XDS]] (both the xds and xds_par binaries!), [[XDSCONV]], and [[2cbf]]. The ''statistics'' tab requires [[XDSSTAT]] and [[XDSCC12]]. [[Eiger]] data processing requires <code>h5dump</code>, and either the <code>H5ToXds</code> binary or the <code>dectris-neggia</code> library (download from Dectris!). The latter should be put into a directory (e.g. /usr/local/lib64), and the full path to it (e.g. /usr/local/lib64/dectris-neggia.so) should be entered into the "generic frame library" entry, in Menu->Settings.  
XDSGUI depends on [[generate_XDS.INP]], [[XDS-viewer]], and of course [[XDS]] (both the xds and xds_par binaries!), [[XDSCONV]], and [[2cbf]]. The ''statistics'' tab requires [[XDSSTAT]] and [[XDSCC12]]. As discussed in [[Generate_XDS.INP#Dependencies]], [[Eiger]] data processing requires the <code>h5dump</code> binary, and either the <code>H5ToXds</code> binary or the <code>dectris-neggia</code> library (available from Dectris) or the <code>durin-plugin</code> library (download from Diamond Light Source, DLS). The library should be put into a directory (e.g. /usr/local/lib64), and the full path to it (e.g. /usr/local/lib64/dectris-neggia.so) should be entered into the "generic frame library" entry, in Menu->Settings.  


One of the items in the <code>tools</code> tab calls a graphical file comparison program; if the default (xdiff) is not available, [http://furius.ca/xxdiff xxdiff] or [http://sourceforge.net/projects/tkdiff tkdiff] or [http://kdiff3.sourceforge.net/ kdiff3] or [http://meldmerge.org/ meld] may be used - please adjust the command line below the button accordingly. See also [[Installation]].
One of the items in the <code>tools</code> tab calls a graphical file comparison program; if the default (xdiff) is not available, [http://furius.ca/xxdiff xxdiff] or [http://sourceforge.net/projects/tkdiff tkdiff] or [http://kdiff3.sourceforge.net/ kdiff3] or [http://meldmerge.org/ meld] may be used - please adjust the command line (below the button) accordingly.  
 
The XDSCONV functionality requires a working CCP4 installation for conversion to MTZ files. Likewise, XDSSTAT (in the statistics tab) needs CCP4.


Technically, the word "dependency" means that these scripts/programs should be in your $PATH - an 'alias' is often not good enough because the ''TOOLS'' commands use <code>bash</code> as a shell, and that shell does not inherit the aliases from e.g. (t)csh.
Technically, the word "dependency" means that these scripts/programs should be in your $PATH - an 'alias' is often not good enough because the ''TOOLS'' commands use <code>bash</code> as a shell, and that shell does not inherit the aliases from e.g. (t)csh.
If you use the <code>get_folder.sh</code> script as explained in [[Installation]], most of these dependencies are checked, and binaries are downloaded.


=== Installation ===
=== Installation ===


The current version of the program can be downloaded, by academic users, for Linux [https://{{SERVERNAME}}/pub/xdsgui.rhel6.64 64bit] (compiled on RHEL6) or [https://{{SERVERNAME}}/pub/xdsgui.dmg Mac] (works on OSX 10.6 and up).  
The current version of the program can be downloaded, by academic users, for Linux [https://{{SERVERNAME}}/pub/xdsgui.rhel6.64 64bit] (compiled on RHEL6) or [https://{{SERVERNAME}}/pub/xdsgui.dmg Mac] (works on OSX 10.6 and up). Experimental Qt5 versions are available for [https://{{SERVERNAME}}/pub/linux_bin/xdsgui_qt5 the latest Linux distributions] and [https://{{SERVERNAME}}/pub/mac_bin/xdsgui_qt5.dmg latest MacOS]; these will soon become the default.
Industrial users: pls contact me directly.
Industrial users: pls contact me directly.


Line 147: Line 151:


==== Libraries and software that the program depends on ====
==== Libraries and software that the program depends on ====
RedHat Enterprise Linux 8 (CentOS 8) does not seem to provide by default the needed Qt libraries. They can be installed using
In case of '''Fedora''' or Redhat Enterprise Linux ('''RHEL'''; same as CentOS) distributions, you may have to
dnf install https://extras.getpagespeed.com/redhat/8/noarch/RPMS/getpagespeed-extras-release-8-6.el8.gps.noarch.rpm
dnf install qt-x11 mesa-libGLU
and answering "y" to all questions (attention - this installs a non-default repository). Alternatively, the Fedora 29 packages can be installed:
wget https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/29/Everything/x86_64/os/Packages/q/qt-4.8.7-41.fc29.x86_64.rpm
wget https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/29/Everything/x86_64/os/Packages/q/qt-common-4.8.7-41.fc29.noarch.rpm
wget https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/29/Everything/x86_64/os/Packages/q/qt-x11-4.8.7-41.fc29.x86_64.rpm
dnf install qt-4.8.7-41.fc29.x86_64.rpm qt-common-4.8.7-41.fc29.noarch.rpm qt-x11-4.8.7-41.fc29.x86_64.rpm
In addition, the qt-settings RPM may have to be installed. It is available from EPEL, or also from Fedora 29.
 
In case of other '''Fedora''' or Redhat Enterprise Linux ('''RHEL'''; same as CentOS) distributions, you may have to
  yum install qt qt-x11
  yum install qt qt-x11
if you get the error message
if you get the error message
  xdsgui: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
  xdsgui: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
or similar for libQtCore.so.4.
or similar for libQtCore.so.4 or libQtOpenGL.so.4 .
If in case of RHEL or related distributions you don't know the name of the package, e.g.
 
  yum provides "*/libQtCore.so.4"
RedHat Enterprise Linux 8 (CentOS 8) does not provide the needed libraries for the Qt4-based xdsgui binary (which is still the default). For such new distributions, you should install the new Qt5 xdsgui binary linked above.
would tell you about it.


'''Ubuntu''' needs the libglu1-mesa package if you get the error message
'''Ubuntu''' needs the libglu1-mesa package if you get the error message
  xdsgui: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory
  xdsgui: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory
If in the case of Ubuntu you don't know the name of the package that provides a certain library, the
  sudo apt-file search libGLU.so.1
command would find it for you. This needs a one-time installation by
  sudo apt install apt-file
  sudo apt-file update
 


On the '''Mac''' (e.g. Yosemite) one needs [https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 Xcode] installed. Otherwise one may obtain a popup error “You can’t open the application because it is not supported on this type of Mac.” After installation of Xcode, run the <code>strings</code> command (once) and accept the license agreement!
On the '''Mac''' (e.g. Yosemite) one needs [https://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 Xcode] installed. Otherwise one may obtain a popup error “You can’t open the application because it is not supported on this type of Mac.” After installation of Xcode, run the <code>strings</code> command (once) and accept the license agreement!
Line 227: Line 214:


update April 17, 2019: Arcimboldo programs are available through the ARCIMBOLDO tab.
update April 17, 2019: Arcimboldo programs are available through the ARCIMBOLDO tab.
update October 22, 2020: Qt4 (xdsgui) and experimental Qt5 (xdsgui_qt5) versions with improved TOOLS, and bugfixes.


== See also ==
== See also ==
Video [https://www.youtube.com/watch?v=yN2gk_PtWeY Running XDS (and xdsgui) on Windows 10 build 14361] by Gustavo Machado Alvares de Lima


[[Installation]]
[[Installation]]
2,652

edits

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

Navigation menu