macでインフォマティクス

macでインフォマティクス

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

マッピングベースのメタゲノム存在量プロファイリングを行う MiCoP

 

 微生物は、土壌、海水、人体など、地球上のほとんどすべての生態系に遍在している。単細胞生物はこれらの環境のそれぞれにおいて多くの重要な役割を果たしている[ref.1、2]。サンプル中に存在する微生物を特定することは、これらの生物によってどのような機能が実行されているのかを理解し、微生物群集の乱れがどのように様々な疾患につながるかを特徴付けるために重要である。伝統的に、微生物は培養ベースの技術によって研究されてきた。そこで、微生物は単離され、そして実験室環境で個々に研究されてきた。しかし、多くの微生物は培養できないことはよく知られている。それゆえ、それらは実験室環境で研究することはできない[ref.3]。さらに、実験室環境で微生物を研究する技術は、それらの自然の生息地における数百から数千の異なる微生物種間の複雑な関係を捉えることができない[ref.1、2]。ハイスループットシークエンシングは、微生物環境研究に革命をもたらし、宿主環境から直接何千もの微生物ゲノムの研究を可能にし、メタゲノミクスの分野を形成した。このアプローチは、伝統的な培養に依存するバイアスを回避し、人のさまざまな組織や自然の生息地における微生物群集の構成の研究を可能にする[ref.1、2]。メタゲノムプロファイリングは、16SリボソームRNA遺伝子シーケンシングを用いて、以前はバイアスのない方法で研究が不可能であった、真核生物およびウイルス病原体を含む様々な微生物を研究するために有用であることが証明された[ref.4、5、6]。

 マイクロバイオームと人の健康に影響を与える「 virome」と「eukaryome」の決定的な重要性にもかかわらず、ほとんどのメタゲノムプロファイリング方法は主にバクテリア古細菌の同定に焦点を合わせている[ref.7、8]。メタゲノムプロファイリングのためのいくつかの既存の方法は、特定の種に由来するものとしてリードをユニークに識別する「マーカー遺伝子」を使用することを提案した。この方法は、サンプル中のバクテリア古細菌の存在と相対的存在量を推定するのに効率的で正確であることが示されている[ref.9、10、11]。しかしながら、マーカー遺伝子に基づくアプローチは、ウイルスおよび真核生物ゲノムの同定に関していくつかの制限を有する。一つのアプローチは、「普遍的」と見なされるが種間で異なる遺伝子の違いを比較することを含む。このアプローチでは、そのマーカー遺伝子の特定の配列を示し、したがって種を一意に識別するリードを使用する[ref.9]。しかしながら、これはウイルスにとって問題が多く、それらは大部分新規の配列からなりそして単一の遺伝子を共有してはいない[ref.2、12、13]。別のアプローチでは、特定のクレードを一意に識別する配列[ref.10、11]を使用するが、ゲノムのこれら特定の領域にマッピングされる比較的少数のリードしか使用できず[ref.14]、感度が低下する[ref.15]。これは真核生物のゲノムにとって特に問題であり、それは通常長く、そして大部分が非コード領域から成り、不十分なリード利用をもたらす[ref.5、16、17]。 k-merに基づく最近のアプローチはこれらの問題を克服し、実行時間を劇的に改善した[ref.14、18]。しかしながら、これらのアプローチは、k-merの完全一致を必要とするために感度の低下を示す[ref.15、19]。さらに、それらはしばしば100GBを超える大量のメモリ使用量を要求し、多くのユーザはこれを利用できない[ref.20]。最後に、k-merベースの方法は、サンプルに実際には存在しない多数の低存在量種を予測してしまうことが観察されている[ref.15]。

 本稿では、MiCoP(Microbiome Community Profiling)を紹介する。これは、ウイルスと真核生物を高い精度と感度でプロファイリングできる計算方法である。これは高速マッピングベースのアプローチを利用することによって上記の問題を克服する。すなわち、リード使用率が高く、ウイルスや真核生物に対するバイアスを避け、そして存在量の少ない種に敏感である。マッピングベースのアプローチは、一般的なゴールドスタンダードの方法であるMegablast [ref.21]よりもさらに高い感度を持つことが観察されているが、マッピングベースのアプローチの速度とメモリ使用量に関する懸念があった[ref.22]。我々(著者ら)は、より小さなウイルスおよび真核生物の参照データベースを使用するとき、マッピングベースのアプローチが実行可能かつ好ましいことを実証する。

 まずBWA-MEMを使用してリードをリファレンスゲノムにマッピングし、次に2段階リードアサインメントプロセスを適用する。 BWA-MEMマッピングの結果から、一意にマッピングされたリードが直ちに割り当てられ、続いて、一意にマッピングされたリードの分布に基づいてマルチマッピングされたリードが確率的にゲノムに割り当てられる。各ゲノムにマッピングされたリードの数を計算し、ゲノムの長さで正規化することによって、種の存在量の推定を行う。 MiCoPはリードをリファレンスデータベースの特定のゲノムにマッピングするので、例えば、種からの異なる株またはクロモソームがリファレンスデータベースに別々にリストされている場合、それは種レベルよりも細かい粒度で微生物を検出することができる。本著者らは、その存在量推定パフォーマンスを2つの最も一般的な方法MetaPhlAn2 [ref.11]とKraken [ref.14]と比較することによって検証する。ウイルスおよび真核生物ゲノムからの模擬リードを使い改善された結果を実証し、MiCoPが以前に使用された方法よりもHuman Microbiome Projectデータでより多くのウイルスおよび真核生物を識別できることを示す。


