macでインフォマティクス

macでインフォマティクス

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

メタゲノムをアセンブルする metaSPAdes

2024/03/23 追記

 

 メタゲノムシーケンシングは、細菌集団の分析ならびに新規な生物および遺伝子の発見のための選択技術として浮上している(Tyson et al, 2004、Venter et al, 2004、Yooseph et al, 2007、Arumugam et al, 2011)。初期のメタゲノミクス研究の1つにおいて、Venterら(2004)は複雑なSargasso Seaの微生物群集をアセンブリしようとした。しかし研究で述べられたように失敗した。メタゲノミクス研究のスペクトルの反対側で、Tysonら (2004)が少数の種から成る簡単な微生物群集のアセンブリに成功した。

 これらの画期的な研究(Tyson et al, 2004; Venter et al, 2004)は、従来のアセンブリツール、すなわちCelera(Myers et al、2000)およびJAZZ(Aparicio et al、2002)にわずかな修正を加えて使用した。それらが発表されて以来、多くの特殊なメタゲノムアセンブラが開発されてきた(Koren et al、2011; Laserson et al、2011; Peng et al、2011、2012; Boisvert et al、2012; Namiki et al、2012; Haider et al、2014; Li et al、2016)。しかしながら、バイオインフォマティシャンは、単純な微生物群集と複雑な微生物群集をアセンブリすることの間のギャップを埋めるのに依然として苦労している(総説については、Gevers et al、2012を参照 link)。一方、多くの研究者が複雑なメタゲノムからカバレッジ深度、配列構成、メイトペア情報、および他の基準に基づいて隣接配列をビンに分割してデノボアセンブリを補完する事で豊富な集団のゲノムを単離することに成功した (Hess et al. 2011; Dupont et al. 2012; Iverson et al. 2012; CL Dupont, D Kaul, A Bankevich, DB Rusch, RA Richter, J Zhang, J Stuzka, V Montel, A Young, AE Allen, in prep.) 。しかし、メタゲノムアセンブリの高い断片化は、ビニングの精度と特定のビンに起因するゲノムの連続性の両方に悪影響を及ぼすため、このアプローチはしばしば困難に直面する。したがって、より良いアセンブラの開発は、メタゲノミクスにおける重要な目標であり続ける。

 シングルセル(Kashtan et al, 2014)およびTruSeq Synthetic Long Read(TSLR)(Sharon et al, 2015)などの最近の技術の応用は、様々な微生物群落内の関連菌株の膨大なmicrodiversityを明らかにした。株はゲノム配列の大部分を共有しているが、それらはしばしば突然変異、mobile elementの挿入、ゲノムリアレンジメント、または水平方向の遺伝子導入から生じる有意な変異を有する。例えば、シングルセルシーケンシングは、wildのプロクロロコッカス(地球上で最も豊富な光合成細菌)集団が何百もの異なるsubpopulations(5%未満の位置で異なる)の「連合」として見ることができることを明らかにした(Kashtan et al link、 2014; Biller et al、2015 link)。さらに、ほぼすべての分析されたシングルセルは、同じsubpopulation由来の他の細胞には見られない少なくとも1つの遺伝子カセットを保有していた。 TSLRを使用することによって、Sharonら(2015)は堆積物サンプルの最も豊富な種が関連した数十の株によって表されることを示した。さらに、研究者らは、このmicrodiversityが、ショートリードライブラリーからの再構築の貧弱さが原因であると主張した。しかし、microdiversityは、以下で論じる多くのメタゲノムアセンブリの課題のうちの1つにすぎない。

 第一に、微生物試料中の様々な種の広く異なる存在量レベルは、異なるゲノムにわたって非常に不均一なcoverageをもたらす。さらに、典型的なメタゲノムデータセットにおける大部分の種の網羅率は、典型的な培養サンプルのシーケンシングプロジェクトと比べてはるかに低い。結果として、coverageが高くそしてかなり均一なゲノムの標準的なアセンブリ技術は、メタゲノムアセンブリで断片化とエラーを起こしやすい。

 第二に、微生物群集内の様々な種はしばしば高度に保存されたゲノム領域を共有している。アセンブリを複雑にし、コンティグを断片化することに加えて、そのような「interspecies repeats」は、ほとんどの種の低いcoverageと共に、ゲノム間アセンブリエラーを引き起こす可能性がある。

 第三に、微生物試料中の多くの細菌種は株混合物、すなわち多様な存在量を有する複数の関連株によって表される(Biller et al, 2014、Kashtan et al, 2014、Rosen et al, 2015、Sharon et al, 2015)。メタゲノミクスの分野以外の様々な研究が、高度に多型の真核生物ゲノム内で2つのhaplomes をアセンブリするという同様の課題に広く取り組んできたが (Dehal et al. 2002; Vinson et al. 2005; Donmez and Brudno 2011; Kajitani et al. 2014; Safonova et al. 2015)、多くのclosely relatedな細菌株の集まりは、独特の計算上の難題を伴う多少異なる問題である。いくつかの研究は複雑な株変異体の同定に向けた最初のステップを記載しているが(Koren et al、2011; Peng et al、2011; Nijkamp et al、2013)、一般的なメタゲノムアセンブリツール(Boisvert et al、2012; Peng et al、2012; Li et al、2016)には、依然として、高レベルのmicrodiversityを有する株混合物をアセンブリするための初歩的な手順しか含まれていない。

 メタゲノミクスの分野以外の用途ではあるが、上記の各課題はすでにSPAdesアセンブリツールキットの開発の過程で解決されていることに注意する。 SPAdesは当初、シングルセルアセンブリの重要な課題の1つである、不均一なカバレッジのデータセットアセンブリするために開発された(Bankevich et al、2012 link; Nurk et al、2013)。 SPAdesのexSPAnder repeat resolutionモジュール(Prjibelski et al, 2014、; Vasilinetc et al, 2015; Antipov et al, 2016)は、様々な技術でシーケンシングされた複数のライブラリーを組み合わせることでゲノムリピートを正確に解決するべく開発された。最後に、dipSPAdes(Safonova et al。2015)は、高度に多型の2倍体ゲノム内で2ハプローム混合物を組み立てるという課題に取り組むために開発された。

 最近開発されたこれらのSPAdesツールは、困難なアセンブリ問題に対処しているが、メタゲノムアセンブリは、データセットサイズに関して、おそらく他のほとんどのDNAシーケンスプロジェクトを邪魔するさらに困難な問題である。SPAdesはメタゲノミクス応用のために設計されていなかったという事実にもかかわらず、様々なグループがSPAdesをメタゲノミクス研究に首尾よく適用した (McLean et al. 2013; Nurk et al. 2013; Coates et al. 2014; Cotten et al. 2014; Bertin et al. 2015; García-López et al. 2015; Kleigrewe et al. 2015; Kleiner et al. 2015; Miller et al. 2016; Tsai et al. 2016; Xie et al. 2016)。しかし、実際にSPAdesはシアノバクテリアフィラメントのような複雑さの低いメタゲノムのアセンブリ(Coates et al。2014 link)やランダムに選択された少数の細菌細胞のMDA増幅混合物(Nurk et al、2013)には有効だが、複雑な細菌群集ではその性能は低下する。

 本著者らの新しいソフトウェアmetaSPAdesは、新しいアルゴリズムのアイデアとSPAdesツールキットの実績あるソリューションを組み合わせて、メタゲノムアセンブリのさまざまな課題に対処する。以下では、metaSPAdesで使用されているアルゴリズム的アプローチを説明し、最先端のメタゲノム・アセンブラIDBA-UD(Peng et al、2012)、Ray-Meta(Boisvert et al、2012)、およびMEGAHIT(Li et al、2015)と比較する。

