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?

タンパク質モデリングソフトRosetta/PyRosettaのインストール方法など備忘録(Ubuntu)

Posted at

Rosettaはタンパク質モデリング等を行うソフトウェアパッケージですが、インストール段階で躓くこともしばしば。
コケた所をどうやって解決したか毎度忘れてググる、の繰り返しだったので、備忘録として残しておきます。
2023年8月31日時点での情報なので、今後変わってくる箇所もあるかもしれません。

環境

Ubuntu 22.04 LTS
Rosetta 3.13

Rosettaのライセンスの取得とダウンロード

まずは公式サイトからライセンスを取得し、必要ファイルをダウンロード
https://www.rosettacommons.org/software/license-and-download

Numbered ReleaseとWeekly Releaseの二択がありますが、今回はNumbered Releaseの3.13をダウンロードします。
Rosetta 3.13 sourceをダウンロード(5.5G、解凍すると13.1G)

PyRosettaのダウンロード

ついでにPyRosettaもダウンロードしておきましょう。
Rosettaと同様にライセンスを取得、License and Downloadのページからダウンロードします。
Latest PyRosetta Versions, Python and Python-wheel Packages:
[US East coast mirror] [US West coast mirror]
からダウンロード、EastでもWestでもどちらでもよいです。
Ubuntu 22.04.2でのpythonのバージョンを確認するとpython3.10.6だったので、
/PyRosetta4.Release.python310.ubuntu/PyRosetta4.Release.python310.ubuntu.release-355.tar.bz2
をダウンロード(1.4G)

ダウンロードしてきたものを解凍

ダウンロードしてきたRosettaを解凍すると、rosetta_src_2021.16.61629_bundleが生成されるので、
名前を適当に変更(今回はroseta3.13とする)に変更してHome直下に置く。
(/home/rosetta3.13となっている)

PyRosettaも併せて解凍すると、
PyRosetta4.Release.python310.ubuntu.release-350が生成されます。
名前が長いので変更&任意の場所に置く。
今回は/home/rosetta3.13/PyRosetta4という感じでrosetta内に置きました。

コンパイルの準備

sconsを使ってコンパイルするため、Sconsを入れる。

sudo apt-get install -y scons

Ubuntu22.04ではpythonコマンドがpython3となっているので、それに関するエラーを解消する。
python3から/usr/bin/pythonへのシンボリックリンクを貼るか、
rosettaのファイルを書き換える。
scons.py --> 1行目pythonをpython3
update_options.sh --> 8行目pythonをpython3
update_ResidueType_enum_files.sh --> 8行目pythonをpython3
にそれぞれ書き換えると、走るようになります。

ターミナル上でrosetta3.13/main/sourceに移動して、scons.pyを実行。

./scons.py -j <number_of_cores_to_use> mode=release bin

は使用するコアの数に置き換えるため、nprocなどでコア数確認し、例えば4コア使用なら

./scons.py -j 4 mode=release bin

など。
詳しくは公式サイトを参照。
https://new.rosettacommons.org/demos/latest/tutorials/install_build/install_build

g++、gccがないと言われたら、

sudo apt install build-essential

を実行。

コンパイラ次第で、
scons: building terminated because of errors.
というエラーが出る。
これはRosetta 3.13 がリリースされたときに存在していたものよりも新しいコンパイラを使用しているためとのこと。(古いコンパイラで動作していたものが動作しなくなった)
https://rosettacommons.org/node/11709
最近のweekly releasesでは修正されているようなのでこのエラーが出ることはないが、今回は3.13を使用しているため、

#include <cstdint>


src/protocols/features/FeatureReporter.fwd.hh
の先頭へ追加することで、コンパイルが進むようになる。

コンパイル中

g++: warning: switch '-ffor-scope' is no longer supported
とか出てきますが、さしあたっては問題なし。

以下のようなzlibがないというエラーが出たので、
/usr/bin/ld: cannot find -lz: No such file or directory
インストールします。

sudo apt-get install zlib1g-dev

rosetta完了

終了したら
scons: done building targets.
というメッセージが出てきます。
これでrosettaはOKです。

PATHを通しておいた方が良いかも。
rosetta/main/source/bin
にPATHを通しておくと、のちのち便利かと思います。

PyRosetta

続いてPyRosettaをインストールする。
rosetta3.13/PyRosetta4/setup
に移動。

sudo python3 setup.py install

と入力してインストールができる。

setuptoolsに関するエラーが出たら、
pip3 install setuptools

pip3が入っていない場合は、
sudo apt update
sudo apt install python3-pip
pip3 -V

PyRosetta完了の合図

以下のようなメッセージと共に完了します。
Finished processing dependencies for pyrosetta==2023.24+release.9fbc647ae70

pytonにて
import pyrosetta; pyrosetta.init()
と打ってエラーが出なければ成功してます。

0
0
0

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?