ナノポアシークエンシングによるウイルスゲノムの検出と解析は、病原体アウトブレイクのサーベイランスにおいて大きな可能性を示している。しかし、ナノポアシーケンスをサポートするウイルス検出パイプラインの数は非常に限られている。この論文では、NanoporeまたはIlluminaシーケンス入力からウイルスゲノムを検出するための新しいパイプラインであるVirPipeを紹介する。VirPipeのソースコードとドキュメントは、https://github.com/KijinKims/VirPipe から自由にダウンロードできる。PythonとNextflowで実装されている。
https://github.com/KijinKims/VirPipe/wiki
リファレンスマッピングモジュールでは、Minimap2を使ってリードを与えられた各ウイルスゲノムにマッピングし、マッピング結果をQualimap(紹介)でレポートされる。
分類学的分類モジュールでは、NanoporeまたはIlluminaリードに対して、それぞれCentrifugeまたはKraken2によってリードが分類学的に分類される。NanoporeまたはIlluminaリードは、FlyeまたはSPAdes(Bankevich et al.2012)によりde novoアセンブルされる。追加のポリッシングステップはNanoporeリードから作成されたコンティグに対してのみ実行されエラー修正される。アセンブルされたコンティグの最も近いリファレンスは、BLAST+によりもっとも近いリファレンスと照会される(論文図1)。
インストール
VirPipeは、dockerコンテナと、コンテナに含まれるnextflowスクリプトにパラメータを転送するラッパープログラムで構成される。dockerイメージをビルドする必要がある。マニュアル通り導入した(ubuntu18使用)。
git clone --recurse-submodules https://github.com/KijinKims/virpipe
cd virpipe/build_image
sudo docker build -t virpipe --build-arg USER_ID=$(id -u) --build-arg GROUP_ID=$(id -g) .
データベース
cd virpipe/
sh download_database.sh
BLAST用のref_viruses_rep_genomesデータベース、Kraken2用のk2_viralデータベース、Centrifuge用のrefseqウイルス配列で構築されたカスタムデータベース、taxonomizr用のデータベースがダウンロードされる。レポジトリでは、失敗する場合は手動で導入する方が早いかもしれないと書かれている(リンク)。
テストラン
ビルドされた docker イメージを直接使用することも出来るが、より簡単に使用できるように python ラッパーが提供されている。ラッパーはcondaパッケージマネージャでインストールできる。
mamba create -n virpipe -c skkujin virpipe -y
conda activate virpipe
cd test/
virpipe qc --image virpipe --prefix virpipe_test --platform nanopore --fastq test.fastq
出力
virpipe qcコマンドが実行され、ファイルサイズの小さなロングリードのfastqを入力としてnanoplotの分析だけが行われる。結果はnanoplotのhtmlレポートとなる。他のコマンドについてはwiki参照。"virpipe all"で全てのコマンドを一度に実行することもできる。
引用
VirPipe: an easy-to-use and customizable pipeline for detecting viral genomes from Nanopore sequencing
Kijin Kim, Kyungmin Park, Seonghyeon Lee, Seung-Hwan Baek, Tae-Hun Lim, Jongwoo Kim, Balachandran Manavalan, Jin-Won Song, Won-Keun Kim
Bioinformatics, Volume 39, Issue 5, May 2023