プラスミドは、重要なアクセサリー遺伝子を運ぶ移動性の遺伝性エレメントである。プラスミドをカタログ化することは、細菌間の遺伝子の水平伝播を促進するプラスミドの役割を解明するための基本的なステップである。次世代シーケンサー(NGS)は、今日、新しいプラスミドを発見するための主要な情報源である。しかし、NGSアセンブリプログラムはコンティグを返す傾向があり、プラスミドの検出を困難にしている。この問題はメタゲノムアセンブリでは特に深刻で、異種起源の短いコンティグが含まれる。プラスミドコンティグ検出のための利用可能なツールは、まだいくつかの制限に苦しんでいる。特に、アライメントベースのツールはdivergedなプラスミドを見逃す傾向があり、学習ベースのツールは精度が低いことが多い。本研究では、アライメント法と学習法の長所を生かしたプラスミド検出ツールPLASMeを開発した。近縁のプラスミドはPLASMeのアラインメントコンポーネントを用いて容易に同定でき、divergedなプラスミドはorder-specific Transformerモデルを用いて予測できる。プラスミド配列をタンパク質クラスターに基づくトークンセットで定義された言語として符号化することで、Transformerは位置トークン埋め込みと注意メカニズムを通してタンパク質の重要性とそれらの相関を学習することができる。CAMI2のシミュレーションデータから完全なプラスミド、プラスミドコンティグ、コンティグを検出するために、PLASMeと他のツールを比較した。PLASMeは最も高いF1スコアを達成した。既知のラベルを持つデータでPLASMeを検証した後、実際のメタゲノムおよびプラスミドコンティグでもテストした。
インストール
依存
- Python 3.x
- Pytorch
- diamond
- blast
- biopython
- numpy
- pandas
https://github.com/HubertTang/PLASMe
git clone https://github.com/HubertTang/PLASMe.git
cd PLASMe
mamba env create -f plasme.yaml
conda activate plasme
マニュアルより;”Anaconda のバージョンが低いと PLASMe をインストールできないことがある。PackagesNotFoundError が発生した場合は、Anaconda を新しいバージョンにアップグレードする。”
> python PLASMe.py -h
usage: PLASMe.py [-h] [-c COVERAGE] [-i IDENTITY] [-p PROBABILITY] [-t THREAD] [-u UNIFIED] [-m MODE] [--temp TEMP] [--taxonomy TAXONOMY] [-v] input output
PLASMe arguments.
positional arguments:
input Path of the input file.
output Directory of the output files.
optional arguments:
-h, --help show this help message and exit
-c COVERAGE, --coverage COVERAGE
The minimun coverage of BLASTN (default: 0.9).
-i IDENTITY, --identity IDENTITY
The minimun identity of BLASTN (default: 0.9).
-p PROBABILITY, --probability PROBABILITY
The minimun predicted probability of Transformer (default: 0.5).
-t THREAD, --thread THREAD
The number of threads (default: 8).
-u UNIFIED, --unified UNIFIED
Using unified Transformer model to predict (default: False).
-m MODE, --mode MODE Using pre-set parameters (default: None).
--temp TEMP The temporary directory (default: None).
--taxonomy TAXONOMY Specify a specific taxonomy in order level (default: None).
-v, --version show program's version number and exit
D.B
参照データベースをダウンロードする。
python PLASMe_db.py
しばらく時間がかかる。
テストラン
Fastaフォーマットでアセンブルされたコンティグを入力する。予測されたプラスミド配列がFastaフォーマットで出力される。
cd PLASMe/
python PLASMe.py test.fasta test.plasme.fna -c 0.6 -i 0.6 -p 0.5 -t 8
引用
PLASMe: a tool to identify PLASMid contigs from short-read assemblies using transformer
Xubo Tang, Jiayu Shang, Yongxin Ji, Yanni Sun
Nucleic Acids Research, Volume 51, Issue 15, 25 August 2023, Page e83