metaSPAdesパイプラインの概要
metaSPAdesはまずSPAdesを使用してすべてのリードのde Bruijnグラフを作成し、それをさまざまなグラフ単純化手順を使用してアセンブリグラフに変換し、メタゲノム内の長いゲノムフラグメントに対応するアセンブリグラフ内のパスを再構築する(Bankevich et al、2012; Nurk et al、2013)。metaSPAdesは広範囲のカバレッジデプスにわたって機能し、アセンブリの精度と連続性の間のトレードオフを維持しようとする。Microdiversityの課題に応えて、metaSPAdesは、株混合のコンセンサスバックボーンを再構築することに焦点を当てているため、まれな株に対応する株固有の特徴を無視する。

ベンチマークの課題
ゲノムアセンブラは通常、さまざまな測定基準を使用して既知のリファレンスゲノムを持つ分離株でベンチマークされている(Salzberg et al、2012; Gurevich et al、2013)。メタゲノムアセンブラベンチマークは、さらに複雑な複雑な微生物群集で、またリファレンスメタゲノムを利用することができないため、より難しい仕事である。

 この問題に取り組むための1つのアプローチは、メタゲノム中のいくつかのゲノムのclosely relatedなゲノムを同定することに依拠している(Koren et al、2011; Treangen et al、2013)。しかし、この方法は以下の2つの理由、(1)メタゲノムにおけるclosely relatedなリファレンスゲノムはごく一部の種についてしか利用できず、(2)メタゲノムにおける同定されたリファレンスとそれらの対応物との間の相違はしばしばアセンブリエラーとして誤解される (see “Analysis of the HMP Dataset” in the Supplemental Material)、によって制限される。メタゲノミクスアセンブラベンチマークするためのもう1つのアプローチは、既知のコミュニティメンバーの合成データセットを使用することである。そのようなデータセットは、既知の細菌のゲノムの混合物のシーケンシング(Turnbaugh et al、2007; Shakya et al、2013)、単離したサンプルのシーケンシングデータを混合する(Mavromatis et al、2007)、またはリファレンス配列からシミュレートする (Richter et al. 2008; Mende et al. 2012) ことによって得ることができる。しかし、合成データセットはさまざまなベンチマークの取り組みに役立つことが証明されているが、通常、実際のメタゲノムほど複雑ではない(Koren et al、2011; Peng et al、2012)。

