YASARA : ループモデリングについて

2021年2月3日水曜日

【YASARA】

t f B! P L

久しぶりの投稿です。。

今回は、YASARA Structureのループモデリングについて書いてみます。


まず、YASARAコンソールから次のコマンドを実行してみてください。


Clear

LoadPDB 1ke7

DelWaterAll

BuildLoop C Res 35 or N CA Res 36,IRLDTETEGVP,CA C Res 44 or N Res 45,Structures=1,Mutate=All

BuildLoop C Res 151 or N CA Res 152,AFGVPVRTYTHEVV,CA C Res 163 or N Res 164,Structures=1,Mutate=All

CleanAll

ForceField YASARA2

OptimizeLoop C Res 35 or N CA Res 36,CA C Res 44 or N Res 45,Samples=100

OptimizeLoop C Res 151 or N CA Res 152,CA C Res 163 or N Res 164,Samples=100



これだけで、CDK2(PDB:1KE7)の欠損残基を対象としたループモデリングを行うことができます。数行のコマンドで面倒な処理を一括して行えるので便利ですね。


以下、最初から詳しく見ていきます。


先ず、ClearコマンドでYASARAを初期化した後、LoadPDBコマンドで1ke7の構造をRCSBからダウンロード&画面表示しています。続けて、DelWaterAllコマンドでPDBに含まれている水分子を削除しています。

GUIから操作する場合、File>LoadやEdit>Delete>Watersから同じ操作を実行できます。


次のBuildLoopが、ループをモデリングするコマンドになり、使用方法は以下になります。


BuildLoop <ループ開始を示すアンカー原子(C-N-CA)> <ループのアミノ酸配列(1-letter形式)> <ループ終了を示すアンカー原子(CA-C-N)> [オプション(任意)]


水分子削除まで進めて、YASARAで構造を確認してみます。


LoadPDB 1ke7

DelWaterAll


その後、F4(またはAlt+4キー)やF5キー(またはAlt+5キー)を押してバックボーン・リボン表示します。リボン表示だと欠損残基はマジェンタの球で表示されますが、ここではバックボーン表示で進めます。


Window > Show sequence にチェック(✓)マークが付いている事を確認して、マウスポインタを画面下の方に合わせて、シークエンスビューを表示します。

シークエンスビュー左上の画びょうのアイコンをクリックすると常時表示に設定できます。





同ビュー上側のスライドバーをつかって、欠損残基の箇所を見ると、36番目のARGの次が44番目のVALになっていて、37-43が欠損していることがわかります。


BuildLoopコマンドでは、2つの連続する残基のバックボーン原子3つでアンカーを指定します。今回のケースでは、最初のループ開始を示すアンカー原子(C-N-CA)は、N末端アンカー”C Res 35 or N CA Res 36”、ループ終了を示すアンカー原子(CA-C-N)は、C末端アンカー”CA C Res 44 or N Res 45”です。

これらのアンカーはPDB検索のインデックスとして利用され、ListAtomコマンドで確認することができます。


>ListAtom C Res 35 or N CA Res 36

Atom  271  C   ILE   35  A: C , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 47.16, Prop 0.000, X 12.730, Y -4.290, Z 15.952

Atom  277  N   ARG   36  A: N , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 48.65, Prop 0.000, X 11.959, Y -5.316, Z 15.605

Atom  278  CA  ARG   36  A: C , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 49.67, Prop 0.000, X 11.909, Y -6.540, Z 16.398

Number of atoms listed: 3.

>ListAtom CA C Res 44 or N Res 45

Atom  283  CA  VAL   44  A: C , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 62.07, Prop 0.000, X 10.426, Y 0.095, Z 23.787

Atom  284  C   VAL   44  A: C , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 62.05, Prop 0.000, X 9.474, Y 1.080, Z 24.456

Atom  289  N   PRO   45  A: N , Obj 1 (1ke7), AltLoc  , Occ 1.00, BFac 62.08, Prop 0.000, X 8.164, Y 0.937, Z 24.197

Number of atoms listed: 3.


欠損領域前後の連続した2残基C-N-CA原子とCA-C-Nの色を緑色に変えてみます。この操作は省略してもOKです。


Style BallStick

HideAll

ShowAtom C Res 35 or N CA Res 36

ShowAtom CA C Res 44 or N Res 45

ColorAtom C Res 35 or N CA Res 36 or CA C Res 44 or N Res 45,Green




CDK2(PDB:1KE7)には、153-162にも欠損残基がありますので、その前後のC-N-CA原子、CA-C-N原子も緑色にしてみます。


ShowAtom C Res 151 or N CA Res 152

ShowAtom CA C Res 163 or N Res 164

ColorAtom C Res 151 or N CA Res 152 or CA C Res 163 or N Res 164,Green


この後、F4(またはAlt+4)でバックボーン表示にしておきます。


以上の操作を施した構造をループモデリング前の構造として残すことにします。

