参考官方文档:https:
metawrap安装:
metawrap数据库准备:
一什么是metawrap
MetaWRAP 旨在成为一个易于使用的宏基因组包装套件,从头到尾完成宏基因组分析的核心任务:
读取质量控制、组装、可视化、分类分析、提取基因组草案(分箱)和功能注释。
MetaWRAP还提供了一种强大的混合方法,通过使用metaBAT2、CONCOCT 和 MaxBin2,从宏基因组数据中提取高质量的初步基因组(bin)。
MetaWRAP 还包括一个新颖的 bin 重组模块,通过提取属于每个 bin 的 reads
并使用更宽容的非宏基因组装器对这些 bin 进行重新组装,
从而极大地提高一组 bin 的质量。

原始数据reads-->reads质量控制-->干净的reads数据-->kraken-->krona
干净的reads数据-->Assemble组装-->分箱-->metaBAT2、MaxBin2、CONCOCT-->细化分箱-->final bins-->Blobology-->Blobplots可视化
final bins-->定量分析
final bins-->重新组装-->分类
重新组装-->注释-->功能注释
二、metawrap模块概述
1 宏基因组数据预处理模块
Read_QC: reads质量控制
Assembly: 使用metaSPAdes or MegaHit进行宏基因组组装和质量控制
Kraken/Kraken2: 对reads和contigs进行分类分析和可视化分析
2 Bin处理模块
Binning: 使用MaxBin2, metaBAT2, CONCOCT进行初始分箱
Bin_refinement: 细化分箱
Reassemble_bins: 重新分箱提高完整性和N50, 减少污染
Quant_bins: 丰度分析
Blobology: 使用blobplots可视化
Classify_bins: 对bins进行分类预测
Annotate_bins: 对bins进行功能注释
3 metawrap分析流程结构