f:id:kazumaxneo:20190714235132p:plain

MiCoP workflow.  論文より転載。

 


インストール

ubuntu16.04のminiconda3.4.0.5環境でテストした。

本体 GIthub

git clone https://github.com/smangul1/MiCoP.git
cd MiCoP/

#データベースのダウンロードとビルド
# Setup will download about 8.4 GB of data
./setup.sh

python run-bwa.py -h

$ python run-bwa.py -h

python: can't open file 'run-bwa.py-h': [Errno 2] No such file or directory

(ppr_meta) kazu@kazu:/media/kazu/1/MiCoP$ python run-bwa.py -h

usage: run-bwa.py [-h] [--fungi] [--virus] [--output OUTPUT] [--paired]

                  reads [reads ...]

 

Run BWA mem for viruses or fungi.

 

positional arguments:

  reads            Reads to run BWA on. One or two files, depending on single

                   or paired end. Required.

 

optional arguments:

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

  --fungi          Run BWA on fungi. This or --virus required.

  --virus          Run BWA on viruses. This or --fungi required.

  --output OUTPUT  Where to output BWA results to.

  --paired         Treat input reads file as interleaved paired end reads.

> python compute-abundances.py -h

$ python compute-abundances.py -h

usage: compute-abundances.py [-h] [--abundance_cutoff ABUNDANCE_CUTOFF]

                             [--fungi] [--min_map MIN_MAP] [--max_ed MAX_ED]

                             [--normalize {True,False}] [--output OUTPUT]

                             [--pct_id PCT_ID] [--read_cutoff READ_CUTOFF]

                             [--virus]

                             sam

 

Compute abundance estimations for species in a sample.

 

positional arguments:

  sam                   .sam file or file with list of SAM files to process.

                        Required.

 

optional arguments:

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

  --abundance_cutoff ABUNDANCE_CUTOFF

                        Organism abundance to count it as present.

  --fungi               Profile fungi.

  --min_map MIN_MAP     Minimum bases mapped to count a hit.

  --max_ed MAX_ED       Maximum edit distance from a reference to count a hit.

  --normalize {True,False}

                        Normalize species abundance by genome length or not.

                        Default: True

  --output OUTPUT       Output abundances file. Default: abundances.txt

  --pct_id PCT_ID       Minimum percent identity from reference to count a

                        hit.

  --read_cutoff READ_CUTOFF

                        Number of reads to count an organism as present.

  --virus               Profile viruses.

 

実行方法

1、データベースへのマッピング。virusかfiungiかを選択する。

#single-end
python run-bwa.py single.fq.gz [--virus OR --fungi]

#paired-end
python run-bwa.py pair_1.fq.gz pair_2.fq.gz [--virus OR --fungi]

#interleave
python run-bwa.py interleave.fq.gz --paired [--virus OR --fungi]

alignments.samが出力される。 

 

2、abundance profiling。--virusか--fungiを指定する(step1と同じ方を選ぶ)。

python compute-abundances.py alignments.sam [--virus OR --fungi]

出力

f:id:kazumaxneo:20190715035000p:plain


 

引用

MiCoP: microbial community profiling method for detecting viral and fungal organisms in metagenomic samples

Nathan LaPierre, Serghei Mangul, Mohammed Alser, Igor Mandric, Nicholas C. Wu, David Koslicki, Eleazar Eskin
BMC Genomics 2019 20 (Suppl 5) :423