macでインフォマティクス

macでインフォマティクス

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

メタゲノムシーケンシングリードをアセンブリしてvirusゲノム配列を探す自動パイプライン virMine

 

 真核生物および原核生物とは対照的に、ウイルスゲノムはごく一部のみがシーケンシングされ特徴付けられている。ウイルスのメタゲノム研究は、地球上でのウイルスの多様性についての理解を深めるうえで極めて重要である。海水(Breitbart et al、2002; Yooseph et al、2007; Hurwitz&Sullivan、2013; Brum et al、2015; Coutinho et al、2017; Zeigler Allen et al、2017;レビューBrum&Sullivan、2015)、土壌(Fierer et al、2007; Zablocki et al、2014; Adriaenssens et al、2017;レビューPratama&Van Elsas、2018)、淡水 (López-Bueno et al., 2009; López-Bueno et al., 2015; Roux et al., 2012; see review Bruder et al., 2016),、およびヒト微生物叢 (e.g., Reyes et al., 2010; Minot et al., 2011; Minot et al., 2013; Pride et al., 2012; Hannigan et al., 2015; Santiago-Rodriguez et al., 2015; Miller-Ensminger et al., 2018; see review Abeles & Pride, 2014) などの多数の生息地が調査されている。 最近、ヒトの微生物叢のウイルスメンバー(レビュー、Barr、2017; Keen&Dantas、2018年参照)および海洋環境(レビュー、Breitbart et al、2018年参照)が、かつて考えられていたよりも極めて重要な役割を果たすことを明らかにした。探索された環境にかかわらず、産生された圧倒的多数のウイルス配列は、特徴付けられたウイルス種に対して配列相同性を示さない。よく研究されている海洋ウイルス群集でさえ、予測されるコード領域の60%以上が完全に新規である(Coutinho et al、2017)。

 メタゲノミクスは、遺伝子マーカー(例えば、16S rRNA遺伝子)および未培養真核生物および原核生物種のゲノムを同定するのに有益であるが(Hug et al、2016)、viromesの調査は特有の課題に直面している(Bruder et al、2016; Rose et al 、2016)。第一に、細胞生物とは異なり、ウイルスに普遍的に保存された遺伝子はない。ウイルスは高度の遺伝的多様性にまたがり、本質的にモザイクである(Hatfull、2008年)。第二に、精製ビリオンをシーケンシングするときでさえ、シーケンシングデータはしばしば非ウイルス(ホスト)DNAを含む。これは、ウイルスゲノムDNAがしばしばサンプル中の宿主細胞または他の生物よりも桁違いに少ないという事実によってさらに複雑になる。ウイルスメタゲノミクスの実験手順の開発(例えば、ConceiçãoNeto et al、2015; Hayes et al、2017; Lewandowska et al、2017)に加えて、いくつかのバイオインフォマティクスソリューションが、ウイルス配列の検出を助けるために作成されている。混合コミュニティ(例えばRoux et al、2015; Hatzopoulos、Watkins&Putonti、2016; Yamashita、Sekizuka&Kuroda、2016; Ren et al、2017; Amgarten et al、2018;総説Hurwitz et al、2018参照) ; Nooij et al、2018)。第三に、現存のウイルスデータ貯蔵所はウイルス種を十分含んでいない。したがって、細菌メタゲノム解析のためのものなどの、配列相同性を同定することに依存するツール(レビューNayfach&Pollard、2016を参照)は、viromes研究における用途が限られている。

 単一または少数のウイルス種を含有する試料からのウイルスゲノムの同定は、非ウイルス配列の大きなバックグラウンドが存在する場合でさえも比較的簡単である。そのような例は、臨床サンプルの潜在的なウイルス性病原体の検索であろう。 VIP(Li et al、2016b)、VirAmp(Wan et al、2015)、およびVirFind(Ho&Tzanetakis、2014)を含むソフトウェアツールは、そのような場合のために特別に設計された。しかしながら、それらは既知のウイルス分類群の単離に限定されている。複雑なウイルスコミュニティは、さらに大きな課題を抱えている。通常、2つのアプローチのうちの1つが取られる。第1のアプローチは、配列属性、例えばそれらのヌクレオチド使用プロファイル(Ren et al、2017)および/またはコンティグカバレッジに基づいてメタゲノムデータセットからコンティグを同定する (see reviews Sharon & Banfield, 2013; Garza & Dutilh, 2015; Sangwan, Xia & Gilbert, 2016)。第2のより頻繁に追求されている方法は、既知のウイルス配列、例えば、Phage Eco-Locator(Aziz et al、2011)、VIROME(Wommack et al、2012)、MetaVir(Roux et al、 2014)、VirSorter(Roux et al、2015)、MetaPhinder(Jurtz et al、2016)、VirusSeeker(Zhao et al、2017)、およびFastViromeExplorer(Tithi et al、2018)である。ツールMARVELは、ゲノムの特徴(遺伝子密度およびストランドシフト)および配列相同性に基づいてテールファージ配列を予測しながら、2つのアプローチを統合している(Amgarten et al、2018)。どのようなアプローチを取ったとしても、手作業によるキュレーションと検査はプロセスの中で重要なステップとなる。

 (一部略)

 ここで本著者らはメタゲノムデータセット内のウイルスゲノムの同定のためにvirMineを提示する。 virMineは発見プロセスを自動化する。生のシーケンスからクオリティチェックを経てアセンブリアノテーションを行う。 virMineには、公に利用可能なさまざまなツールとユーザー定義の基準が組み込まれている。地球上でのウイルスの多様性についての限られた知識に基づいてウイルスの「シグネチャ」を検索する以前のバイオインフォマティクスツールとは対照的に、virMineは細胞生物に利用可能な豊富な配列データを利用する。したがって、ウイルス(バクテリオファージおよび真核ウイルス)の発見は、ウイルスではないことがわかっているものを除外するプロセスを通じて行われる。次に、「非ウイルス性」ではない配列(すなわち、推定ウイルス配列)をウイルス配列のデータベースと比較する。この比較は、既知のウイルス配列と下流の分析のための新規ウイルスを表し得るものと類似の推定ウイルス配列を区別する。このツールのベータ版を用いて、尿中メタゲノムデータセットからウイルス配列を単離した(Garretto et al、2018)。ここでは、4つのケーススタディを使用してこのツールの有用性を説明する:合成データセット、gut マイクロバイオーム、尿中viromes、および淡水viromes、既知のウイルスの新型ならびに新規のウイルスゲノムの同定。

 このパイプラインは、PythonとBioPythonライブラリを使用して、既存のツールと新しいアルゴリズムを統合している(Cock et al、2009)。論文図1はvirMineが採用しているプロセスを示している。ツールの重要な側面はその柔軟性である。virMineはモジュラー設計されていて、ユーザーが個々に機能性にアクセスするか、または完全なパイプラインを実行することを可能にする。このリリースにはいくつかの方法が組み込まれている(論文表1)が、新しいツールを簡単に追加することができる。さらに、ターゲットを絞った分析を容易にするために、プログラミングの専門知識がなくてもユーザーはフィルタリングオプションとカスタマイズオプションを利用できる。

 

