配列比較による相同性の検出は、タンパク質の機能と進化の研究における典型的な最初のステップである。この研究では、タンパク質言語モデルのこのタスクへの適用可能性を探る。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)。
https://toolkit.tuebingen.mpg.de/tools/plmblastにアクセスする。
配列を選択してサブミットする。
出力例
ローカルマシンへのインストール
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サービス