2023/08/03 全面的に修正
2024/01/03 論文引用、タイトル修正
高精度ロングリードのための新しいメタゲノミクスアセンブラを紹介する。metaMDBGとして実装された本アプローチは、minimizer空間における高効率なde Bruijnグラフアセンブリと、ゲノムカバレッジ深度のばらつきに対応するためのmulti-k'アプローチ、および株の複雑さを単純化するための存在量ベースのフィルタリング戦略の両方を組み合わせたものである。その結果、最新のアルゴリズムよりも効率的でありながら、より優れたアセンブリ結果が得られた。MetaMDBGは、競合アセンブラよりも1.5倍から12倍高速で、様々なデータセットにおいて必要なメモリは10分の1から30分の1であった。また、最も複雑な群集において、最大2倍の高品質な環状原核生物メタゲノムアセンブリ(MAGs)が得られ、ウイルスとプラスミドの回収率も向上した。MetaMDBGは、菌株の多様性の存在に対して頑健であると同時に、豊富な生物に対して特に優れた性能を発揮する。その結果、初めて複雑な群集の大部分を、ほぼ完全なMAGとして、存在量によって効率的に再構築することが可能になった。
Very happy to present metaMDBG, a new assembler for long accurate metagenomics reads (e.g. PacBio HiFi)! https://t.co/0gsVQZFlgl
— Gaetan Benoit (@gaetan_benoit) July 13, 2023
My research works have focused on creating a scalable assembler and new techniques to adapt to the wide range of coverages found in complex metagenomes.
— Gaetan Benoit (@gaetan_benoit) July 13, 2023
Our approach especially excels in the assembly of highly abundant organisms! pic.twitter.com/TaLdoY8eKG
— Gaetan Benoit (@gaetan_benoit) July 13, 2023
インストール
ymlから環境を作って依存関係を導入し、本体をビルドしてパスを通した(ubuntu18)。
依存
Building from source
Prerequisites
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
関連
誤って論文とは異なるツールを紹介していました。教えていただきありがとうございました。