【Rosetta】Pythonで扱えるRosetta分子モデリングツールの解説

論文タイトル

PyRosetta: a script-based interface for implementing molecular modeling algorithms using Rosetta

出典

Bioinformatics. 2010 Mar 1;26(5):689-91.

NCBI - WWW Error Blocked Diagnostic

確認したいこと

  • PyRosettaの概要と利用方法

要旨

RosettaパッケージをPythonベースで実装した、PyRosettaについて解説した論文になります。

解説など

PyRosettaとは、生体分子モデリングツールのひとつであるRosettaを、Pythonベースで実行するためのパッケージです。

Rosettaには多様な機能があり、複雑なステップを踏む解析や、パラメータをカスタマイズした解析を実行するためには、Rosettaのソフトウェア開発とC++のプログラミングスキルを必要とします。RobettaやROSIEなどの解析用ウェブサーバーも公開されていますが、パラメータを複雑に変更した条件での解析はフォローされていないことが多いです。

https://robetta.bakerlab.org/
ROSIE: The Rosetta Online Server that Includes Everyone
ROSIE Rosetta server based on www.rosettacommons.org engine

PyRosettaでは、GCC-XML、Py++パッケージ、Boost.Python libraryなどのツールを利用することで、Pythonでの解析を可能にしています。計算コストについても、PyRosettaはRosettaのC++ビルドとほぼ同等の性能を示すとのことです。

ここからは、PyRosettaの特徴について解説します。

PyRosettaでは、生体分子は「Pose」と呼ばれるオブジェクトで表現されます。Poseには、デカルト座標または内部座標(bond,angle, torsionなど)の情報が含まれています。PDBファイルから開始構造がPoseに呼び出され、その内部座標を動かすことで立体構造を変化させます。

各Poseにおけるタンパク質構造のエネルギーは、「ScoreFunction」を用いて計算できます。ScoreFunctionは、独立したエネルギー項(Vander Waals 相互作用、水素結合など20種以上の項を含む)の合計で表現されます。それぞれの項に対して重みを設定することで、ScoreFunctionをカスタマイズすることが可能です。構造のサンプリングは「Mover objects」で表現されます。Moverには、バックボーンのねじれ角を摂動するSmallMoverや、エネルギー関数を用いて構造を最小化するMinMoverなどが含まれます。また、探索する立体配座空間は、MoveMapやFoldTreeにより制限されます。

以下のリンクから、PyRosettaについてさらに学習することができます。一度のぞいてみてはいかがでしょうか。

PyRosetta.notebooks
Jupyter Notebooks for learning the PyRosetta platform for biomolecular structure prediction and design

コメント