CRNPRED
[目次]
- 目次
- URL
- CRNPREDとは?
- CRNPREDサーバーの利用方法
- CRNPREDの一次構造予測の方法
- CRNPREDはどのぐらい正確なのか?
- ローカル環境へのCRNPREDインストール
- 参考文献
- CRNPREDへのRESTインターフェイス
[URL]
[CRNPREDとは?]
CRNPRED(クルンプレッド)はアミノ酸配列に基づき、2次構造(secondary structure)、埋もれ度(contact number)、残基毎コンタクトオーダ(residue-wise contact order)を含む1次元の蛋白質立体構造予測を行うウェブサービスです。 予測結果は電子メールで返されます。
[CRNPREDサーバーの利用方法]
FASTA形式 で記述したアミノ酸配列を入力枠に貼り付け、3種類ある予測方法からどれか1つを選んで下さい。そして、電子メールアドレスを入力して、「submit」ボタンをクリックします。 しばらくすると、結果がメールで通知されます。
現在、下記3種類の予測法が利用できます。
- linear
-
PSSMに基づく単純な線形回帰法による予測です。この方法自体は高速ですが、他の方法に比べて正確性は劣ります。
- CRN2000
-
CRNに基づく方法で、2000次元状態ベクトルを用いています。この方法は線形回帰予測法よりも速度は落ちますが、より正確な予測を行うことができます。初期状態ではこの方法が選択されています。
- CRN5000
-
CRN2000と同様ですが、5000次元の状態ベクトルを用いています。 この方法が最も遅くなりますが、最も正確な予測を行うことができます。
予測において最も時間がかかるのは、PSI-BLASTによるPSSMを作る部分であることは注目すべきことです。つまり、予測全体に必要なCPU時間は、予測を行う蛋白質配列の長さにのみ依存するということです。
CRNPREDからのメールが届かない時
1つの可能性は、CRNPREDからのメールがスパムメールとして処理されてしまったことです。スパムフォルダを確認し、メールソフトにCRNPREDからのメールはスパムとして分類されないよう設定して下さい。
そうでなければ、CRNPREDのサーバが多くの要求によって混み合っていることが考えられます。もうしばらく待ってみて下さい。
もし何らかの理由でCRNPREDがうまく結果を返さず不明な点があった場合は、 こちら のフォームからお問い合わせ下さい。なお 件名には「CRNPRED」の文字を含める ようにして下さい。
[CRNPREDの一次構造予測の方法]
CRNPREDは、入力としてPSI-BLASTによって生成された位置特異的スコア行列(position-specific scoring matrix、PSSM)を用い、それに基づいてCritical Random Network(CRN)と呼ばれる機械学習法を適用しています。
CRNはPSSMにおいていくつかの隠れたパターンを取り出すことができます。 パターンは一連の高次元状態ベクトルによって表現され、それを線形回帰予測の入力変数として用い二次構造、埋もれ度、残基毎コンタクトオーダを生成します。
より具体的に言うと、以下の処理を行っています。
- PSI-BLAST(3回反復)をUniRef90配列データベースに対して実行し、PSSMを得ます。
- CRNPREDを実行します。
- 線形回帰予測の場合、この処理は1秒未満で終了します。
- CRN2000やCRN5000の場合、通常1〜5分かかります(必要なCPU時間は指定した配列の長さにおおよそ比例して増加します)。
線形回帰予測以外では、個別に行われた20回の予測結果を組み合わせてCRNPREDは結果を返します。この 組み合わせ ることによって予測の正確性が著しく向上します。
[CRNPREDはどのぐらい正確なのか?]
ベンチマーク(下記1、2参照)によると、平均の正確性は以下の通りです。
CRN5000 (参照1)
SS | Q3= 80.5% | SOV = 80.0% |
CN | Cor = 0.746 | DevA = 0.686 |
RWCO | Cor = 0.613 (0.646) | DevA = 0.877 |
Linear (参照2)
SS | Q3 = 75.2 % | SOV = 72.7% |
CN | Cor = 0.701 | DevA = 0.735 |
RWCO | Cor = 0.584 | DevA = 0.902 |
[ローカル環境へのCRNPREDインストール]
以下のURLからCRNPREDのソースコードをダウンロードすることができます。
なお、BLASTのインストールと適切な配列データベースの設定も行う必要があります。 詳しくは上記URLをご覧下さい。
[参考文献]
以下の記事は自由にアクセスすることができます(無料でダウンロードできます)
- CRNPRED:
Highly accurate prediction of one-dimensional protein structures by large-scale critical random
networks.
(CRNPRED:大規模critical random networkによる一次元蛋白質構造の高精度予測)
Kinjo, A. R.; Nishikawa, K. BMC Bioinformatics 7 :401 (2006) [Primary reference] - Predicting secondary structures, contact numbers, and residue-wise contact orders of
native protein structure from amino acid sequence using critical random networks.
(critical random networkを用いた、アミノ酸配列から天然蛋白質構造の二次構造、埋もれ度、残基毎コンタクトオーダの予測)
Kinjo, A. R.; Nishikawa, K. BIOPHYSICS 1 :67-74 (2005) [Basic methodology] - Recoverable one-dimensional encoding of three-dimensional protein structures.
(三次元蛋白質構造の再生可能な一次元エンコーディング)
Kinjo AR, Nishikawa K. Bioinformatics, 21 :2167-2170 (2005) [1D structures]
[CRNPREDへのRESTインターフェイス]
独自のプログラムを使ってCRNPREDウェブサービスを呼び出すことができます。
CGIパラメータ
- fasta
-
FASTAファイルの中身。
- method
-
予測の種類。指定できる値は lin (線形回帰予測の場合)、 crnpred2k (CRN2000の場合)、 crnpred5k (CRN5000の場合)のいずれかです。
- jobid
-
指定するクエリのジョブのIDです。一度クエリを送信すると発行されます。この値は予測結果を取り出す際に必要です。
クエリの送信
HTTPのPOSTメソッドを使って送るのがいいでしょう。 curl プログラムを使って、次のようにクエリを送ることができます。
curl -F "fasta=@hoge.seq" -F "method=lin" "http://www.pdbj.org/crnpred/" > myquery.xml
上記例では、配列を hoge.seq という名前のファイルに保存しています。
上記処理によって xml(xhtml 1.1)形式のページが myquery.xml というファイル名で保存されます。この中には送信したクエリに対応するジョブIDが記載されています。 ジョブIDは class 属性に jobid という属性値を持った h2 要素の中に記述されています。以下の例のようになるでしょう。
<h2 class="jobid">DC.1244676954.282566</h2>
上記例では DC.1244676954.282566 がジョブIDです。
もしCRNPRED RESTサービスを呼び出すプログラムを書けば、curlを使った上記事例に相当するプログラムを書くことができるでしょう。
結果の取り出し
ジョブIDパラメータを指定して、送信したクエリに対する結果を取り出すことができます。ここで再び curl プログラムを使います。
curl "http://www.pdbj.org/crnpred/?jobid=DC.1244676954.282566" > result.txt
ジョブができあがっていたら、予測結果が result.txt という名前のファイルに保存されます。 結果ファイルの中身は平文テキストです。
;;BEGIN (your result here) ;;END
ジョブがまだ完了していない場合、結果にはIn progress.と記載されます。 その場合は、後ほど結果取得をやり直して下さい。 また、指定したジョブIDが存在しなかった場合は、Not found.という結果が返されます。