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