3つの人気のメタゲノムアセンブラIDBA-UD(Peng et al。2012)、Ray-Meta(Boisvert et al。2012)、およびMEGAHIT(Li et al。2015)を使い、多様な合成データセットとリアルデータセットを使い、metaQUAST(Mikheenko et al,

2016)によってmetaSPAdesのベンチマークを行なった。データセットは、補足資料の「データの前処理」の説明に従って前処理されている。

 

 HP

http://cab.spbu.ru/software/meta-spades/

 

 

インストール

依存

SPAdes requires a 64-bit Linux system or Mac OS and Python (supported versions are Python2: 2.4–2.7, and Python3: 3.2 and higher) to be pre-installed on it. To obtain SPAdes you can either download binaries or download source code and compile it yourself.

本体 Github

#3.13.1 linux
wget https://github.com/ablab/spades/releases/download/v3.13.1/SPAdes-3.13.1-Linux.tar.gz
tar -zxf SPAdes-3.13.1-Linux.tar.gz
cd SPAdes-3.13.1-Linux/

#3.13.1 darwin
wget https://github.com/ablab/spades/releases/download/v3.13.1/SPAdes-3.13.1-Darwin.tar.gz


#bioconda
mamba install -c bioconda -y spades

./metaspades.py 

# ./metaspades.py 

/root/.pyenv/libexec/pyenv: line 44: cd: spades.py: Not a directory

SPAdes genome assembler v3.13.1 [metaSPAdes mode]

 

Usage: ./metaspades.py [options] -o <output_dir>

 

Basic options:

-o <output_dir> directory to store all the resulting files (required)

--iontorrent this flag is required for IonTorrent data

--test runs SPAdes on toy dataset

-h/--help prints this usage message

-v/--version prints version

 

Input data:

--12 <filename> file with interlaced forward and reverse paired-end reads

-1 <filename> file with forward paired-end reads

-2 <filename> file with reverse paired-end reads

-s <filename> file with unpaired reads

--merged <filename> file with merged forward and reverse paired-end reads

--pe<#>-12 <filename> file with interlaced reads for paired-end library number <#> (<#> = 1)

