メタゲノムアセンブリの品質を評価することは、信頼性の高いメタゲノムアセンブリゲノムを構築し、下流の解析を行う上で重要である。ここでは、メタゲノムアセンブリのミスアセンブリを特定し、修正するための機械学習ベースのツールであmetaMIC (https://github.com/ZhaoXM-Lab/metaMIC)を紹介する。模擬データと実データを用いたベンチマークの結果、metaMICはミスアセンブルされたコンティグを特定する際に既存のツールよりも優れた性能を発揮することがわかった。metaMICはミスアセンブルのブレークポイントをローカライズすることができ、ミスアセンブルのブレークポイントで分割してミスアセンブルを修正することで、下流のスキャフォールドやビニングの結果を改善することができる。
インストール
mamba create -n metamic python=3.9 -y
conda activate metamic
mamba install pandas numpy pysam biopython -y
mamba install -c bioconda samtools bwa jellyfish
#本体
git clone https://github.com/ZhaoXM-Lab/metaMIC.git
cd metaMIC/
python setup.py install
#errorが出たので追加で導入
pip install joblib requests scikit-learn
> metaMIC -h
$ metaMIC
usage: metaMIC [-h] ...
Reference-free Misassembly Identification and Correction of metagenomic
assemblies
optional arguments:
-h, --help show this help message and exit
metaMIC subcommands:
download_model
download model
extract_feature
Extract features from inputs.
predict Predict.
train Train model.
> metaMIC predict -h
usage: metaMIC predict [-h] -o OUTPUT -m MODE -c ASSEMBLIES [-a ASSEMBLER]
[-l MIN_LENGTH] [-s SPLIT_LENGTH] [--nb BREAK_COUNT]
[--rb BREAK_RATIO] [--at ANOMALY_THRED]
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
output directory for AIM results
-m MODE, --mode MODE Applied to single genomic/metagenomic assemblies
[meta/single]
-c ASSEMBLIES, --contig ASSEMBLIES
fasta file of assembled contigs
-a ASSEMBLER, --assembler ASSEMBLER
The assembler-specific model or user-trained model
used for assembled fasta file [MEGAHIT/IDBA_UD/[new
training model specified by users]]
-l MIN_LENGTH, --mlen MIN_LENGTH
Minimum contig length [default: 5000bp]
-s SPLIT_LENGTH, --slen SPLIT_LENGTH
Minimum length of splitted fragments [default: 1000bp]
--nb BREAK_COUNT Threshold of read breakpoint counts for correcting
misassemblies in metagenomics
--rb BREAK_RATIO Threshold of read breakpoint ratio for correcting
misassemblies in metagenomics
--at ANOMALY_THRED Threshold of anomaly score for correcting
misassemblies in metagenomics
> metaMIC train -h
usage: metaMIC train [-h] -o OUTPUT [--label LABEL] [-a ASSEMBLER]
[-t THREADS]
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
output directory for AIM results
--label LABEL Misassembly label of contigs for training assemblies
-a ASSEMBLER, --assembler ASSEMBLER
The name of the directory of the trained model.
-t THREADS, --threads THREADS
Maximum number of CPUs [default: 8]
データベース
metaMIC download_model
テストラン
cd example
sh download.sh
metaMIC extract_feature --pileup R.sphaeroides_pileup.out --bam R.sphaeroides.bam -c velvet_ctg.fasta -m single -o test
metaMIC predict -c velvet_ctg.fasta -o test -m single
出力
misassembly_breakpoint.txt
Misassembly scoreファイル
misassembly breakpointsが修正されたcontig ファイルがmetaMIC_corrected_contigs.faになります。(出力されるファイルについてはGithub参照)
contig配列数、contig配列長
実行方法
1, mapping
bwa index metatgenome_asm.fasta
bwa mem -a -t 16 metatgenome_asm.fa pair_R* | samtools view -h -q 10 -m 50 -F 4 -b | samtools sort > map.bam
samtools mpileup -C 50 -A -f metatgenome_asm.fa map.bam | awk '$3 != "N"' > pileup_file
2, mapping
#metagenome
metaMIC extract_feature --bam map.bam -c metatgenome_asm.fa -o output_dir --pileup pileup_file -m meta
metaMIC predict -c metatgenome_asm.fa -o output_dir -a MEGAHIT -m meta
#isolate genome
metaMIC extract_feature --bam map.bam -c asm.fa -o output_dir --pileup pileup_file -m single
metaMIC predict -c asm.fa -o output_dir -m single
mock assemblyを使った時の結果
新しいデータセットで利用するため、新規のトレーニングモデルを生成することもできます。レポジトリにアクセスして確認して下さい。
引用
metaMIC: reference-free Misassembly Identification and Correction of de novo metagenomic assemblies
Senying Lai, Shaojun Pan, Luis Pedro Coelho, Wei-hua Chen, Xing-Ming Zhao
Posted June 23, 2021