HHpredとModellerでホモロジーモデリングをする
前提
- HHblitsとHHsearchにより類似構造の配列は既に入手済み。ここからスタートする
まずModellerのチュートリアルを実施
1. Searching for structures related to the query
ここは前述のHHsearchによりテンプレート構造が既知なので省略。
2. Selecting a template
ここも省略
3. Aliging the query with the template
ここも省略
4. Model building
Pirファイル生成
モデル構築のためには.pirファイルをhhsearchの結果から作ってやる必要あり。それにはhhmakemodel.pyを使うらしい。hhmakemodel.pyはhhsuitesの付属品。以下はhhmakemodel.pyの-hオプションのコピペ
Creates a MODELLER alignment (*.pir) from a HHSearch results file (*.hhr).
positional arguments:
FILE results file from HHsearch with hit list and alignment
DIR path to the folder containing cif files
FILE output file (PIR-formatted multiple alignment)
DIR path to the folder where modified cif files should be
written tooptional arguments:
-h, --help show this help message and exit
-v, --verbose verbose mode
-m INT [INT ...] pick hits with specified indices (e.g. -m 2 5)
-e FLOAT maximum E-Value threshold (e.g. -e 0.001)
-r FLOAT residue ratio (filter alignments that have contribute at
least residues according to the specified ratio).
-c convert non-canonical residues (default = True)
上記を参考にしたコマンド例:
hhmakemodel.py input.hhr dir_to_ciffiles output.pir ./
それぞれの意味は前述のヘルプのpositional argumentsを参考にしてください。ちなみにcifはpdbからwgetでとってきました。
Modeller 実行
チュートリアル上のpythonファイルを適宜いじって実行するだけ。当然だがsequentialな処理には専用のスクリプトを書く必要あり。
from modeller import *
from modeller.automodel import *
#from modeller import soap_protein_odenv = environ()
a = automodel(env, alnfile='TvLDH-1bdmA.ali',
knowns='1bdmA', sequence='TvLDH',
assess_methods=(assess.DOPE,
#soap_protein_od.Scorer(),
assess.GA341))
a.starting_model = 1
a.ending_model = 5
a.make()
以下わからなかったので調べたこと
- Uniclust databaseとは?
> The Uniclust90, Uniclust50, Uniclust30 databases cluster UniProtKB sequences at the level of 90%, 50% and 30% pairwise sequence identity. The clusterings show a high consistency of functional annotation owing to an optimised clustering pipeline that runs with our MMseqs2 software for fast and sensitive protein sequence searching and clustering.
UniprotKBにあるタンパク質配列をクラスター化したもの。Uniclust90なら90%の配列一致度を持つ配列同士で, Uniclust30なら30%の配列一致度を持つ配列同士をクラスター化している。(そしておそらくクラスター中心か何かを抽出している)。性質上, クラスターができやすいUniclust30が一番データベースのサイズが小さい。
- PDB70とは
>PSI-BLAST alignments produced with sequences of PDB full chain representativies (<70% sequence identity) as queries.
とのことなので, PDBから(70%以下の配列一致度を持つ配列同士をクラスター化して圧縮した)配列をクエリとしPSI-BLASTをかけた結果と思われる。Uniclustとの違いはこちらはPDBの配列を使っているために, 構造が既知である。これをmodellerの鋳型に使う。 -
ホモロジーモデリングにおいて前述のデータベースはどのように使われる?
Uniclustは与えた配列からhhblitsで類似配列群を隠れマルコフモデルを使って探す際に用いられる
PDB70は前述のhhblitsの結果を元にhhsearchで類似構造を探索する際に使う - HHsearchとHHblitsの違いは?
HHblitsは入力配列に類似する配列を反復検索し, 類似配列群を作成する
HHsearchはHHblitsの結果を用いて相同な構造を見つけ出す