本家様 http://xds.mpimf-heidelberg.mpg.de/
半人前にも至らぬ愚生が知ったかぶりで書くようで非常に恐縮なのであるが、xdsについて書き連ねる。
回折データを指数付け(index)、積分(integrate)、スケーリング(scale)を行うソフト。各々何をしているのかは理解していない。
まあーそんなんだ、っのレベルである。いつかは理解したいものである....
XYCORR, INIT, COLSPOT, IDXREF, DEFPIX, XPLAN, INTEGRATE, CORRECT の8種の処理が実行可能
各処理には各種のパラメータが用意され、それを記述したファイルがxdsの実行には必須。そのファイル名は固定で XDS.INPである。xdsを実行した場所に結果が書き出される。
xdsのマニュアル
http://xds.mpimf-heidelberg.mpg.de/html_doc/xds_parameters.html
各検出器によって使われるテンプレート一覧
http://xds.mpimf-heidelberg.mpg.de/html_doc/xds_prepare.html
https://code.google.com/p/xdsme/
インストール先を /apps/xds にします。
関連アプリもすべてここに入れたいと思う。
[root@c ~]# cd /apps/src
[root@c src]# wget https://xds.mr.mpg.de/XDS-INTEL64_Linux_x86_64.tar.gz
[root@c src]# tar xzf XDS-INTEL64_Linux_x86_64.tar.gz -C /apps <-- /apps で展開
[root@c src]# mv /apps/XDS-INTEL64_Linux_x86_64 /apps/xds
[root@c src]# cd /apps/xds
[root@c xds]# ls -l
合計 24084
total 28448
-rwxr-xr-x 1 10206 3010 1175380 Jan 22 01:18 2cbf
-rwxr-xr-x 1 10206 3010 906769 Jan 22 01:18 cellparm
-rwxr-xr-x 1 10206 3010 2747 Jan 22 01:14 forkxds
-rwxr-xr-x 1 10206 3010 1311034 Jan 22 01:17 mcolspot
-rwxr-xr-x 1 10206 3010 3235941 Jan 22 01:16 mcolspot_par
-rwxr-xr-x 1 10206 3010 1187163 Jan 22 01:18 merge2cbf
-rwxr-xr-x 1 10206 3010 1881612 Jan 22 01:17 mintegrate
-rwxr-xr-x 1 10206 3010 3782592 Jan 22 01:17 mintegrate_par
-rwxr-xr-x 1 10206 3010 964696 Jan 22 01:18 pix2lab
-rwxr-xr-x 1 10206 3010 3182025 Jan 22 01:16 xds
-rwxr-xr-x 1 10206 3010 1167086 Jan 22 01:18 xdsconv
-rwxr-xr-x 1 10206 3010 5022009 Jan 22 01:15 xds_par
-rwxr-xr-x 1 10206 3010 1694335 Jan 22 01:18 xscale
-rwxr-xr-x 1 10206 3010 3591513 Jan 22 01:17 xscale_par
[root@c xds]#本家様 https://wiki.uni-konstanz.de/xds/index.php/XDS-Viewer
cmakeとQt4のライブラリが必要
GPLライセンス
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/XDS-viewer -P /apps/xds
[root@c ~]# chmod +x /apps/xds/XDS-viewerhttps://strucbio.biologie.uni-konstanz.de/xdswiki/index.php/Generate_XDS.INP
の「The script」欄をコピペでもいいが、
サイトにも記載されている下記コマンドで取ってくるのがいいのかも。
GPLライセンス
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/generate_XDS.INP -P /apps/xtal
[root@c ~]# chmod +x /apps/xtal/generate_XDS.INPアカデミックおよび非営利目的(For non-commercial use)
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/xdsstat -P /apps/xtal
[root@c ~]# chmod +x /apps/xtal/xdsstatアカデミックおよび非営利目的(For non-commercial use)
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/xdsgui -P /apps/xtal
[root@c ~]# chmod +x /apps/xtal/xdsguiGPLのソースからコンパイルなら商用利用可(rockylinux9)
https://git.code.sf.net/p/xdsgui/code
と
git://git.code.sf.net/u/joseptrivino/xdsgui
の2つがありまして、ここでは後者のリポジトリを使ってます
dnf install git gcc-c++ qt5-qtbase-devel qt5-qtsvg-devel libgomp
git clone git://git.code.sf.net/u/joseptrivino/xdsgui joseptrivino-xdsgui
cd joseptrivino-xdsgui/
git log -1 --format=%cd --date=format:'static const std::string g_version = "%Y-%m-%d";' > version.h
mkdir build
cd build
qmake-qt5 ../xdsgui.pro
make
cp ./xdsgui /apps/xtal/アカデミックおよび非営利目的(For non-commercial use)
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/xdsstat -P /apps/xtal
[root@c ~]# chmod +x /apps/xtal/xdsstatアカデミックおよび非営利目的(For non-commercial use)
[root@c ~]# wget https://wiki.uni-konstanz.de/pub/linux_bin/xdscc12 -P /apps/xtal
[root@c ~]# chmod +x /apps/xtal/xdscc12/apps/xdsの中に xdsme フォルダを作ってます。
git: https://github.com/legrandp/xdsme/
[root@c ~]# cd /apps/xds
[root@c xds]# git clone https://github.com/legrandp/xdsme/ && cd xdsme/
[root@c xdsme]# ./compile.shpython2向けなのでapptainerで用意してみる
「xdsme.def」
BootStrap: docker
From: ubuntu:18.04
%post
# システムアップデートとPython2・必要ライブラリのインストール
apt-get update && apt-get install -y \
python2.7 \
python-pip \
python-numpy \
python-scipy \
git \
wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# xdsmeのインストール(公式GitHubからオープンソース版を取得)
cd /opt
git clone https://github.com/legrandp/xdsme/
cd xdsme
# 実行権限の付与
chmod +x bin/noarch/*
%environment
# コンテナ内の環境変数設定
export PATH=/opt/xdsme/bin/noarch:$PATH
export LC_ALL=C
%runscript
# コンテナ実行時のデフォルト挙動(引数をそのままxdsmeに渡す)
exec xdsme "$@"apptainer build xdsme.sif xdsme.def
cp xdsme.sif /apps/xtal/apptainer exec /apps/xtal/xdsme.sif xdsme
apptainer exec /apps/xtal/xdsme.sif dnz2xds.py -h
:[root@c ~]# cd /apps/src/
[root@c src]# yum install Cython
[root@c src]# yum install h5py
[root@c src]# git clone https://github.com/kiyo-masui/bitshuffle.git
[root@c src]# cd bitshuffle/bitshuffle/
[root@c bitshuffle]# cython ext.pyx
[root@c bitshuffle]# cython h5.pyx
[root@c bitshuffle]# cd ..
[root@c bitshuffle]# python setup.py install --h5plugin --h5plugin-dir=/apps/xds/lib/
[root@c bitshuffle]# ls -l /apps/xds/lib/
total 776
-rwxr-xr-x 1 root root 755176 Feb 6 22:57 libh5bshuf.so
-rwxr-xr-x 1 root root 35696 Feb 6 22:57 libh5LZF.so
[root@c bitshuffle]#参照先https://github.com/keitaroyam/yamtbx/blob/master/doc/eiger-ja.md
まずはHDF5のアプリをインストール
[root@c ~]# yum install hdf5次にhdf5形式のファイルをxdsでも取り扱えるようにするDectris社様提供のH5ToXdsがある。
だが、参照先に記載のあるようにこれは使わず、代わりに互換アプリeiger2cbfを使う
取得先: https://www.mrc-lmb.cam.ac.uk/harry/imosflm/ver721/downloads.html
[root@c src]# unzip -l eiger2cbf-linux.zip
Archive: eiger2cbf-linux.zip
Length Date Time Name
--------- ---------- ----- ----
3742075 05-17-2016 17:05 eiger2cbf
481 05-17-2016 17:04 Makefile
500 03-09-2016 20:51 Makefile.osx
4662 05-17-2016 17:43 README
--------- -------
3747718 4 files
[root@c src]#
[root@c src]# unzip eiger2cbf-linux.zip -d /tmp
Archive: eiger2cbf-linux.zip
inflating: /tmp/eiger2cbf
inflating: /tmp/Makefile
inflating: /tmp/Makefile.osx
inflating: /tmp/README
[root@c src]# cp /tmp/eiger2cbf /apps/xds/H5ToXdsのラッパーを作る。中身はこんな感じで
[root@c ~]# cat /apps/xds/H5ToXds
#!/bin/sh
/apps/xds/eiger2cbf $@ 2>/dev/null
[root@c ~]#
[root@c ~]# chmod +x /apps/xds/H5ToXdsXDS plugin. xdsがH5ToXdsを経由せずhdf5にアクセスできるようになる.
Dectris社様で提供しているバイナリを使用するか、自らコンパイルしてバイナリを作る。
ここではバイナリを作ってみます。このソースの提供はDectris社様自身のようです
[root@c ~]# yum install cmake3
[root@c ~]# cd /apps/src/
[root@c src]# git clone https://github.com/dectris/neggia
[root@c src]# cd neggia/
[root@c neggia]# mkdir build && cd $_
[root@c build]# cmake3 .. && make
[root@c build]# cp src/dectris/neggia/plugin/dectris-neggia.so /apps/xds/
[root@c build]# (cd /usr/local/lib64; ln -s /apps/xds/dectris-neggia.so . )XDS.INPファイルの「LIB」と「DETECTOR」パラメータを下記のようにする
DETECTOR=EIGER
LIB=/usr/local/lib64/dectris-neggia.so # gitでコンパイルなら「dectris-neggia.so」とするEnvironmentModulesに組み込むには
[root@c ~]# vi /apps/modulefiles/xds
#%Module1.0
prepend-path PATH /apps/xds:/apps/xds/xdsme/bin/noarch
setenv HDF5_PLUGIN_PATH /apps/xds/lib/https://www.scripps.edu/tainer/arvai/adxv.html
オープンソースではなく学術・非営利目的のみ無料のプロプライエタリソフトウェア
[root@c ~]# cd /apps/xds
[root@c xds]# wget https://www.scripps.edu/tainer/arvai/adxv/adxv_1.9.15/adxv.x86_64CentOS7
[root@c xds]# chmod +x adxv.x86_64CentOS7
[root@c xds]# ln -s adxv.x86_64CentOS7 adxv