macでインフォマティクス

macでインフォマティクス

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

minimizer空間でメタゲノムのアセンブリを行う metaMDBG

2023/08/03 全面的に修正

2024/01/03 論文引用、タイトル修正

 

 高精度ロングリードのための新しいメタゲノミクスアセンブラを紹介する。metaMDBGとして実装された本アプローチは、minimizer空間における高効率なde Bruijnグラフアセンブリと、ゲノムカバレッジ深度のばらつきに対応するためのmulti-k'アプローチ、および株の複雑さを単純化するための存在量ベースのフィルタリング戦略の両方を組み合わせたものである。その結果、最新のアルゴリズムよりも効率的でありながら、より優れたアセンブリ結果が得られた。MetaMDBGは、競合アセンブラよりも1.5倍から12倍高速で、様々なデータセットにおいて必要なメモリは10分の1から30分の1であった。また、最も複雑な群集において、最大2倍の高品質な環状原核生物メタゲノムアセンブリ(MAGs)が得られ、ウイルスとプラスミドの回収率も向上した。MetaMDBGは、菌株の多様性の存在に対して頑健であると同時に、豊富な生物に対して特に優れた性能を発揮する。その結果、初めて複雑な群集の大部分を、ほぼ完全なMAGとして、存在量によって効率的に再構築することが可能になった。

 

 

インストール

ymlから環境を作って依存関係を導入し、本体をビルドしてパスを通した(ubuntu18)。

依存

Building from source
Prerequisites

  • gcc 9.4+
  • cmake 3.10+
  • zlib
  • openmp
  • minimap2 2.24+
  • wfmash
  • samtools 1.6+ (using htslib)

Github

git clone https://github.com/GaetanBenoitDev/metaMDBG.git
cd metaMDBG
mamba env create -f conda_env.yml
conda activate metaMDBG
mamba env config vars set CPATH=${CONDA_PREFIX}/include:${CPATH} #再アクティベートさせる必要がある
conda deactivate
conda activate metaMDBG

#metaMDBGのビルド
mkdir build
cd build
cmake ..
make -j 3
export PATH=$PATH:./bin

#conda (試してません)
mamba install -c conda-forge -c bioconda metamdbg

> metaMDBG

$ ./metaMDBG

 Program: metaMDBG (assembly of long and accurate metagenomics reads)

 Version: 0.3

 Contact: Gaëtan Benoit (gaetanbenoitdev@gmail.com)

 

 Usage: ./metaMDBG [command]

 

 command:

     asm      : perform read assembly

     polish   : polish contigs

     derep    : purge strain duplication

     gfa      : generate an assembly graph (.gfa). Require a finished

metaMDBG run

 

> metaMDBG asm

  Usage:  metaMDBG asm outputDir reads... {OPTIONS}

 

  OPTIONS:

 

      outputDir     Output dir for contigs and temporary files

      reads...      Read filename(s) (separated by space)

      -k            Minimizer length [13]

      -d            Minimizer density [0.005]

      -m            Stop assembly when reaching this k-mer length in

bps (e.g. 5000) [0]

      -n            Maximum read coverage used for contig correction

(increase for better correction) [50]

      -l            Use contigs with length > l as references for

strain duplication purging [1000000]

      -i            Minimum identity for strain purging (0-1) [0.99]

      --nofilter    Disable unique kminmer filter prior to graph construction

      -t            Number of cores [1]

 

> metaMDBG polish

  Usage:  metaMDBG polish contigs outputDir reads... {OPTIONS}

 

  OPTIONS:

 

      contigs       Contig filename to be corrected

      outputDir     Output dir for contigs and temporary files

      reads...      Read filename(s) used for correction (separated by space)

      -n            Maximum read coverage used for contig correction

(increase for better correction) [0]

      --noqual      Do not use qualities during correction

      -t            Number of cores [1]

 

> metaMDBG derep

  Usage:  metaMDBG derep contigs outputFilename outputDir {OPTIONS}

 

  OPTIONS:

 

      contigs       Input contig filename

      outputFilename

                    Output contig filename

      outputDir     Output dir for temporary files

      -l            Use contigs with length > l as reference for

strain duplication purging [1000000]

      -i            Minimum identity for strain purging (0-1) [0.99]

      -t            Number of cores [1]

      --containedOnly

      --cutinternal

      --nodump

 

> metaMDBG gfa

  Usage:  metaMDBG gfa assemblyDir k {OPTIONS}

 

  OPTIONS:

 

      assemblyDir   Output dir of a metaMDBG run

      k             Generate assembly graph for this k-min-mer size

value (set to 0 to display available k values and corresponding length

in bps)

      --contigpath  Generate path of contigs in the assembly graph

      --readpath    Generate path of reads in the assembly graph

      -t            Number of cores [1]

 

 

 

実行方法

1、De novoアセンブリ

出力ディレクトリ、HiFiロングリードの順に指定する。複数サンプルのco-assemblyにも対応している。使用スレッド数は20とした。

#single assembly
metaMDBG asm outdir reads.fastq.gz -t 20

#co-assembly
metaMDBG asm outdir reads_A.fastq.gz reads_B.fastq.gz reads_C.fastq.gz -t 20

outdir/

アセンブリファイルのコンティグヘッダーには、推定カバレッジ、環状か線状どうかなどのコンティグ情報;"l" (linear)、"c" (circular)、"rc" (rescued circular)が記録されている。

 

2、任意でアセンブリグラフの生成(.gfa)。1の出力ディスプレイのルートとK値を指定する。

metaMDBG gfa outdir k --contigpath --readpath

k値はoutdir/tmp/passs_k<INT>に対応するk値だと思うが、存在しないファイル”unitigs.fasta.gz"を要求され、上手くランできなかった。

 

3、ポリッシング(研磨)。

1の出力を指定して、さらに精度を上げることができる。Raconと同じ方法が使用されているが低メモリ使用量とされる。リード、出力ディレクトリの順に指定する。使用スレッド数は20とした。

#ここではペアエンドショートリードを指定
metaMDBG polish assembly.fasta.gz polished reads_1.fastq.gz reads_2.fastq.gz -t 20

polished/

 

 

マニュアルより

  • 長い環状コンティグは完全である可能性が高い。救出された環状コンティグ(rc)は完全である可能性が高いが、保証されているわけではない。さらに検証することが推奨される。

引用

Efficient High-Quality Metagenome Assembly from Long Accurate Reads using Minimizer-space de Bruijn Graphs

Gaëtan Benoit, Sébastien Raguideau, Robert James, Adam M. Phillippy,  View ORCID ProfileRayan Chikhi, Christopher Quince

bioRxiv, Posted July 08, 2023

 

2024/01/03

High-quality metagenome assembly from long accurate reads with metaMDBG
Gaëtan Benoit, Sébastien Raguideau, Robert James, Adam M. Phillippy, Rayan Chikhi & Christopher Quince 

Nature Biotechnology, Published: 02 January 2024

 

関連


誤って論文とは異なるツールを紹介していました。教えていただきありがとうございました。