すでに解かれているタンパク質モデルをお手本に別の似たタンパク質の立体構造を予測してみる。
UCSF Chimeraでできるらしいのだが、このソフトウェアは色々できることがありすぎて、逆に使い方がわかりにくい。
そこで、そもそもChimeraも内部で使っているらしい、MODELLERをコマンドラインから使うことにする。
https://salilab.org/modeller/
ここからソフトウェアをダウンロードしてくる。
Academicな使用は無料だが、インストールするにはRegistrationが必要である。
インストーラを起動してRegistrationするとメールで送られてくるキーワードを入力すると、無愛想にインストール完了するがコマンドがインストールされるだけなのでアプリのようなものはできない。
今回はversion 10.0をダウンロードしたので、起動するには
$ mod10.0 usage: mod10.0 script [...]
とする。
ちなみに
$ which mod10.0 /usr/local/bin/mod10.0
とりあえずインストールができたなら、ためしになんかモデリングしてみる。
シロイヌナズナFTタンパク質をお手本にトマトのFTタンパク質をモデリングしてみよう。ほとんど一緒だから、まずおかしなことにはならないでしょう。
まず必要なものはPDBファイルというもの。これを
このように
https://pdbj.org
からダウンロードしてくる。pdb1wkp.entを落としてきて1WKP.pdbという名前にしておく。
次にアライメントファイルを作成する。(ファイル名はalign.pirとした)
>P1;Solyc03g063100.2.1 sequence:Solyc03g063100.2.1:::::::: RDPLVVGRVVGDVLDPFTRTIGLRVIYRDREVNNGCELRPSQVINQPRVEVG GDDLRTFFTLVMVDPDAPSPSDPNLREYLHWLVTDIPATTGSSFGQEIVSYESPRPSMGI HRFVFVLFRQLGRQTVYAPGWRQNFNTRDFAELYNLGLPVAAVYFNCQRESGSGGRRRSA D* >P1;1WKP structureX:1WKP:6:A:168:A:::: RDPLIVSRVVGDVLDPFNRSITLKVTYGQREVTNGLNLRPSQVQNKPRVEIG GEDLRNFYTLVMVDPDVPSPSNPHLREYLHWLVTDIPATTGTTFGNEIVSYENPSPTAGI HRVVFILFRQLGRQTVYAPGWRQNFNTREFAEIYNLGLPVAAVFYNSQRES--------- -*
clustalw等でアライメントを作成してPIR形式で保存したところにヘッダーをつける。お手本となるAtのアミノ酸配列はPDBファイルをダウンロードしてきたページで配布されている配列を使っておくと間違いない。
上にモデリングしたい配列、下にお手本配列を置いたが、逆でもいいのかもしれない。
ヘッダーの書式はターゲットの1行目はPIRそのままでいい。まあなんでもいいみたい。
2行目には
sequence:(1行目で使った名前)::::::::
後ろのオプションはとりあえずそのまま。
お手本側のヘッダー1行目もPIRそのままでいいと思うが、PDBのIDにしておくのが無難かもしれない。
2行目は
structureX:(1行目で使った名前):6:A:168:A::::
X線構造解析されているときはstructureX。NMRのときはどうするんだろうね。(structureNらしい)
この後ろの6:A:168:Aというのが曲者で、おそらくN末の構造は不安定で解かれていないために6番目のアルギニンからしか情報がないらしく、PDBファイルの
この部分がARG A 6からになっている。ATGから構造が解かれていればMET A 1のようになっているはずだが。
またAというのがなにかというとPDBファイルが4量体の構造を解いているらしく
ABCDという4つのChainを含んでいるため、Aのchainをお手本とするよ、という意味になる。
168は同様にC末端がどこまでかを表している。
もともとのアライメントを取ったfastaファイルでは
>1WKPA:FLOWERING LOCUS T protein GSHMSINIRDPLIVSRVVGDVLDPFNRSITLKVTYGQREVTNGLNLRPSQVQNKPRVEIG GEDLRNFYTLVMVDPDVPSPSNPHLREYLHWLVTDIPATTGTTFGNEIVSYENPSPTAGI HRVVFILFRQLGRQTVYAPGWRQNFNTREFAEIYNLGLPVAAVFYNSQRES
となっているがMの前のGSHは要らないのは当然としてPDBが6番目のRからなので、MSINIも削ってアライメントを作る必要がある(アライメントしてから削ってもいい)
今回はTargetの方もそれに合わせて頭を削っておいた。そのままではだめなのかは試してみていない。
さて、ここまで準備したら、最後にスクリプトファイルを書く。
from modeller import * from modeller.automodel import * log.verbose() env = Environ() a = automodel(env, alnfile = 'align.pir', knowns = '1WKP', sequence = 'Solyc03g063100.2.1') a.starting_model= 1 a.ending_model = 1 a.make()
これをscript.pyと名前をつけて、PDBファイル、アライメントファイルと同じフォルダに保存し、そのディレクトリ内で
$ mod10.0 script.py
とやるとパタパタパタっとファイルが生成されて完了する。
今回はSolyc03g063100.2.1.B99990001.pdbというファイルが生成されていた。
これをお手本にしたPDBファイルと比べてみよう。
ほほー。確かにそっくりだ。左はAtの4量体で右がトマトの予測構造。