本家様 https://www.phenix-online.org/
リリース状況 https://phenix-online.org/download/nightly_builds.cgi
最近だとcryoem系も対応されているみたい.
ここではphenixをCentOS8にインストールしてみた.
アプリケーションを入手するためにはユーザ登録が必要で、http://www.phenix-online.org/phenix_request/index.cgiからその登録を行う
登録が完了すると登録したメールアドレスにログインユーザ名とパスワードが送られる。
それを使って、ダウンロードページhttps://www.phenix-online.org/download/の
Downloadリンクボタンを押下して認証を進めます。
ダウンロード可能なファイルはLinux, macOS, windows毎に用意されている。
ここでは「phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6.tar.gz」を取得した
取得したファイルをまずは展開します
[root@centos8 ~]# cd /apps/src/
[root@centos8 src]# tar xzf phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6.tar.gz
[root@centos8 src]# cd phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6/
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]#
っで、普通ならinstallコマンドを実行すればそれで終わりなのだが、、、
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]# ./install --prefix=/apps
./install: line 15: /usr/bin/python: No such file or directory
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]#
と無碍なく終わる.
インストールスクリプトの中身を確認すると
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]# cat install
#!/bin/bash
if [ -z "$PYTHON_EXE" ]; then
PYTHON_EXE='/usr/bin/python'
if [ -f "/usr/bin/python2.7" ]; then
PYTHON_EXE='/usr/bin/python2.7'
elif [ -f "/usr/bin/python2.6" ]; then
PYTHON_EXE='/usr/bin/python2.6'
elif [ -f "/usr/bin/python2" ]; then
PYTHON_EXE='/usr/bin/python2'
elif [ -f "./conda_base/bin/python" ]; then
PYTHON_EXE='./conda_base/bin/python'
fi
fi
unset CONDA_PREFIX
$PYTHON_EXE ./bin/install.py $@
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]#
とある. 現状まだpython3には対応されていないご様子.
CentOS8のpython2.7環境は標準では用意されていないので、まずはそこから準備します
[root@centos8 ~]# dnf install python2
その上でインストールを試みると
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]# ./install --prefix=/apps
==========================================================================
Phenix Installation
version: 1.18.2-3874
machine type: intel-linux-2.6-x86_64
OS version: 4.18.0-193.6.3.el8_2.x86_64
destination: /apps/phenix-1.18.2-3874
# of processors: 4
=========================================================================
/usr/bin/env: ‘python’: No such file or directory
Traceback (most recent call last):
File "./bin/install.py", line 244, in <module>
installer(sys.argv[1:]).install()
File "/apps/src/phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6/lib/libtbx/auto_build/install_distribution.py", line 200, in install
self.install_from_binary()
File "/apps/src/phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6/lib/libtbx/auto_build/install_distribution.py", line 335, in install_from_binary
subprocess.check_call([unpack_cmd])
File "/usr/lib64/python2.7/subprocess.py", line 190, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['./bin/conda-unpack']' returned non-zero exit status 127
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]#
と言われてしまう...
「/usr/bin/env: ‘python’: No such file or directory」
なので、python は python2 を示すように調整する。使うのは「alternatives」コマンド
[root@centos8 ~]# alternatives --config python
There are 3 programs which provide 'python'.
Selection Command
-----------------------------------------------
*+ 1 /usr/libexec/no-python
2 /usr/bin/python3
3 /usr/bin/python2
Enter to keep the current selection[+], or type selection number: 3 <--[3]と入力
[root@centos8 ~]#
[root@centos8 ~]# python -V
Python 2.7.17
[root@centos8 ~]#
このように「python」と打てば python2 が対応するようになる.
再びインストールを試みる
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]# rm -rf /apps/phenix-1.18.2-3874/ <-- 一度削除する
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]# ./install --prefix=/apps
:
:
==========================================================================
PHENIX installation complete
----------------------------
You can begin using PHENIX now by setting your environment with the
'source' command:
csh users:
source /apps/phenix-1.18.2-3874/phenix_env.csh
bash users:
source /apps/phenix-1.18.2-3874/phenix_env.sh
To use PHENIX, go to a work directory and type:
phenix
You may wish to put the source statement in your .cshrc or .bashrc
file.
**************************
* Installation complete! *
**************************
[root@centos8 phenix-installer-1.18.2-3874-intel-linux-2.6-x86_64-centos6]#
っでうまく行ったみたい.
とある理由でsingularityの中で作ることになった
っで製作
illya@ubuntu:~$ singularity build --sandbox ubuntu20.04 docker://ubuntu:20.04
illya@ubuntu:~$
illya@ubuntu:~$ singularity shell --writable --fakeroot --bind /Public/:/mnt/ ./ubuntu20.04/
Singularity> id
uid=0(root) gid=0(root) groups=0(root)
Singularity>
Singularity> pwd
/root
Singularity> apt update
Singularity> apt install xserver-xorg
Singularity> apt install locales
Singularity> apt install vim
Singularity> mkdir /apps
Singularity> cp /mnt/phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6.tar.gz .
Singularity> tar xf phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6.tar.gz
Singularity> cd phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6
Singularity> ./install --prefix=/apps
Singularity> vi /etc/locale.gen
(en_GBの全てとen_US.UTF-8を有効にします)
Singularity> locale-gen
Generating locales (this might take a while)...
en_GB.ISO-8859-1... done
en_GB.ISO-8859-15... done
en_GB.UTF-8... done
en_US.UTF-8... done
Generation complete.
Singularity>
Singularity> exit
exit
illya@ubuntu:~$
illya@ubuntu:~$ cat ubuntu20.04/apps/phenix-1.20.1-4487/phenix_env.sh >> ubuntu20.04/environment
illya@ubuntu:~$ singularity build --fakeroot ubuntu20.04-phenix-1.20.1.sif ubuntu20.04/
使う
illya@ubuntu:~$ singularity exec ./ubuntu20.04-phenix-1.20.1.sif phenix
[illya@slurm ~]$ vi phenix.def
BootStrap: docker
From: rockylinux:9.2
%post
dnf install libXxf86vm langpacks-en -y
cd /usr/local
curl -O http://c/em/phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6.tar.gz <-- 内部に建てたemリポジトリ
tar xf phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6.tar.gz
cd ./phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6/
./install --prefix=../
cd ..
rm -rf phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6
rm -rf phenix-installer-1.20.1-4487-intel-linux-2.6-x86_64-centos6.tar.gz
%environment
export PHENIX=/usr/local/phenix-1.20.1-4487
export PHENIX_VERSION=1.20.1-4487
export PATH=/usr/local/phenix-1.20.1-4487/build/bin:$PATH
[illya@slurm ~]$
[illya@slurm ~]$ singularity build --fakeroot phenix.sif phenix.def
[illya@slurm ~]$
[illya@slurm ~]$ singularity exec ./phenix.sif phenix