本家様 https://github.com/FumiakiMakino/Gwatch/blob/master/Readme_jp.md
「Gwatch: a pipeline program for quick evaluation of sample quality in CryoEM」
「このソフトは、単粒子像解析のためのデータ収集を行うクライオ電顕ユーザ用に開発したpythonプログラムです。」
とのこと。コンセプトが素晴らしい。

インストール手順は上記URLに記載されているけどCentOS7でインストールしてみた

下準備

「MotionCor2」、「Gautomatch」、「Gctf」の名称で実行パスが通っている必要がある(コマンドの大文字小文字に注意)。
*「motioncor2」など全て小文字とかは却下
簡単に確認します

[saber@c ~]$ which MotionCor2
/Appl/local/bin/MotionCor2
 
[saber@c ~]$ which Gautomatch
/Appl/Gautomatch/cr/Gautomatch
 
[saber@c ~]$ which Gctf
/Appl/Gctf/bin/Gctf

とパス的には大丈夫みたい。

python3

「pythonプログラムです。」
なのでpythonが必要。CentOS7の規定は python-2.7。これでは駄目なようで python-3.6が必要みたい。
別途コンパイルしてインストールでは既存環境への影響が大きいので、素直にyumリポジトリを追加してpython3を有効にします。

python3を提供するリポジトリは複数ある。

まず、CentOS/devtoolsetにあるように centos-sclo-rh リポジトリから rh-python36.x86_64 を
インストールして使う方法がある。この場合 python3 を使う前に scl で環境切り替えを行うか、.bashrc に scl を
組み込む必要がある。

他には リポジトリepel が提供している python36 と開発元が提示しているhttps://ius.io/ てに提供の python36u がある。
どちらも「/usr/bin/python3.6」のファイルを作る。恐らく 前述の scl のような環境切り替えが必要なくpython3.6を使えると
思える。そしてどっちでも問題ないと思うが、開発側が提示している
後者のリポジトリ ius にて python36 をインストールしてみた。

[root@c ~]# yum install  https://centos7.iuscommunity.org/ius-release.rpm

これでリポジトリ ius が登録(/etc/yum.repos.d/ius.repo)された。

[root@c ~]# yum list |grep ius

にてリポジトリ ius が提供しているパッケージが確認できるが、python36 以外にも ruby, phpらもあるみたい。
ここでは python36u をインストール

[root@c ~]# yum install python36u python36u-libs python36u-devel python36u-pip
(リンク作成)
[root@c ~]# ln -s /usr/bin/python3.6 /usr/bin/python3
[root@c ~]# ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 18  8月 23 20:44 /usr/bin/python3 -> /usr/bin/python3.6
 
[root@c ~]#

その後、追加で Gwatch に必要なpython3.6の関連モジュールをインストールします

[root@c ~]# python3.6 -m pip install pyqt5
[root@c ~]# python3.6 -m pip install watchdog
[root@c ~]# python3.6 -m pip install numpy

確認

[root@c ~]# pip3.6 list
 :
argh (0.26.2)
numpy (1.15.1)
pathtools (0.1.2)
pip (9.0.1)
PyQt5 (5.11.2)
PyQt5-sip (4.19.12)
PyYAML (3.13)
setuptools (39.0.1)
watchdog (0.8.3)
 :
[root@c ~]#

途中「pipのバージョンが古いぞ、新しくしたら?」と言われるが無視。
これら追加パッケージは「/usr/lib64/python3.6/site-packages」らに収められる。

インストール

gitから取得して、その展開場所がインストール先となる。
amberToolとかに似ているかな

[root@c ~]# cd /Appl/
[root@c Appl]# git clone git://github.com/FumiakiMakino/Gwatch.git

起動

各自のPATH環境変数に「/Appl/Gwatch/Gwatch_project_v323」を追加して Gwatch_v32.py と実行する

[saber@c ~]$ export PATH=/Appl/Gwatch/Gwatch_project_v323:$PATH
[saber@c ~]$ mkdir Gwatch && cd $_
[saber@c Gwatch]$ Gwatch_v32.py

GUIアプリで下記の画面が表示される
2018y08m23d_210314771.png

memo

「Gwatch.py」を起動したマシンにGPUがあればOK.
もしクラスターとかでログインノードにGPUがなく、計算ノードにGPUがあるのならインターラクティブモード(「-I」)とかで
GPUノードにログインする必要がある。

[saber@c ~]$ qsub -q bio -I -X

この際、「-X」をつけてXが飛ぶようにする必要がある。

Ansibleで全ての計算機に「python36u」をインストールして、追加モジュールを入れるには。
下記を「python36.yml」として
*pukiwiki表記の制限から「}}」を「} }」としています

- hosts: em
  tasks:
  - name: install ius repository
    yum: name=https://centos7.iuscommunity.org/ius-release.rpm  state=present
 
  - name: install python-3.6
    yum: name={{ item } } state=latest
    with_items:
     - python36u
     - python36u-libs
     - python36u-devel
     - python36u-pip
 
  - name: install python-3.6 module
    shell: python3.6 -m pip install {{ item } }
    with_items:
     - pyqt5
     - watchdog
     - numpy
 
  - name: symbolic link python3.6 to python3
    file: src=/usr/bin/python3.6 dest=/usr/bin/python3 state=link

下記コマンドを実行する。(「/etc/ansible/hosts」に対象ホストを登録してから)

[saber@c ansible]$ ansible-playbook python36.yml --user root --ask-pass

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2018-08-23 (木) 23:59:11 (424d)