HH-suite3を使った高感度な相同性検索:インストールとデータベースの準備

  このカテゴリーの記事では、「Pythonを使った機械学習やケモ・バイオインフォマティクスの実装や論文」を紹介していきたいと考えています。Python は3系(3.7)、anacondaを中心にして環境構築していきます。以下のようなハード・ソフト環境(CentOS Linux)を用いますが、Python(anaconda)が利用できれば、異なる環境下でも類似の実装が可能かと思います。
  • CPU Intel® Core™ i7-6700K CPU @ 4.00GHz × 8
  • メモリ  64GB
  • GPU GeForce GTX 1080/PCIe/SSE2
  • OS  CentOS Linux 8
  • Python 3.7

はじめに

タンパク質はアミノ酸(通常20種類)が数十〜数百個程度ペプチド結合で連結した生体高分子です。タンパク質の3次元構造・機能は、そのアミノ酸配列、一次構造によって決まっていると考えられています。従って、タンパク質同士の一次構造の比較や類似性の解析、それにもとづく「相同性検索」はバイオインフォマティクスの根幹をなす技術となっています。以前、以下のような記事で、BLASTプログラムによる相同性検索のやり方や分析を紹介しました。

今回の記事では、隠れマルコフモデル(HMM)によるペアワイズアラインメントに基づいて、より高感度な(類似性が低いタンパク質を見つけることが可能な)タンパク質配列検索を行うことが可能な、HH-suite を導入し、使えるようにしたいと思います。

HH-suite3 for fast remote homology detection and deep protein annotation https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3019-7


condaによる HH-suite3 のインストール

以前の記事と同様に、conda を用いて仮想環境 hhsuite をつくり、そこにインストールします。conda や仮想環境、パッケージについては、別記事を参照して下さい。まずはターミナルで、

$ conda create -n hhsuite python=3.7

を実行します。y を選択し、完了してください。以下のように、この環境 hhsuite をアクティブにした上で、インストールします。

$ conda activate hhsuite
$ conda install -c conda-forge -c bioconda hhsuite

y を選択し、完了してください。以下のように hhbilts コマンドを実行してみましょう。これが実際に検索の際に使用するコマンドです。

$ hhblits -h
HHblits 3.3.0:
HMM-HMM-based lightning-fast iterative sequence search
HHblits is a sensitive, general-purpose, iterative sequence search tool that represents
both query and database sequences by HMMs. You can search HHblits databases starting
with a single query sequence, a multiple sequence alignment (MSA), or an HMM. HHblits
prints out a ranked list of database HMMs/MSAs and can also generate an MSA by merging
the significant database HMMs/MSAs onto the query MSA.
                           .
                           .
                           .
Examples:
hhblits -i query.fas -o query.hhr -d ./uniclust30

hhblits -i query.fas -o query.hhr -oa3m query.a3m -n 1 -d ./uniclust30

Download databases from <http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/>.

というような表示が出れば、hhsuite のインストールが完了しており、hhblits による検索ができる状態になっています。


HH-suite用のデータベースのダウンロード

さきほどの表示の最後にも書かれていますように、hhblits 検索の対象となるデータベースをダウンロードする必要があります。今回は、Pfam (タンパク質ファミリーのデータベース)を基にしたデータベースを使用したいと思います。下記のコマンドを実行して、ファイルをダウンロードします。

$ curl -OL http://wwwuser.gwdg.de/~compbiol/data/hhsuite/databases/hhsuite_dbs/pfamA_34.0.tar.gz

圧縮状態でファイルサイズが2.0GB程ありますので、ネットワークが安定した環境で実行し、気長に待ってください。ダウンロードが完了したら、下記のコマンドで、解凍します。

$ tar -zxvf pfamA_34.0.tar.gz

pfamで始まるファイルが7つ得られると思います。これで、Pfamデータベースに対するhhblits検索が可能な状態になりました。


hhblits の使い方

それでは、実際にhhblitsを実行してみたいと思います。以前の記事でも用いた、マウス(ハツカネズミ)のミオグロビンの一次構造をクエリにした検索を行ってみましょう。UniProtデータベースのこちらから取得できます。これをテキストファイルとして保存します。ここでは myg.fasta という名前にしました。それでは、下記を実行してください。

$ hhblits -i myg.fasta -o myg.hhr -d ./pfam

-i myg.fasta でクエリを指定しています。また、-o 以下には保存ファイル名を指定します。さらに、-d ./pfam によって、先程解凍したPfamデータベースを指定しています(pfamで始まる7つのファイルが存在するディレクトリを指定する必要があります。今回の例では、./ としてカレントディレクトリを指定)。

Query         sp|P04247|MYG_MOUSE Myoglobin OS=Mus musculus OX=10090 GN=Mb PE=1 SV=3
Match_columns 154
No_of_seqs    346 out of 349
Neff          10.923
Searched_HMMs 183
Date          Fri Mar 26 20:12:26 2021
Command       hhblits -i myg.fasta -o myg.hhr -d ./pfam 

 No Hit                             Prob E-value P-value  Score    SS Cols Query HMM  Template HMM
  1 PF00042.23 ; Globin ; Globin    98.9 1.2E-13 2.5E-17   85.9   0.0  102    7-110     1-104 (107)
  2 PF11563.9 ; Protoglobin ; Prot  95.7 3.9E-05 8.6E-09   46.3   0.0  132    2-147    10-150 (153)
  3 PF12395.9 ; DUF3658 ; Protein    6.5      29  0.0057   18.7   0.0   18    3-20      8-25  (115)
  4 PF07813.13 ; LTXXQ ; LTXXQ mot   4.5      43  0.0089   16.3   0.0   15    3-17     15-29  (107)
  5 PF02184.17 ; HAT ; HAT (Half-A   2.7      86   0.017   11.9   0.0   10   29-38      9-18  (32)
  6 PF08013.12 ; GatZ_KbaZ-like ;    1.8 1.3E+02   0.027   19.4   0.0   28  127-154    99-126 (418)
  7 PF14842.7 ; FliG_N ; FliG N-te   1.7 1.4E+02   0.029   14.2   0.0   36    1-36     25-60  (104)
  8 PF14722.7 ; KRAP_IP3R_bind ; K   1.5 1.9E+02   0.035   16.2   0.0   23  132-154    20-42  (145)
  9 PF00380.20 ; Ribosomal_S9 ; Ri   1.3   2E+02   0.039   14.2   0.0   22  131-152    74-95  (122)
 10 PF05823.13 ; Gp-FAR-1 ; Nemato   1.3   2E+02    0.04   14.7   0.0   18    1-18    116-133 (149)

上のような出力が得られると思います。また、myg.hhr ファイルにはこの出力と、それぞれのアライメントが保存されていると思います。PfamデータベースのPF00042.23 (Globin : E-value = 1.2E-13)がトップヒットし、PF11563.9 (Protoglobin: E-value = 3.9E-05)が2番目にヒットしています。

今回は、詳細が調べられているミオグロビンをクエリとし、上記のようにGlobin、Protoglobinがヒットする結果が得られました。次回以降、機能不明なタンパク質について、同様な検索を行ってみたいと思います。


コメント

タイトルとURLをコピーしました