- Github Repo: https://github.com/willsheffler/rpxdock.git
- Paper: https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1010680
1. RPXDockとは
RPXDockは、任意のタンパク質構造について、ユーザーの指定した条件でドッキングを行うソフトウェアです。対称性や相互作用面の面積、ドッキング時の制約条件などを細かく指定することができ、ドッキング結果を任意の条件でフィルタリングすることもできます。タンパク質複合体をデザインする場合に、要素となるタンパク質ユニットを空間内にどのように配置し、お互いにどのように相互作用させれば目的となる複合体構造を実現できるかを検討する際に便利です。非常に高速でCPUでも問題なく動作します。
2. 動作環境
-
RPXDockは内部でPyRosettaを使用するため、ワシントン大学のサイトからPyRosettaのライセンスを取得しておく必要があります。アカデミックライセンスは無料です。
-
Ubuntu 22.04.3 LTSで動作確認済み。macOS Ventura (Version 13.5.1)でも検証しましたが、buildの段階のエラーが解決できず、macOSでの動作は未確認です。
3. conda環境構築
PyRosettaをconda環境にインストールするため、.condarc
を編集しRosettaCommonsのchannelを使えるようにしておく必要があります。まずconda config --show-sources
で.condarcの場所を確認します。
$ conda config --show-sources
==> /home/user/.condarc <==
channels:
- conda-forge
- defaults
次に.condarc
を開き、RosettaCommonsのchannelを追加します。この際USERNAMEとPASSWORDはPyRosettaのライセンスに記載のものに変更しておきます。編集後の.condarc
の例は以下の通りです。
channels:
- https://USERNAME:PASSWORD@conda.graylab.jhu.edu
- defaults
GitHubのリポジトリを任意のディレクトリにcloneします。
git clone https://github.com/willsheffler/rpxdock
cloneしたリポジトリに移動し、environment.yml
を開きます。4行目のusernameとpasswordの部分を、自分のPyRosettaのライセンスに記載のものに変更。
# 変更する行
4 - https://username:password@conda.graylab.jhu.edu
willutil
をpipでインストールする必要があるため、41行目でコメントアウトされている- git+https://github.com/willsheffler/willutil.git
を有効にします。
# 変更する行
41 # - git+https://github.com/willsheffler/willutil.git
conda環境を作成。(20~30分程度かかると思います)
conda env create -f environment.yml
4. RPXDockのbuild
conda環境をactivateし、cloneしたリポジトリ内でpytest
コマンドを実行することでbuildを行います。
$ conda activate rpxdock39
$ pytest
(なおこの際、以下のようなエラーが出たのですが、動作には問題ありませんでした。将来的に問題が発生した場合記事を更新しようと思います)
======================================================== short test summary info =========================================================
FAILED rpxdock/tests/rotamer/test_richardson.py::test_richardson_space - assert (153, 21) == (153, 19)
FAILED rpxdock/tests/search/test_cyclic.py::test_make_cyclic_grid - RuntimeError: bad strides, strides not supported
FAILED rpxdock/tests/search/test_multicomp.py::test_discrete_2comp - RuntimeError: bad strides, strides not supported
Results (218.68s (0:03:38)):
255 passed
3 failed
- rpxdock/tests/rotamer/test_richardson.py:5 test_richardson_space
- rpxdock/tests/search/test_cyclic.py:29 test_make_cyclic_grid
- rpxdock/tests/search/test_multicomp.py:241 test_discrete_2comp
9 skipped
5. 必要な追加パッケージのダウンロードと動作確認
Institute for Protein Designのリポジトリから、RPXDockの動作に必要なhscoreファイル (ドッキングを評価する際に使用する、構造モチーフや二次構造ごとのスコアを定義したファイル)をダウンロードします。ダウンロードしたファイルを解凍し、/net/software/rpxdock/hscores
を任意のディレクトリ (cloneしたRPXDockのリポジトリ内が分かりやすい)に移動します。
次にRPXDockのリポジトリ内にある/PATH/TO/RPXDock_repository/rpxdock/app/dock.py
を開き、3行目のimport sys
の下に以下の行を追加し保存することでパスを通しておきます。
4 sys.path.append("/PATH/TO/RPXDock_repository")
RPXDockの動作確認を行います。conda activate rpxdock39
でconda環境をactivateし、以下のコマンドを実行します。(使用するPDBファイルは任意のもので構いません。以下では例としてC2対称性を指定しています)
/PATH/TO/RPXDock_repository/rpxdock/app/dock.py \
--architecture C2 \
--inputs1 "/PATH/TO/Input_pdbfile" \
--hscore_data_dir /PATH/TO/hscores \
> run.log
Resultファイルが生成されれば成功です。