コンソールから、


DuplicateObj 1

RemoveObj 1


として複製後、SoupからRemoveしておきます。


これまでの操作で次のような状況になっているはずです(1ke7オブジェクトが2つ、1番目のVis, ActがNo)。




次に、RCSBからダウンロードしたFASTAファイルで、アミノ酸配列を確認します。



黄色でハイライトしたところが欠損領域、緑色がアンカー(2残基分)です。BuildLoopコマンドで指定するシークエンスにはアンカーの残基も含めます。

欠損残基は、PDBファイルのREMARK 465 MISSING RESIDUESセクションでも確認することができます。こちらは3-letter表記ですが、BuildLoopでは、1-letter表記でシークエンスを指定する必要があります。


2箇所の欠損領域に対して、BuildLoopコマンドを実行します。


BuildLoop C Res 35 or N CA Res 36,IRLDTETEGVP,CA C Res 44 or N Res 45,Structures=1,Mutate=All

BuildLoop C Res 151 or N CA Res 152,AFGVPVRTYTHEVV,CA C Res 163 or N Res 164,Structures=1,Mutate=All


オプションのStructures=1,Mutate=Allはどちらもデフォルト値なので省略できますが、参考までに残しておきました。これらの値を変更することで、発生モデル数やミスマッチがあった場合などの動作を変更することができます。


BuildLoopコマンドを実行すると、自動的にPDB検索がなされ、適当なループ構造がアンカー原子の間に重ね合わせられます。




続けて、発生させたループの最適化処理を行います。


ここまでの構造を残しておくため、


DuplicateObj 2

RemoveObj 2


として新たにオブジェクトを作成します。以降の操作は、3つ目のオブジェクトに対して行われます。


先ず、コンソールからCleanAllコマンド(GUIからの場合、Edit>Clean>All)を実行し、水素付加等のクリーン処理を行います。

CheckAllコマンドで構造全体のスコアを確認後、続けて、CheckResコマンドでループ最適化前のアミノ酸残基のモデル品質スコアを残しておきます。

なお、Checkコマンドを実行するには力場をYASARA2に設定する必要があり、またループ最適化で良い結果を与えるとのことですので、この力場に変更しておきます。


CleanAll

ForceField YASARA2

CheckAll ModelQuality

CheckRes all,Modelquality,non-opt


CheckAllコマンドを実行すると、コンソールに現在の構造のスコアが出力されます。


Object  3 (1ke7) has an overall model quality Z-score of -1.245

Interpretation: < -2 is poor, < -4 is bad


CheckResコマンドを実行すると、現在の作業ディレクトリにnon-opt.pngファイルが出力されます。出力先を変更する場合、CDコマンドかOption>Working directoryで予め変更しておいてください。現在の作業ディレクトリは、PWDコマンドで確認することができます。


では、ループ最適化のため、コンソールから


OptimizeLoop C Res 35 or N CA Res 36,CA C Res 44 or N Res 45,Samples=100

OptimizeLoop C Res 151 or N CA Res 152,CA C Res 163 or N Res 164,Samples=100


としてOptimizeLoopコマンドを実行します。

前後2残基分のアンカーの指定方法は、BuildLoopと同じですが、シークエンスの入力は不要です。SamplesオプションでPDBから抽出するループのコンフォメーション数を調整できます。なお、OptimizeLoopコマンドでは、2次構造を指定することも可能ですが、ここでは指定せず(SecStr=Empty)進めます。


>OptimizeLoop C Res 35 or N CA Res 36,CA C Res 44 or N Res 45,Samples=100

Optimized force field energy including solvation = -31222.009 kcal/mol

>OptimizeLoop C Res 151 or N CA Res 152,CA C Res 163 or N Res 164,Samples=100

Optimized force field energy including solvation = -38718.084 kcal/mol


続けて、ループ最適化後のスコアを確認、保存します。


CheckAll ModelQuality

CheckRes all,ModelQuality,opt


最適化前に比べ、確かにスコアが改善しています。


Object  3 (1ke7) has an overall model quality Z-score of -1.019

Interpretation: < -2 is poor, < -4 is bad


CheckResの比較結果は以下の通り(上:non-opt, 下:opt)。最適化処理で、ループ領域のスコアが改善していることを確認できます。





最後にsoupから除外していた二つのオブジェクトを戻して、適当な色付けを行うと、


AddObj 1-2

ColorObj 1,Gray

ColorObj 2,Yellow


次のようになります。




この後、全体をSCE形式で保存したり、3番目のオブジェクトをPDB等で保存すれば終了です。

以上、基本的なループモデリングの流れでした。詳しくは、ユーザガイドのBuildLoopやOptimizeLoopコマンドの説明を参照してみてください。


モデルのクオリティをさらに改善するには、md_refine.pyマクロを実行するなどして、スコアの高い構造を求めると良いです。


code-prettify

このブログを検索

ページビューの合計

人気の投稿

QooQ