--pe<#>-1 <filename> file with forward reads for paired-end library number <#> (<#> = 1)

--pe<#>-2 <filename> file with reverse reads for paired-end library number <#> (<#> = 1)

--pe<#>-s <filename> file with unpaired reads for paired-end library number <#> (<#> = 1)

--pe<#>-m <filename> file with merged reads for paired-end library number <#> (<#> = 1)

--pe<#>-<or> orientation of reads for paired-end library number <#> (<#> = 1; <or> = fr, rf, ff)

--s<#> <filename> file with unpaired reads for single reads library number <#> (<#> = 1)

--pacbio <filename> file with PacBio reads

--nanopore <filename> file with Nanopore reads

--tslr <filename> file with TSLR-contigs

 

Pipeline options:

--only-error-correction runs only read error correction (without assembling)

--only-assembler runs only assembling (without read error correction)

--continue continue run from the last available check-point

--restart-from <cp> restart run with updated options and from the specified check-point ('ec', 'as', 'k<int>', 'mc', 'last')

--disable-gzip-output forces error correction not to compress the corrected reads

--disable-rr disables repeat resolution stage of assembling

 

Advanced options:

--dataset <filename> file with dataset description in YAML format

-t/--threads <int> number of threads

[default: 16]

-m/--memory <int> RAM limit for SPAdes in Gb (terminates if exceeded)

[default: 250]

--tmp-dir <dirname> directory for temporary files

[default: <output_dir>/tmp]

-k <int,int,...> comma-separated list of k-mer sizes (must be odd and

less than 128) [default: 'auto']

--phred-offset <33 or 64> PHRED quality offset in the input reads (33 or 64)

[default: auto-detect]

 

 

実行方法

 ペアエンドfastqを指定する(singleのfastqはサポートされていない)。

metaspades.py -1 pair_R1.fq -2 pair_R2.fq -o metaspades \
-t 24 -k auto -m 250

#spadesの"-meta"modeでもランできる。
spades.py -1 pair_R1.fq -2 pair_R2.fq -o metaspades \
-t 24 -k auto -m 250 --meta
  • -1    file with forward paired-end reads
  • -2    file with reverse paired-end reads
  • -m   RAM limit for SPAdes in Gb (terminates if exceeded)
    [default: 250]
  • -k    comma-separated list of k-mer sizes (must be odd and less than 128) [default: 'auto']
  • -t    number of threads
    [default: 16]
  • --meta    this flag is required for metagenomic sample data

SPAdesとは異なり、--carefulや--cov-cutoffフラグは提供されていない。

metaspadesはアダプター配列の残存に敏感なので、適切に前処理されたデータセットを使用する。

 

  • ロングリードを使いmetaspadesでハイブリッドアセンブリを行うことはできるが、試験中でパフォーマンスは保障されていない点に注意
  • 深いシークエンシングデータだとエラーコレクションでメモリが不足しやすい。対処療法として、パフォーマンス保証は無くなるが、エラーコレクションはFMOCなど外部ツールで行い、それからmetaSPAdesを--only-assemblerをつけてエラーコレクションなしでランするとメモリ不足を回避しやすい(エラーコレクションのメモリ使用量が特に多いため)。

 引用

metaSPAdes: a new versatile metagenomic assembler

Nurk S, Meleshko D, Korobeynikov A, Pevzner PA

Genome Res. 2017 May;27(5):824-834

 

関連

 

 

複雑さの高いデータセットでは特にメモリーを要求されます。一番単純にはCPU指定数を減らせばメモリ使用量は減りますが、使用スレッドを減らしすぎると時間がかかり実効性が低くなります。複雑さの高いサンプルでは、実行時間と利用可能なメモリのバランスを考え、さらにdigital normalizationやGCsplitによる負荷の軽減、error correctionの工夫など使い分ける必要が出てきます。

 

https://www.biostars.org/p/268685/

 

追記

metaspadesとmegahitの比較と、サンプルを混ぜたアセンブリと、個別にアセンブリした時の差。Figure S7参照。

https://www.sciencedirect.com/science/article/pii/S0092867419300017