macでインフォマティクス

macでインフォマティクス

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

(メタゲノム向け)高効率なプロテインレベルのアセンブリツール PLASS

 

 メタゲノム研究の主な制限は、ショートリードの大部分(土壌で80% - 90%[1])を、遺伝子およびタンパク質配列の予測を可能にするのに十分な長さの連続した配列(contigs)にアセンブリすることができないことである。
 低存在量のゲノムはアセンブリが困難であり、アセンブリされていないリードは遺伝的多様性の大きな不均衡と恐らくはさらに大きな割合の生物学的新規性を含み、それはその後の分析でほとんど失われる。
 この損失を減らし、リファレンスゲノムへの依存を少なくするために、遺伝子中心のアプローチが開発されてきた。 1つの環境からの何百ものサンプルがプールされ、コンティグ内の遺伝子が予測され、95%の同一性で遺伝子カタログにまとめられられる[ref.2-5]。各サンプル中の遺伝子存在量は、リードをリファレンス遺伝子クラスターにマッピングすることによって見出される。このようにして、メタゲノムサンプルの機能的および分類学的構成、ならびにそれらの環境パラメータへの依存性を調べることができる。また、ゲノムベースの分析はビンニングによって可能になる。
 メタゲノムのショートリードの最先端のアセンブラ[ref.7 - 9]は、de-Bruijnグラフのパスとしてコンティグを見つける。このグラフは、リード内の各k-merワードと、リード内で連続して発生するk-mer間のエッジに対するノードを持っている。メタゲノムのデータでは、de-Bruijnアセンブラは、感度と選択性のトレードオフが制限されている。偽のエッジでグラフが爆発するのを避けるために、k-merは長くspecificでなければならない。しかし、集団内の多様性が高く、重複したリードがSNPによるミスマッチを含むことが多い場合、長いk-merは感度を欠く。どのk値が選択されようとも、k-merは種間で保存されているゲノム領域では十分に特異的であるには短すぎ、集団内の多様性が高い領域では十分に敏感であるには長すぎる。このジレンマはアセンブリを断片化し短くする。

 微生物集団のほとんどのSNPはコードされたタンパク質配列中のアミノ酸変化をもたらさない(補足図1)。したがって、ORFome [ref.10]およびSFA-SPA [ref.11]は、ヌクレオチドの代わりにタンパク質をアセンブリすることを提案した。しかし、それらは大規模なメタゲノムに対して実行するには遅すぎる。

 タンパク質ははるかに少なく短いリピートしか有さない。さらに、非常に類似したタンパク質配列間のキメラアセンブリ(例えば、97%以上の配列同一性)は、ゲノム中でどの遺伝子が一緒に存在するかについての誤った結論をもたらさないため、DNAベースのアセンブリでの問題を回避できる。そのため、タンパク質レベルのアセンブリでは、DNA配列ではキメラアセンブリのリスクを抑え、アセンブリできない領域のアセンブリも可能になることでカバー率が向上する。
 Plassはこれらの利点を活用してアセンブリプロセスを大幅に簡素化する。Plassはグラフフリーのgreedy iterative assembly strategyを使い、all-versus-all のオーバーラップを線形時間で計算する。これにより、単一サーバー上で巨大なリードセットをオーバーラップベースでアセンブリすることが可能になる。最も重要なことは、Plassはショートk-merのみに頼るのではなくフルアラインメントのオーバーラップを計算することによって、de-Bruijnアセンブラの特異性と感度のトレードオフの限界を克服し、複雑なメタゲノムサンプルにおいて数倍以上のタンパク質配列を回収する。
 Plassはランダムディスクアクセスを回避するためにタンパク質配列をメインメモリに格納する必要がある。そのため、入力のリードから変換されたアミノ酸ごとに1バイトのメインメモリが必要で、2〜3億の2×150 bpリードのアセンブリには〜500 GBのRAMが必要になる。これと比較すると、オーバーラップグラフのアセンブラのメモリ要件とランタイムは、処理データと超直線的に比例する。したがって、Plassは、オーバーラップグラフアセンブラの高いspecificity- sensitivityと、de-Bruijnグラフアセンブラの線形のランタイムスケーリング性能および線形のメモリスケーリング性能を組み合わせたものである。(以下略)

 Plass(Protein-Level ASSembler)は、ショートシークエンスリードを6フレームで翻訳し、タンパク質レベルでアセンブリするソフトウェアである。 Plassの主な目的は、複雑なメタゲノムデータセットアセンブリである。 Plassは土壌メタゲノムにてMegahitより10倍多いタンパク質残基をアセンブリする。 Plassは、C ++で実装され、LinuxおよびmacOSで利用可能なGPLライセンスオープンソースソフトウェアである。 ソフトウェアは複数のコア上で効率的に動作するように設計されている。 著者らは2つの冗長性フィルタリングされたリファレンスタンパク質カタログ、 640の土壌試料(SRC)からの20億の配列、および775の海洋真核生物メタトランスクリプトーム(MERC)からの292ミリオンの配列をアセンブリし、最大のタンパク質配列の無料コレクションを構築した。

 