三、metawrap使用指南
1 metawrap质量控制reads
# `metawrap read_qc`可以对reads进行质量控制
# 使用示例:
metawrap read_qc -1 RAW_READS/ERR011347_1.fastq -2 RAW_READS/ERR011347_2.fastq -t 24 -o READ_QC/ERR011347
# 参数说明
-1 -2 :输入的测序数据文件
-t 24 :指定使用线程数
-o :指定输出目录
2 metawrap组装reads
# `metawrap assembly`可以对reads进行组装
# 使用示例:
metawrap assembly -1 CLEAN_READS/ALL_READS_1.fastq -2 CLEAN_READS/ALL_READS_2.fastq -m 200 -t 96 --use-metaspades -o ASSEMBLY
# 参数说明
-1 -2 :指定输入测序数据
-m 200 :指定内存大小,默认24
-t 96 :指定线程数
--use-metaspades :使用MetaSPAdes组装器进行组装
-o :指定输出目录
3 在reads和组装上运行Kraken
基于reads和contigs进行分类和物种相关分析。
在读取上运行 kraken 将使我们了解三个样本中群落的分类组成,
而在组装上运行 kraken 将使我们了解哪些分类组比其他组组装得更好。
# 使用示例
metawrap kraken -o KRAKEN -t 96 -s 1000000 CLEAN_READS/ERR*fastq ASSEMBLY/final_assembly.fasta
4 使用binning进行分箱
# 使用`CONCOCT`、`MaxBin`和`metaBAT`的初始分箱过程将是一个耗时的步骤(尤其是 CONCOCT和MaxBin);
# metaWRAP 支持同时运行这三个算法进行分箱预测,实际上也可以分别运行每个算法的分箱模块。
# metawrap binning分箱操作过程不依赖于任何数据库,是根据数据本身特征和相似性进行的。
# 使用示例:
metawrap binning -o INITIAL_BINNING -t 48 -a ASSEMBLED/final_assembly.fasta --metabat2 --maxbin2 --concoct CLEAN_READ
# 输出文件
insert_sizes.txt
work_files
concoct_bins
maxbin2_bins
metabat2_bins
5 使用bin_refinement整合bin集
使用metawrap binning分箱得到的concoct,maxbin2,metabat2的bin集,
可以使用bin_refinement进行整合。
# 使用示例
metawrap bin_refinement -o BIN_REFINEMENT -t 96 -A INITIAL_BINNING/metabat2_bins/ -B INITIAL_BINNING/maxbin2_bins/ -C INITIAL_BINNING/concoct_bins/ -c 50 -x 10
# 代码解释
`-o` 指定输出目录
`-t 96` 指定CPU线程
`-A INITIAL_BINNING/metabat2_bins/` 第一个分箱集的路径
`-B INITIAL_BINNING/maxbin2_bins/` 第二个分箱集的路径
`-C INITIAL_BINNING/concoct_bins/` 第三个分箱集的路径
`-c 50` 指定完整度阈值
`-x 10` 指定污染度阈值
# 输出目录:
concoct_bins
concoct_bins.stats
maxbin2_bins
maxbin2_bins.stats
metabat2_bins
metabat2_bins.stats
metawrap_50_10_bins
metawrap_50_10.stats
Binning_refiner.stats
.stat 文件包含有关每个 bin 的有用信息,包括其完整性和污染情况。
6 使用 Blobology 模块可视化社区和提取的bin
# 将contig的GC含量和丰度进行散点图可视化,并对不同分箱bin进行着色。
# 使用示例
metawrap blobology -a ASSEMBLY/final_assembly.fasta -t 96 -o BLOBOLOGY --bins BIN_REFINEMENT/metawrap_50_10_bins CLEAN_READS/ERR*fastq
# 代码解释:
`-a ASSEMBLY/final_assembly.fasta` 指定了用于投影组装文件的路径
`-t 96` 要使用的 CPU 线程数
`-o BLOBOLOGY` 指定了输出结果的目录路径
`--bins BIN_REFINEMENT/metawrap_50_10_bins` 指定了要使用的分箱信息
`CLEAN_READS/ERR*fastq` 这是用于投影和分析的清洁读取文件
7 查找样本中基因组草图(bin)的丰度
我们想知道提取的基因组如何在样本中分布,以及每个样本中每个 bin 的丰度是多少。
`Quant_bin` 模块可以为我们提供这些信息。
它使用 Salmon来估计每个样本中每个支架的丰度,然后计算平均箱丰度。
运行此模块,建议使用非重新组装的bin(由Bin_Refinment模块生成的bin,而不是 Reassemble_bins模块)
# 运行示例
metawrap quant_bins -b BIN_REFINEMENT/metawrap_50_10_bins -o QUANT_BINS -a ASSEMBLY/final_assembly.fasta CLEAN_READS/ERR*fastq
# 代码解释
`-b BIN_REFINEMENT/metawrap_50_10_bins` 指定了要进行分箱定量的细化分箱数据的路径
`-o QUANT_BINS` 指定了分箱定量结果的输出目录路径
`-a ASSEMBLY/final_assembly.fasta` 指定了用于分析的宏基因组组装文件的路径
`CLEAN_READS/ERR*fastq` 用于分析的清洁读取文件
8 使用 Reassemble_bins 模块重新组装合并的 bin 集
# 使用示例
metawrap reassemble_bins -o BIN_REASSEMBLY -1 CLEAN_READS/ALL_READS_1.fastq -2 CLEAN_READS/ALL_READS_2.fastq -t 96 -m 800 -c 50 -x 10 -b BIN_REFINEMENT/metawrap_50_10_bins
# 代码解释
`-o BIN_REASSEMBLY` 指定了重新组装分箱数据的输出目录路径。
`-1 CLEAN_READS/ALL_READS_1.fastq` 指定了clean reads数据的第一部分
`-2 CLEAN_READS/ALL_READS_2.fastq` 指定了clean reads数据的第二部分
`-t 96` 用于处理的 CPU 线程数
`-m 800` 指定重新组装的最小 contig(连续序列)长度
`-c 50` 指定完整性阈值
`-x 10` 指定污染度阈值
`-b BIN_REFINEMENT/metawrap_50_10_bins` 指定了用于重新组装的分箱数据的路径
9 使用 Classify_bins 模块确定每个 bin 的分类
此模块需要 NCBI_nt 和 NCBI_tax 数据库
使用 Classify_bins 模块估计最终重新组装的 bin 的分类:
metawrap classify_bins -b BIN_REASSEMBLY/reassembled_bins -o BIN_CLASSIFICATION -t 48
# 代码解释
`-b BIN_REASSEMBLY/reassembled_bins` 指定了要进行分类的重新组装分箱的路径
`-o BIN_CLASSIFICATION` 指定了输出结果的目录路径
`-t 48` 指定用于处理的 CPU 线程数
10 使用 Annotate_bins 模块对 bin 进行功能注释
已经完成了重新组装的容器,接下来要对它们进行功能注释以进行下游功能分析。
metaWRAP annotate_bins -o FUNCT_ANNOT -t 96 -b BIN_REASSEMBLY/reassembled_bins/