macでインフォマティクス

macでインフォマティクス

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

メタゲノムコンティグのscaffoldingを行う MetaCarvel

2021 8/23 インストール手順と実行手順を追記

 

 メタゲノムデータからゲノムセグメントを再構築することは非常に複雑な作業である。リピートやシーケンスエラーなどの一般的な課題に加えて、メタゲノムアセンブリでは、コミュニティ内の生物間のカバレッジの深さの不均一性や、ほぼ同一の株間の差異を許容する必要がある。これまでの手法では、ゲノム上のバリアントを平滑化することでこれらの問題に対処してきた。ここでは、MetaCarvelと呼ばれるバリアントを考慮したメタゲノム・スキャフォールドを発表する。このスキャフォールドは、リピート検出の新しい戦略とバリアント発見のためのグラフ解析を組み合わせたものである。MetaCarvelは、複雑な微生物の混合物からゲノムセグメントを正確に再構築し、いくつかのクラスの一般的なゲノムバリアントを正確に同定し、特徴づけることができることを示している。

 

wiki

https://github.com/marbl/MetaCarvel/wiki

MetaCarvel’s documentation

https://bambus3.readthedocs.io/en/latest/index.html

 

インストール

condaでpython3.7の仮想環境を作ってテストした。

依存

  • To run MetaCarvel, you will need Python 3.7.x, Samtools, Bedtools, Networkx(Version >= 2.5), NumPy,and OGDF.
  • libcorrectも必要

本体 Github

mamba create -n MetaCarvel python=3.7 -y
conda activate MetaCarvel
pip install numpy #(tested with version 1.20)
pip install networkx #>=2.5
mamba install -c bioconda ogdf samtools bedtools -y

git clone https://github.com/marbl/MetaCarvel.git
cd MetaCarvel/OGDF
./makeMakefile.py
make -j
cd ..
cd OGDF
make

> python run.py -h

optional arguments:

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

-a ASSEMBLY, --assembly ASSEMBLY

assembled contigs

-m MAPPING, --mapping MAPPING

mapping of read to contigs in bam format

-d DIR, --dir DIR output directory for results

-r REPEATS, --repeats REPEATS

To turn repeat detection on

-k KEEP, --keep KEEP Set this to keep temporary files in output directory

-l LENGTH, --length LENGTH

Minimum length of contigs to consider for scaffolding in base pairs (bp)

-b BSIZE, --bsize BSIZE

Minimum mate pair support between contigs to consider for scaffolding

-v VISUALIZATION, --visualization VISUALIZATION

Generate a .db file for the MetagenomeScope visualization tool

(b

 

 

実行方法

1、bamを準備する。アラインメントは、ライブラリサイズのバイアスがかからないように、ペアエンドのリードでもシングルエンドモードで実行し、bamをマージする(wiki参照)。

#build the index
bowtie2-build contigs.fasta idx

#map read1
bowtie2 -p 20 -x idx -U first.fastq.gz | samtools sort -@ 4 - > alignment_1.bam

#map read2
bowtie2 -p 20 -x idx -U second.fastq.gz | samtools sort -@ 4 - > alignment_2.bam

#merge the alignments
samtools merge -@ 4 alignment_total.bam alignment_1.bam alignment_2.bam

#sort by read names
samtools sort -@ 4 -n alignment_total.bam > alignment.bam

 

2、contigとbamファイルを指定する。

python run.py -a contigs.fasta -m alignment.bam -d output
  • -a    assembled contigs
  • -m   mapping of read to contigs in bam format
  • -d    output directory for results 

 

グラフ内の各リンクのメイトペアサポートの最小値を制限したい場合は、-bオプションを設定する(デフォルトでは3)。生成された中間ファイルを保持したい場合は、-k trueを設定する。スキャフォールディングの対象となるコンティグの最小サイズを制限したい場合は、-lオプションを設定する。MetaCarvelのグラフを使用して可視化ファイルを生成したい場合は"-v true"オプションを使用する。

python run.py -a contigs.fasta -m alignment.bam -d output -r true -k true -v true

出力

f:id:kazumaxneo:20210824211913p:plainscaffolds.faがMetaCarvelが生成したscaffold配列(fasta形式)。テストデータでは、30万ほどのcontig配列か4000ほど少ない配列が生成され、平均長20-bp、N50が120-bpほど長くなった。

 

出力について

https://github.com/marbl/MetaCarvel/wiki/5.-Interpreting-the-output

 

-v trueをセットしておくことで.dbファイルが出力される。このファイルをオーサーらが用意したwebサーバに読み込ませると視覚化できる。

MetagenomeScope Web Viewer

http://mgsc.umiacs.io/

 

デモデータ

f:id:kazumaxneo:20210824212103p:plain

拡大

f:id:kazumaxneo:20210824212124p:plain

 

 

 

テストラン

wget https://obj.umiacs.umd.edu/hmp_assemblies/metacarvel/contigs.fasta
wget https://obj.umiacs.umd.edu/hmp_assemblies/metacarvel/alignment.bam

python run.py -a contigs.fasta -m alignment.bam -d output -r true -k true -v true

 

引用

MetaCarvel: linking assembly graph motifs to biological variants
Jay Ghurye, Todd Treangen, Marcus Fedarko, W. Judson Hervey IV & Mihai Pop
Genome Biology volume 20, Article number: 174 (2019)