インストール

ubuntu18.04でテストした。

Github

#bioconda 
conda install -c biocore plass

#linuxバイナリ
wget https://mmseqs.com/plass/plass-static_sse41.tar.gz; tar xvfz plass-static_sse41.tar.gz; export PATH=$(pwd)/plass/bin/:$PATH

> plass assemble

$ plass assemble

plass assemble:

Extends sequence to the left and right using ungapped alignments.

 

Please cite:

Steinegger, M. Mirdita, M., & Soding, J. Protein-level assembly increases protein sequence recovery from metagenomic samples manyfold. biorxiv, https://doi.org/10.1101/386110 (2018)

© Martin Steinegger <martin.steinegger@mpibpc.mpg.de> 

 

Usage: <i:fast(a|q)File[.gz]> | <i:fastqFile1_1[.gz] ... <i:fastqFileN_1[.gz] <i:fastqFile1_2[.gz] ... <i:fastqFileN_2[.gz]> <o:fastaFile> <tmpDir> [options]

 

align options               default   description [value range]

  -e                        0.000     Extend sequences if the E-value is below [0.0, inf]         

  --min-seq-id              0.900     Overlap sequence identity threshold [0.0, 1.0]              

 

profile options             default   description [value range]

  --num-iterations          12        Number of assembly iterations [1, inf]                      

 

misc options                default   description [value range]

  --min-length              45        minimum codon number in open reading frames                 

  --max-length              2147483647 maximum codon number in open reading frames                 

  --protein-filter-threshold 0.200     filter proteins lower than threshold [0.0,1.0]              

  --filter-proteins         1         filter proteins by a neural network [0,1]                   

 

common options              default   description [value range]

  --threads                 56        number of cores used for the computation (uses all cores by default)

  -v                        3         verbosity level: 0=nothing, 1: +errors, 2: +warnings, 3: +info

 

An extended list of options can be obtained by calling 'plass assemble -h'.

3 Database paths are required

> plass nuclassemble

$ plass nuclassemble

plass nuclassemble:

Extends sequence to the left and right using ungapped alignments.

 

Please cite:

Steinegger, M. Mirdita, M., & Soding, J. Protein-level assembly increases protein sequence recovery from metagenomic samples manyfold. biorxiv, https://doi.org/10.1101/386110 (2018)

© Martin Steinegger <martin.steinegger@mpibpc.mpg.de> 

 

Usage: <i:fast(a|q)File[.gz]> | <i:fastqFile1_1[.gz] ... <i:fastqFileN_1[.gz] <i:fastqFile1_2[.gz] ... <i:fastqFileN_2[.gz]> <o:fastaFile> <tmpDir> [options]

 

align options              default   description [value range]

  -e                       0.000     Extend sequences if the E-value is below [0.0, inf]         

  --min-seq-id             0.900     Overlap sequence identity threshold [0.0, 1.0]              

 

profile options            default   description [value range]

  --num-iterations         12        Number of assembly iterations [1, inf]                      

 

common options             default   description [value range]

  --threads                56        number of cores used for the computation (uses all cores by default)

  -v                       3         verbosity level: 0=nothing, 1: +errors, 2: +warnings, 3: +info

 

An extended list of options can be obtained by calling 'plass nuclassemble -h'.

2 Database paths are required

dockerイメージも用意されている。

 

テストラン

git clone https://github.com/soedinglab/plass.git
cd plass/examples/

 ペアエンドfastq。ラン時は作業ディレクトリを指定する。

plass assemble reads_1.fastq.gz reads_2.fastq.gz assembly.fa tmp

 シングルエンドfastq

 plass assemble reads_1.fastq.gz assembly.fa tmp

 

感想

HIseqやNovaseqクラスの複数のメタゲノムデータセットアセンブリには、準スパコンクラスのマシンとスケーリング性能が極めて高いde novoアセンブラの両方が必要なのかと考えてましたが(Extreme Scale De Novo Metagenome Assemblyの"C. Performance Results"を参照)、Preprintを読むと、PLASSは、メモリ効率の良いmegahitがsegmentation errorを起こすようなデータセットでも(プロテインの)アセンブリが可能なようです。アセンブリされたプロテインのトータルサイズも、プロテインの結果はMEGAHITの結果よりずっと長く、特に複雑性の高いデータセットで差が顕著になっています。プロテインデータベースを構築してスクリーニングする用途にも使えそうです。

引用

Protein-level assembly increases protein sequence recovery from
metagenomic samples manyfold
Martin Steinegger, Milot Mirdita, Johannes Söding

bioRxiv preprint first posted online Aug. 7, 2018

 

関連