f:id:kazumaxneo:20190706220609j:plain

Figure 1: Overview of virMine pipeline. 論文より転載

 

 

 インストール

dockerイメージをビルドしてテストした(ホストOS macos10.12)。

本体 Github

#dockerイメージをbuildして使う。
git clone https://github.com/thatzopoulos/virMine.git
cd virMine/
docker build -t virmine .

#dockerを立ち上げてから

>python2.7 /virMine.py -h

# python2.7 /virMine.py -h

usage: virMine.py [assembly options] [filter options] [databases] -o output_path

 

optional arguments:

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

  -a {spades,metaspades,megahit,all3}, --assembler {spades,metaspades,megahit,all3}

                        Assembly method. all3 will test all three and pick the

                        best based on N50 scores (Paired-end reads only).

  -A <filename>, --assembled_contigs <filename>

                        Contigs file. Start analysis from an existing

                        assembly.

  -s <filename>, --single_reads <filename>

                        Single reads.

  -p <filename> <filename>, --paired_end_reads <filename> <filename>

                        Paired-end reads. List both read files.

  -o <directory>, --output_path <directory>

                        Directory to store all the resulting files (required)

  -t <int>, --num_threads <int>

                        Number of processors to use.

  -b {blastx,blastp}, --blast_option {blastx,blastp}

                        BLAST method to classify as viral or non-viral. Note:

                        blastp is faster.

  --version             show program's version number and exit

 

filter options:

  -m <int>, --min_contig_size <int>

                        Minimum contig size.

  -M <int>, --max_contig_size <int>

                        Maximum contig size.

  -c <int>, --min_coverage <int>

                        Minimum coverage.

  -cov <float>, --min_SPAdes_cov <float>

                        Minimum SPAdes cov value.

  -g <filename>, --genes_of_interest <filename>

                        PROTEIN sequences of interest. FASTA format. Contig

                        must contain homology to genes of interest.

 

database options:

  -v <filename>, --viral <filename>

                        Viral PROTEIN sequence collection. FASTA format.

                        (required)

  -nv <filename>, --non_viral <filename>

                        Non-viral PROTEIN sequence collection. FASTA format.

                        (required)

 

 

データベースの準備

ここではdockerイメージをランして中で行っている

#docker内で行う
docker run -itv $PWD:/data -w data virmine

#libraryがないので先に導入
pip install ftputil

#データベースダウンロードとビルド(カレントのパスは/dataとして)*1
git clone https://github.com/thatzopoulos/virMine.git
python2.7 virMine/virmine_make_dbs.py

no_phage_bact.fastaとall_viral_faa.fastaができる。 

 

 

実行方法

データベース準備ステップですでにdocker runしているとして進める。

python2.7 virMine.py -a spades \
-p pair_1.fastq pair_2.fastq \
-v all_viral_faa.fasta -nv no_phage_bact.fasta \
-o outputFolder
  • -v    Viral PROTEIN sequence collection. FASTA format (required)
  • -nv   Non-viral PROTEIN sequence collection. FASTA format (required)
  • -p     Paired-end reads. List both read files
  • -o     Directory to store all the resulting files (required)
  • -a     assembler {spades,metaspades,megahit,all3 

データが巨大だったり複雑だとspadesではヘビーになっていく。必要に応じてmegahitに切り替える。

 

 

引用

virMine: automated detection of viral sequences from complex metagenomic samples
Garretto A, Hatzopoulos T, Putonti C

PeerJ. 2019 Apr 10;7:e6695

 

関連

 

 


 

 

*1ビルドにはかなりの時間がかかるので、データベースををビルドしてから抜け、commitしてローカルに保管しておくと2回目以降使いやすい。

 

似た名前のツールがありますが別のものです。ご注意ください。

メタゲノムのファージ配列分析webサーバー VirMiner - macでインフォマティクス