ウイルスは地球上で最も豊富な生物学的存在であり、多様な生態系において重要な役割を果たしている。さまざまな環境におけるウイルスのカタログ化は、その特性や機能を理解するために不可欠である。メタゲノムシーケンシングは、宿主や環境サンプルからウイルスを含むすべての遺伝物質を網羅的に解析できる最も包括的なウイルス発見手法として注目されている。しかし、メタゲノムデータにおいて、膨大な細胞由来の配列の中からウイルス配列を識別することは依然として大きな課題である。VirSorter2やgeNomadなどの学習ベースのツールはいくつかの有望な成果を示しているが、シーケンシングやアセンブリのノイズ、ウイルスと宿主間で共有される遺伝子、宿主ゲノム内に形成されるプロウイルスの存在により、偽陽性率が変動することが多い。これにより、ウイルスコンティグの品質を正確かつ効率的に評価する方法の緊急の必要性が浮き彫りになっている。これらの課題に対応するため、報告されたウイルスコンティグやビンの品質を評価するツール「ViralQC」を開発した。ViralQCは、ウイルスおよび細胞ゲノムで学習された基盤モデルを用いて、推定ウイルス配列内の汚染領域を特定し、タンパク質の配列構造の整列を通じてウイルスの完全性を推定する。複数のデータセットでViralQCを評価し、ウイルス品質評価の最先端ツールであるCheckVと比較した。特に、ViralQCはCheckVよりも38%多くの汚染を正確に検出し、中央値の絶対誤差はわずか3%にとどまった。さらに、ViralQCは中〜高品質(完全性50%以上)のコンティグに対してより正確な結果を提供し、完全性推定において優れた性能を示した。
インストール
git clone https://github.com/ChengPENG-wolf/ViralQC.git
cd ViralQC
mamba env create -f viralqc.yaml -n viralqc
conda activate viralqc
> python viralqc.py -h
usage: ViralQC [-h] {download_database,contamination,completeness} ...
ViralQC is a python library for quality assessment of assembled viral contigs or bins. ViralQC contains two primary modules. The contamination detection module identifies and removes non-viral regions within viral contigs. The completeness
module evaluates the expected genome length and calculates the completeness of the viral contigs.
> python viralqc.py download_database -h
usage: ViralQC download_database [-h] [--db DB]
optional arguments:
-h, --help show this help message and exit
--db DB The path to save the database.
> python viralqc.py contamination -h
usage: ViralQC contamination [-h] [--input INPUT] [--db DB] [--output OUTPUT] [--threads THREADS]
optional arguments:
-h, --help show this help message and exit
--input INPUT, -i INPUT
The path to the input fasta file.
--db DB, -d DB The path to the database.
--output OUTPUT, -o OUTPUT
Output directory.
--threads THREADS, -t THREADS
Number of threads.
> python viralqc.py completeness -h
usage: ViralQC completeness [-h] [--input INPUT] [--db DB] [--output OUTPUT] [--threads THREADS] [--bin]
optional arguments:
-h, --help show this help message and exit
--input INPUT, -i INPUT
The path to the input fasta file.
--db DB, -d DB The path to the database.
--output OUTPUT, -o OUTPUT
Output directory.
--threads THREADS, -t THREADS
Number of threads.
--bin, -b Evaluate the completeness of bins.
positional arguments:
{download_database,contamination,completeness}
download_database Download the database of ViralQC.
contamination Detect and remove contamination in viral contigs.
completeness Evaluate the completeness of viral contigs.
optional arguments:
-h, --help show this help message and exit
データベース
python viralqc.py download_database --db /path/to/db

DB指定時はこのコマンドで出来たディレクトリ中のdb/まで指定する。
実行方法
1、汚染評価。汚染評価にはGPUを使うことが推奨されている。推定ゲノムコンティグ配列と出力ディレクトリを指定する。
python viralqc.py contamination -i INPUT.fna -o outdir -d DATABASE -t 12
- -i INPUT The path to the input fasta file.
- -d DB The path to the database.
- -o OUTPUT Output directory.
- -t THREADS Number of threads.
2,完全性評価
python viralqc.py completeness -i INPUT.fna -o outdir -d DATABASE -t 12
出力例
outdir/

completeness_result.csv

引用
ViralQC: A Tool for Assessing Completeness and Contamination of Predicted Viral Contigs
Cheng Peng, Jiayu Shang, Jiaojiao Guan, Yanni Sun
arXiv, Submitted on 8 Apr 2025
関連