0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CURP (CURrent Calculation for Protein) のインストールで躓いた点 (OS: Ubuntu)

Last updated at Posted at 2021-10-27

はじめに

Molecular Dynamics Simulation を用いてアミノ酸配列からタンパク質の計算をし、エネルギーや熱の流れを計算できる "CURP(CURrent Calculation for Protein" というオープンソースソフトウェアがある。

CURP CURrent Calculation for Protein
http://www.comp-biophys.com/yamato-lab/curp.html

[Github] CURP CURrent Calculation for Protein
https://github.com/yamatolab/current-calculations-for-proteins

お試しで使っていみようと思い導入したが、かなりのエラーに出くわしたので備忘録にもと思い過程を記す。以下、環境はUbuntu(GNOME)を想定しています。

導入環境

筆者は以下の環境で導入した。

  • OS: Ubuntu 20.4LTS
  • パッケージ管理: dpkg (いやこれは明記せんでええんよっ)
  • Python: 2.7.18 (2022/04時点 python2系のみ対応)
  • 仮想環境: virtualenv 20.9.0

ドキュメントによれば、Python2 系で作られているようなのでPython2 系で最新の Python 2.7.18 を使った。

CURP は PyPI にもリポジトリ登録があるが、2019年から更新なし。GitHub の方にも安定版があるので、git cloneすべし。

Python2 系なので Virtualenv を用いて仮想環境を作成し、その中で GitHub の Master Branch を クローン してまずローカルに落とした。

console
git clone https://github.com/yamatolab/current-calculations-for-proteins.git

(PyPIリポジトリからの導入でも以下同じエラーが出てきて同じ方法で導入できている)

GitHubからリポジトリをクローンした場合は、まず仮想環境上で

console
pip install .

等としてパッケージをインストールできるか試す。ここで成功すれば問題なし。
以下は、自分の環境で遭遇したエラーに一致する箇所だけ参照しながら、エラーが取れるごとにCURPパッケージのインストールを試して、逐次エラーを解決していけば良い。

エラー

from numpy.distutils.core import setup ImportError: No module named numpy.distutils.core

どうやら事前に numpy が入っていないとエラーを吐く。 numpy は Version 1.17 から Python2系の対応がなくなっている。私は numpy 1.14.6 をインストールした。

(あっ、あれ仮想環境がアクティベイトされないぞぉ?仮想環境の有効化は↓)

cosole
source [your env name here]/bin/activate

error: No package 'hdf5' found

まず、PyPIからインストールできるか試す。インストールできなければ Ubuntu に必要なライブラリが入っていない可能性が高い。既に入っていても以下の実行は問題ないのでエラーが出たら内容に応じて必要なライブラリをインストールしてみる。

console
sudo apt-get install libhdf5-dev libhdf5-serial-dev netcdf-bin libnetcdf-dev
console
export HDF5_DIR=/usr/include/hdf5

コンフィグファイルに hdf5 のディレクトリがあるパスを通す。 HDF5_DIR=/usr/include/hdf5 は必ずしも同じとはならないので、エラーが出たら hdf5のディレクトリを探して正しいパスを通そう。
無事成功すれば clone したパッケージまたは PyPIからインストールを再度試す。

setup.py で netCDF4>=1.2.4 とあるが、netCDF4 Version: 1.5.4 からは Python2 系に非対応。私は 1.2.4 をインストールした。(>=1.2.4, <1.5.4 ならいいと思う)

console
pip install netCDF4==1.2.4

どうでもいいけど、ローカルに落としていたリポジトリを使って pip インストールするときに、キャッシュを使ってほしくないなら

console
pip cache purge

でOK牧場の決闘。

OK牧場の決闘
https://www.amazon.co.jp/gp/video/detail/B00EOAIO64/ref=atv_dp_share_cu_r

Graphviz cgraph.h not found

これも、Ubuntuに必要なライブラリがない為なので必要なライブラリをインストールする。

console
sudo apt -y install graphviz-dev libgraphviz-dev

これで私は パッケージの要件である pygraphviz のインストールに成功した。( pygraphviz <1.6)

No FORTRAN compiler found (or FORTRAのコンパイラーが見つかりません)

文字通りで、CURP は一部 FORTRAN で記述されているので FORTRAN のコンパイラーが必要。私は gfortran をインストールした。

console
sudo apt -y install gfortran

error: Python.h: No such file or directory

これも、ローカルに必要なライブラリがない為なので必要なライブラリをインストールする。

console
sudo apt -y install python-dev

error: mpi.h not found

これも、ローカルに必要なんがねぇんよっ!すすっとインストール

console
sudo apt -y install ibmpeg2-4-dev libopenmpi-dev

(いや、ibmpegは要らないかもしれない。)

不足していたパッケージ・ライブラリの導入完了

私は、以上のエラーを解決すれば GitHub から clone してきたパッケージのインストールに成功した。

まとめ

追加したパッケージ・ライブラリは以下

Linuxパッケージ・ライブラリ

  • pythonpy
  • libhdf5-dev
  • libnetcdf-dev
  • python-dev
  • graphviz-dev
  • gfortran
  • libmpeg2-4-dev
  • libopenmpi-dev

Pythonライブラリ

  • pip==20.3.4
  • setuptools==44.1.1
  • wheel==0.32.0
  • numpy==1.14.6
  • nose==1.3.7
  • netCDF4==1.2.4
  • pygraphviz=1.5
  • mpi4py==3.1.1
  • Benchmarker==4.0.1
  • configparser==4.0.2
  • Curp

実は GitHub リポジトリによれば Python 3系 への移植ができているとかいないとか。
近日中に CURP v1.3 on Ubuntu のコンテナイメージ作って共有しようとも思っています。 (2022/04/27)

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?