【In silico 創薬】PyRosettaによるPyMOL上でのタンパク質可視化

【In silico 創薬】PyRosettaによるPyMOL上でのタンパク質可視化

本記事はPyRosettaについて書かれた記事です。タンパク質のデザインや可視化、ドッキングなどに使います。
こちらの記事の内容ができるようになると、PyRosettaを操作したタンパク質をPyMOLで見ることができるようになります。 ぜひ、トライしてみてください!

本記事はPyRossetaの2本目の記事です。
PyRosettaのインストール、環境構築についてはこちらの記事を参照してください。

動作検証済み環境

macOS Ventura(13.2.1), python 3.9.7, Jupyter Notebook, PyMOL 2.5.4

PyMOLとは? 

PyMOLは、分子の3D可視化を行うためのソフトウェアです。PyMOLは、タンパク質の構造を表示するためによく使用されます。PyMOLを使用すると、タンパク質の構造を回転、ズーム、移動することができます。
また、タンパク質の構造を色分けすることもできます。たとえば、重要なアミノ酸残基を目立たせたり、構造変化の解析に役立つように、構造を可視化することができます。

PyRosettaとPyMOLを組み合わせると、タンパク質のシミュレーション結果をPyMOLで可視化することができます。
具体的には、PyRosettaで計算されたタンパク質の構造情報をPyMOLに送信し、PyMOLで表示することができます。
また、PyMOLからPyRosettaに情報を送信することもできます。
たとえば、特定のアミノ酸残基の位置を変更することができます。

これらのツールを使って、タンパク質の構造の理解を深め、新しいタンパク質の設計やタンパク質-タンパク質相互作用の研究など、さまざまな研究分野に応用することができます。
初心者でもPyRosettaとPyMOLを使用することで、タンパク質の構造について理解を深めることができます。

本記事を進むにあたって、PyMOLのダウンロードをお願いします。
大阪大学の蛋白研究所からインストールの仕方が解説されています。

PyMOLとPyRosettaの同期方法

今回はPyRosetta Notebooks2.6. Visualization with the PyMOLMoverをやっていきます。
まずPyMoLとPyRosettaを同期させていきましょう。

以下の手順で同期させていきます

  1. PyMolを開いて、コマンドラインにrunと打ちます。
  2. すでにダウンロードしているPyRosetta4.Release.python39.m1.release-340の中にあるPyMOL-RosettaServer.python3をコマンドラインにドラッグ&ドロップします。(今回私のpythonはversion 3のなので、PyMOL-RosettaServer.python”3”を用いています。)
  3. Enterで実行します。

以下のようにPyMOL <--> PyRosetta link started!とPyMoLに出てきたら同期に成功です!

PyMoL上でのタンパク質の可視化

続いて、タンパク質をPyMoL上で可視化していきましょう!

まずJupyter Notebookで自分の保存したいところに新しいファイルを作成します。
ここではPyRosetta_testというディレクトリに新しいファイルを作成します。

ファイル名は新しいファイルを作った後にタイトルのところをクリックして変更できます。
ここではVisualization with the PyMoLMoverというタイトルをつけます。

新しくファイルを作るとPyRosetta_testディレクトリには作成したファイルがあります。続いて同じディレクトリに今回使うPDBファイルも入れておきます。

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

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

以上のフォルダ作成やPDBのダウンロードなどが済んだら、ディレクトリにそれらがあることを確認してください。

Jupyter Notebookで以下のコードを使って、PyRosettaを初期化します。

from pyrosetta import *
init()

続いて、5tj3.pdbの構造情報を読み込み、pose 変数にPoseオブジェクトを格納しています。
以下のコードを実行してください。

pose = pose_from_pdb("5tj3.pdb")

以下のように出力されたらOKです!

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

from pyrosetta import PyMOLMover

このコードは、PyRosetta パッケージから PyMOLMover クラスをインポートしています。

PyMOLMover クラスは、タンパク質の3D構造を可視化するために PyMOL というモデリングソフトウェアを使用するためのクラスです。PyMOLは、タンパク質構造の視覚化やマニュアルな修正が可能であり、タンパク質構造解析において広く使用されています。

PyMOLMover クラスは、PyMOL と通信し、タンパク質の構造情報を PyMOL に送信することができます。このクラスを使用することで、タンパク質の構造を可視化し、分析することができます。

続いて

pmm = PyMOLMover()

を実行します。

このコードは、PyRosetta パッケージの PyMOLMover クラスをインポートし、そのクラスから pmm という名前のオブジェクトを作成しています。

pmm オブジェクトは、PyMOLMover クラスのインスタンスであり、PyMOL と通信してタンパク質の構造情報を PyMOL に送信するために使用されます。

最後に以下のコードを実行します。

clone_pose = Pose()
clone_pose.assign(pose)
pmm.apply(clone_pose)

このコードは、PyRosetta で読み込まれたタンパク質の構造情報を、別の Pose オブジェクトにコピーし、そのコピーした Pose オブジェクトを PyMOL 上に表示するために使用されます。

まず、Pose() コンストラクタを使用して、clone_pose という新しい Pose オブジェクトを作成しています。

次に、assign() メソッドを使用して、pose オブジェクトの情報を clone_pose オブジェクトにコピーしています。これにより、clone_pose オブジェクトには、pose オブジェクトと同じ構造情報が含まれるようになります。

最後に、pmm.apply(clone_pose) を使用して、clone_pose オブジェクトを PyMOL 上に表示します。この場合、clone_pose オブジェクトがコピーされているため、オリジナルの pose オブジェクトは変更されず、PyMOL 上には clone_pose オブジェクトが表示されます。

タンパク質がPyMoL上で出現してきました!

最後に

いかができたでしょうか? PyRosetta Notebooks2.6. Visualization with the PyMOLMoverでは続きもあり、水素結合などタンパク質情報を可視化させています。タンパク質が可視化されるとワクワクしますよね!?次は応用編でタンパク質のデザインなどを紹介できたらと思います!

コメントを残す

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