本記事はPyRosettaについて書かれた記事です。タンパク質のデザインや可視化、ドッキングなどに使います。
こちらの記事の内容ができるようになると、PyRosettaを操作したタンパク質をPyMOLで見ることができるようになります。 ぜひ、トライしてみてください!
本記事はPyRossetaの2本目の記事です。
PyRosettaのインストール、環境構築についてはこちらの記事を参照してください。
macOS Ventura(13.2.1), python 3.9.7, Jupyter Notebook, PyMOL 2.5.4
自宅でできるin silico創薬の技術書を販売中
新薬探索を試したい方必読!
ITエンジニアである著者の視点から、wetな研究者からもdryの創薬研究をわかりやすく身近に感じられるように解説しています
PyMOLとは?
PyMOLは、分子の3D可視化を行うためのソフトウェアです。PyMOLは、タンパク質の構造を表示するためによく使用されます。PyMOLを使用すると、タンパク質の構造を回転、ズーム、移動することができます。
また、タンパク質の構造を色分けすることもできます。たとえば、重要なアミノ酸残基を目立たせたり、構造変化の解析に役立つように、構造を可視化することができます。
PyRosettaとPyMOLを組み合わせると、タンパク質のシミュレーション結果をPyMOLで可視化することができます。
具体的には、PyRosettaで計算されたタンパク質の構造情報をPyMOLに送信し、PyMOLで表示することができます。
また、PyMOLからPyRosettaに情報を送信することもできます。
たとえば、特定のアミノ酸残基の位置を変更することができます。
これらのツールを使って、タンパク質の構造の理解を深め、新しいタンパク質の設計やタンパク質-タンパク質相互作用の研究など、さまざまな研究分野に応用することができます。
初心者でもPyRosettaとPyMOLを使用することで、タンパク質の構造について理解を深めることができます。
本記事を進むにあたって、PyMOLのダウンロードをお願いします。
大阪大学の蛋白研究所からインストールの仕方が解説されています。
PyMOLとPyRosettaの同期方法
今回はPyRosetta Notebooksの2.6. Visualization with the PyMOLMoverをやっていきます。
まずPyMoLとPyRosettaを同期させていきましょう。
以下の手順で同期させていきます
- PyMolを開いて、コマンドラインにrunと打ちます。
- すでにダウンロードしているPyRosetta4.Release.python39.m1.release-340の中にあるPyMOL-RosettaServer.python3をコマンドラインにドラッグ&ドロップします。(今回私のpythonはversion 3のなので、PyMOL-RosettaServer.python”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 Notebooksの2.6. Visualization with the PyMOLMoverでは続きもあり、水素結合などタンパク質情報を可視化させています。タンパク質が可視化されるとワクワクしますよね!?次は応用編でタンパク質のデザインなどを紹介できたらと思います!