【In silico創薬】PyRosettaの環境構築方法【PyRosetta】

【In silico創薬】PyRosettaの環境構築方法【PyRosetta】

タンパク質は、生体内で多様な役割を果たしており、医薬品開発においても重要なターゲットとなっています。
例えば、疾患の原因となるタンパク質の異常な機能を改善することで、治療効果を得ることが期待されています。多くの場合、タンパク質は別のタンパク質へ相互作用し、効果を起こします。
もしタンパク質が何らかの原因で過剰にある場合、このタンパク質間相互作用を阻害することで、病気の進行を防ぐこともできます。

そのようなタンパク質相互作用を阻害(もしくは活性化させる)する薬剤を開発するために、創薬の観点からタンパク質の構造予測や設計は重要ですタンパク質の構造予測によって、薬剤設計に必要なターゲット分子の構造情報を迅速に入手することができます。
一方、タンパク質の設計は、特定のターゲット分子に結合するように設計された新しい分子を生成することができます。これにより、既存の薬剤よりも高い特異性や効率性を持つ新しい薬剤を開発することができます。

このように、タンパク質の構造予測や設計は、医薬品開発において非常に重要な役割を果たしています。
タンパク質の構造予測や設計を行うためには、高度な計算手法やソフトウェアが必要であり、PyRosettaはそのような作業を容易にするための強力かつ最先端なツールの一つです。
この記事ではPyRosettaの環境構築までを行います。PyRosettaが使って最先端の創薬に触れてみましょう!

動作検証済み環境

macOS Ventura(13.2.1), python 3.9.7, Jupyter Notebook

PyRosettaとは? 

PyRosettaは、RosettaプログラムをPython言語で使用するためのライブラリです。
Rosettaは、タンパク質構造予測、タンパク質折り畳み、タンパク質-リガンド相互作用の予測など、様々なタンパク質構造関連問題を解決するために開発されたコンピュータープログラムです。
RosettaはC++で書かれていますが、PyRosettaはPythonで書かれたインタフェースであり、より使いやすく柔軟性が高く、高度なタンパク質構造の解析や設計をより簡単に行うことができます。
PyRosettaは、タンパク質の構造を操作するための多数の関数、クラス、ツールを提供しており、機械学習やディープラーニングなどのアルゴリズムを使用して、高度なタンパク質設計や構造予測を行うことができます。

PyRosettaの実装方法

以下の手順で実装していきます。

  1. ライセンスの取得
  2. 自身の環境に沿ったversionのダウンロード
  3. インストール、動作確認

ライセンスの取得

まずはRosseta自体をリリースしているRosetta Commonsというサイトに行き、上記のSoftwareをクリックしたのち、License and DownloadのDownload PyRosettaのNeed α Licenseのstart hereからライセンスを入手します。アカデミックライセンスは無料で取得できます。以下のページのORDER NOWをクリックしてください。

CHECK OUTした後、SUBMIT REQUESTを押します。

その後以下のAcademic accessをダウンロードしてください。

ダウンロードしたファイルにUser nameとpasswardが書いてあります。
これにてライセンスの取得は終了です。

自身の環境に沿ったversionのダウンロード

ダウンロードしたファイルに記載のURLに行くと、Usernameとpasswordが求められるので、入力します。すると次のような画面が出てくるかと思います。

私のMacのpythonのversionは3.9なので、”PyRosetta4.Release.python39.m1/”を開き、最新のもの(latest.html)をダウンロードします。結構時間がかかります。
必ずReleaseと書いてあるやつにしてください。またダウンロードしたものが、tar.bz2の拡張子であることを確認してください。

これにて自身の環境に沿ったversionのダウンロードは終了です。

インストール、動作確認

それでは、実際にPyRosettaをJupiter Notebookで動かしてみましょう。
ここではPyRosettaノートブック2.1. PoseBasicsの一部をフォローしていきたいと思います。

新しいノートブックを作ります。この章の中でこれから色々ダウンロードしたりしますが、同じディレクトリ内に保存すると、後々エラーなど起こりにくいかと思います。

下の画像のPose_Basics.jpynbが今回作ったノートブックです。後に説明しますが、5tj3.pdbも同じディレクトリにあります。

そして以下のコードを動かしてみてください。

#PyRosettaのimport、初期化
from pyrosetta import *
init()

最初の行のfrom pyrosetta import *は、pyrosettaモジュールのすべてのクラス、関数、および定数をインポートするために使用されます。これにより、pyrosettaのすべての機能を利用することができます。

次の行のinit()は、PyRosettaの初期化関数で、PyRosettaを使用する前に必ず呼び出す必要があります。この関数を呼び出すことにより、PyRosettaは必要なファイルを読み込み、使用可能な状態になります。

したがって、この2つの行を使用することで、PyRosettaを使用する準備が整います。 ただし、PyRosettaを実行するには、PyRosettaライセンスが必要になる場合があります。

以下のように出力されたら、無事にPyRosettaがインストールされています。

それでは動作確認のため、簡単なプログラムを使って、適当なタンパク質の配列を出力してみましょう。

Protein DATA BANKから適当なタンパク質ののPDBファイルをダウンロードします。

ここではPyRosettaノートブックに従い、書いてある通りに5tj3.pdb(Alkaline phosphatase PafA)を例にしたいと思います。以下のPDB Formatのファイルをダウンロードて、同じディレクトリに保存してください。

念のため、現在のディレクトリにあるファイルを確認しておきましょう。

現在のディレクトリにあるファイルについては以下のコードでわかります。

%ls

%lsは、Unix/LinuxベースのオペレーティングシステムやGit Bashなどの一部のコマンドラインインターフェースで使用されるコマンドで、現在のディレクトリ内のファイルやディレクトリをリストするために使用されます。
以下のように5tj3.pdbがあれば大丈夫です。ちなみにPose_Basics.jpynbが現在の使用しているノートブックです。他のファイルは無視してください。

続いて以下のコードを実行します。

pose = pose_from_pdb("5tj3.pdb")

このコードは、PDBファイル(Protein Data Bankファイル)からタンパク質の立体構造を読み込みます。

具体的には、pose_from_pdbという関数を使用して、”5tj3.pdb”というファイル名のPDBファイルからposeオブジェクトを作成します。poseオブジェクトは、タンパク質の3D構造を表すオブジェクトであり、PyRosetta内で多くの操作に使用されます。またPoseクラスには、構造を説明するさまざまなタイプの情報が含まれています。主要なコンポーネントには、Energies、PDBInfo、Conformationが含まれます。

以下の通りになると思います。

それでは最後にこのタンパク質の配列を出力してみましょう。以下のコードを実行してください。

pose.sequence()

配列が出力されてきましたね!

これにて簡単な動作確認は終了ですが、念のため、配列を確認してみましょう!
以下の通りに実際の配列を表示させてみてください。

オレンジ色で示したところが共通してるところですが、他は少し違いますね。。。でもこれでOKだそうです。

ChatGPTに聞いてみました!

要するに、Poseオブジェクトではタンパク質をより詳細にするために追加情報を含んでいるためだそうです。それで本当に良いのかは不明ですが、今後使っていく中で、分かればまたお伝えします。

最後に

いかがでしたでしょうか? PyRosettaはin silico創薬界隈で有名なソフトです。
PyRosettaの使い方はPyRosetta.notebooksに載ってあります。またYoutubeでも解説動画があります。
じゃんじゃん使って、これを機にin silico創薬の最先端に触れてみましょう!今後PyRosettaを使った応用例を紹介するつもりです。皆さんもお家で自分のパソコンを使った”おうち創薬”を楽しんでいきましょう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です