macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

タンパク質言語モデルの配列表現の直接比較に基づいて遠隔相同性検出を行う pLM-BLAST

 

 配列比較による相同性の検出は、タンパク質の機能と進化の研究における典型的な最初のステップである。この研究では、タンパク質言語モデルのこのタスクへの適用可能性を探る。pLM-BLASTはBLASTにインスパイアされたツールであり、タンパク質言語モデルProtT5から得られた単一配列表現(embeddings)を比較することにより、遠方相同性を検出する。本著者らのベンチマークにより、pLM-BLASTはHHsearchと同程度の精度を維持し、非常に類似した配列(50%以上の同一性)および著しく分岐した配列(30%未満の同一性)の両方において、有意に高速であることが明らかになった。さらに、pLM-BLASTはローカルアラインメントを計算する能力により、他の埋め込みベースのツールの中で際立っている。pLM-BLASTによって生成されたローカルアラインメントが、多くの場合、高度に乖離したタンパク質を連結することを示し、それによってpLM-BLASTが、これまで発見されていなかった相同関係を発見し、タンパク質アノテーションを改善する可能性を強調する。

pLM-BLASTは、MPI Bioinformatics Toolkitを介して、事前計算されたデータベースを検索するためのウェブサーバーとしてアクセスできる (https://toolkit.tuebingen.mpg.de/tools/plmblast)。また、カスタムデータベースを構築し、バッチ検索を実行するためのスタンドアロンツールとしても利用できる (https://github.com/labstructbioinf/pLM-BLAST)。

 

webサービス

https://toolkit.tuebingen.mpg.de/tools/plmblastにアクセスする。

 

配列を選択してサブミットする。

 

出力例

 

ローカルマシンへのインストール

Github

mamba create --name plmblast python=3.10 -y
conda activate plmblast
git clone https://github.com/labstructbioinf/pLM-BLAST.git
cd pLM-BLAST/
pip install -r requirements.txt

python embeddings.py -h

$ python embeddings.py -h

usage: embeddings.py [-h] {start,resume} ...

 

Embedding script create embeddings from sequences via desired embedder

by default `seq` column in used as embedder input. Records are stored

as list maintaining dataframe order. 

In python load via: 

>>> import torch

>>> torch.load(..)

or 

>>> import pickle

>>> with open(.., 'rb') as f:

>>>     embs = pickle.load(f)

example use:

python embeddings.py start data.csv data.pt -cname seqfull

# for fasta input

python embeddings.py start data.fasta data.pt

# for file per embedding output

python embeddings.py start data.fasta data --asdir

# resume interrupted calculations

python embeddings.py resume data

 

options:

  -h, --help      show this help message and exit

 

options:

  {start,resume}

    start         starting new calculations

    resume        continue calculations from checkpoint, checkpoint is automatically created and stored as emb_checkpoint.json in output directory this is only available when using asdir flag

 

 

データベース

wget http://ftp.tuebingen.mpg.de/pub/protevo/toolkit/databases/plmblast_dbs

 

実行方法

デフォルトではembeddings.pyはProtT5(-embedder pt alias for Rostlab/prot_t5_xl_half_uniref50-enc)を使用する。(pytouchが)GPUを認識するなら--gpuをつける。

python embeddings.py start database.fasta database -embedder pt --gpu -bs 0 --asdir
  • 大きなデータベースを扱う場合、embeddings.pyを実行する前に入力配列を長さでソートする。

 

論文より

  • TM-vecやDEDALとは対照的に、pLM-BLASTは教師なしアプローチに基づいており、特別なディープラーニングモデルのトレーニングや、構造的に類似または相同なタンパク質ペアに基づくポジティブラベルの定義を必要としない。さらに、グローバルアラインメントのみを提供するTM-vecやEBAのような手法とは異なり、pLM-BLASTはローカルアラインメントとグローバルアラインメントの両方を計算する能力を持ち、これは短いサブドメイン断片の保存に依存する可能性のある遠い相同性関係を決定するために不可欠である(Alva et al. 2015, Kolodny et al)。

  • ECODタンパク質分類データベース(Cheng et al. 2014)のドメインペアを用いたベンチマークにおいて、pLM-BLASTは高速なペアワイズ比較とデータベース検索に適しており、遠方の相同性を検出し、高精度のアラインメントを生成することが実証された。

引用

pLM-BLAST: distant homology detection based on direct comparison of sequence representations from protein language models 

Kamil Kaminski, Jan Ludwiczak, Kamil Pawlicki, Vikram Alva, Stanislaw Dunin-Horkawicz Author Notes

Bioinformatics, Volume 39, Issue 10, October 2023

 

関連

MPI Bioinformatics ToolkitのPSI-BLASTサービス