生信喵 发表于 2023-4-27 21:49:40

metawrap案例

一、下载案例数据
mkdir RAW_READS;cd RAW_READS
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011347/ERR011347_1.fastq.gz
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011347/ERR011347_2.fastq.gz

axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011348/ERR011348_1.fastq.gz
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011348/ERR011348_2.fastq.gz

axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011349/ERR011349_1.fastq.gz
axel -n 100 http://ftp.sra.ebi.ac.uk/vol1/fastq/ERR011/ERR011349/ERR011349_2.fastq.gz
#解压缩
gunzip *.gz
二、软件使用
模块介绍: https://github.com/bxlab/metaWRAP/blob/master/Module_descriptions.md
使用说明: https://github.com/bxlab/metaWRAP/blob/master/Usage_tutorial.md1 Read_qc 质控以及去除宿
       该模块可以用于数据质控过滤以及去除参考基因组。输入 illumina 测序 reads。
默认使用 Trim-galore 进行切出 adapter 以及低质量 reads。然后比对至人基因组,使用软件为 bmtagger,去除宿主。 最后使用 FASTQC 生成质控报告。

#脚本~/miniconda3/envs/metawrap-env/bin/metawrap-modules/

mkdir READ_QC
metawrap read_qc -1 RAW_READS/ERR011347_1.fastq -2 RAW_READS/ERR011347_2.fastq -t 24 -o READ_QC/ERR011347
metawrap read_qc -1 RAW_READS/ERR011348_1.fastq -2 RAW_READS/ERR011348_2.fastq -t 24 -o READ_QC/ERR011348
metawrap read_qc -1 RAW_READS/ERR011349_1.fastq -2 RAW_READS/ERR011349_2.fastq -t 24 -o READ_QC/ERR011349       循环处理多样品,编辑1qc.sh
#! /bin/bash

for F in RAW_READS/*_1.fastq; do
        R=${F%_*}_2.fastq
        BASE=${F##*/}
        SAMPLE=${BASE%_*}
        metawrap read_qc -1 $F -2 $R -t 24 -o READ_QC/$SAMPLE
done       

bsub -q fat -n 24 -o %J.log -e %J.err sh 1qc.sh       查看报告,每个样品中post-QC_report以及pre-QC_report目录
       转移处理过的reads

mkdir CLEAN_READS
for i in READ_QC/*; do
        b=${i#*/}
        mv ${i}/final_pure_reads_1.fastq CLEAN_READS/${b}_1.fastq
        mv ${i}/final_pure_reads_2.fastq CLEAN_READS/${b}_2.fastq
done2 基因组拼接
       组装模块包含 metaSPAdes 与 MegaHit (默认)两个组装软件。 metaSPAdes 的结果适合大部分样品,而 megahit 更加节省内存,运行更快,适合更大的数据集。为了简化参数的设置,megahit 会重新对组装结果根据长度进行排序,并修改 ID。最后将长度小于 1000bp 的去除掉。使用 quast 生成报告。

cat CLEAN_READS/ERR*_1.fastq > CLEAN_READS/ALL_READS_1.fastq
cat CLEAN_READS/ERR*_2.fastq > CLEAN_READS/ALL_READS_2.fastq

#编辑metaspade.sh
#! /bin/bash

metawrap assembly -1 CLEAN_READS/ALL_READS_1.fastq -2 CLEAN_READS/ALL_READS_2.fastq -m 200 -t 36 --metaspades -o ASSEMBLY
bsub -q fat -n 36 -o %J.log -e %J.err sh metaspade.sh3 kraken 物种分类
       Kraken 模块用于物种分类鉴定,之前默认使用 kraken,但是该软件消耗内存巨大,现在已经更新到 kraken2.生成的结果使用 kronagram 生成饼图。

#metawrap kraken -o KRAKEN -t 36 -s 1000000 CLEAN_READS/ERR*fastq ASSEMBLY/final_assembly.fasta

#编辑kraken2.sh
#! /bin/bash

metawrap kraken2 -o KRAKEN2 -t 36 -s 1000000 CLEAN_READS/ERR*fastq ASSEMBLY/final_assembly.fasta
bsub -q fat -n 36 -o %J.log -e %J.err sh kraken2.sh
krona 图
4 不同算法进行 binnning
       Binning 模块是 metawrap 的核心模块。软件会分别使用 MaxBin2、metaBAT2 和 CONCOCT。然后整合结果。 首先, 使用 bwa-index 对宏基因组组装结果建立索引,然后将来每个样品的测序 reads 进行比对。然后使用 samtools 进行排序和压缩,同时估计文库大小。
       metaBAT2 的 jgi_summarize_bam_contig_depths 函数用于生成 contig adundance table,然后将其转换为三个 binner 中的每一个软件的输入文件。 在 MaxBin2、 metaBAT2 和CONCOCT 使用默认设置完成 contigs 分箱后(用户也可以指定特定的分箱的软件) 。 最终的 bins 文件夹是使用格式化的 fasta 文件。 同时选择运行 CheckM 以确定分箱是否成功。CheckM 的 lineage_wf 函数用于预测必需基因并估计每个 bin 的完成和污染,并且使用自定义脚本生成每个 bin 集的易于查看的报告。

#编辑binning.sh
#! /bin/bash

metawrap binning -o INITIAL_BINNING -t 48 -a ASSEMBLY/final_assembly.fasta --metabat2 --maxbin2 --concoct CLEAN_READS/ERR*fastq
bsub -q fat -n 48 -o %J.log -e %J.err sh binning.sh

insert_sizes.txtconcoct_bins        maxbin2_binsmetabat2_binswork_files5 Bin_refinement binning 结果评估
       Bin_refinement 模块会将上一步 metabat2, maxbin2, and concoct bins 三个软件生成的 bin结果进行计算。首先将三个结果合并在一起。 如果结果超过 3 个,则可以进行分组。 例如可以将 1+2+3 一组, 4+5 一组。

       当进行结果评估时,最重要的是设置 minimum compleiton (-c) and maximum contamination (-x) parameters。这两个选项用来控制完整性和污染度。 默认最小完整度要达到 70%,最大包含污染度不超过 5%。

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
cat BIN_REFINEMENT/metawrap_50_10_bins.stats | awk '$2>50 && $3<10' | wc -l6 可视化以及提取 bins
       metaWRAP::Blobology 模块用于绘制气泡图 blobplots,也就是所有重 contigs 的 GC 与丰度图,并用系统发育信息或 bin 信息对其进行注释。
       首先,使用 Mega-BLAST 通过与 NCBI_nt 数据库进行最高置信度比对来估计每个 contig的分类。然后对该数据集建立,使用 bowtie2 进行比对。最后使用 Blobology 的gc_cov_annotate.pl 函数用于生成带有 GC、覆盖率和每个 contig 分类的 blobplot 文件。最后使用 makeblobplot 绘图。

metawrap blobology -a ASSEMBLY/final_assembly.fasta -t 96 -o BLOBOLOGY --bins BIN_REFINEMENT/metawrap_50_10_bins CLEAN_READS/ERR*fastq7 计算 bins 丰度
       metaWRAP::Quant_bins 模块快速估计多个样本中的 bin 丰度。 使用 Salmon 软件将每个样本的 reads 比对到组装结果。 估计每一个 scaffold 的丰度,以及 bin 的平均丰度。 每个样本中每个 bin 的平均丰度是通过取 bin 的 contig 丰度的长度加权平均值来计算的。得到最终的 bin 丰度表,并生成聚类热图来可视化样本间的 bin 丰度变化。

metawrap quant_bins -b BIN_REFINEMENT/metawrap_50_10_bins -o QUANT_BINS -a ASSEMBLY/final_assembly.fasta CLEAN_READS/ERR*fastq8 re-assemble 重新组装
       Reassemble_bins 模块用于将提纯之后得到 bin 还可以通过再组装进一步改善结果。基于原始 reads 对结果优化,只有结果更优的情况,才对结果进行更新。
       首先, 调用 bwa 比对原始序列到 bin, 提取比对上组装结果中的 reads 到单独的 fastq 文件中。 然后使用 SPAdes 重新组装,并设置选项--carefull 进行精细组装。 并删除小于 1000bp的 contig。 然后使用 CheckM 评估。

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_bins9 每个 bins 物种分类
       Classify_bins 模块采取一种保守但准确的物种分类 方法,首先,将所有 bin 中的 contigs合并到一个文件中, 然后使用 MegaBLAST 将 contigs 与 NCBI_nt 数据库进行比对。然后taxator-kt 使用比对结果来估计每个 contig 最可能的分类。最后,每个宏基因组箱的总体最可能的分类是从单个 contig 分类预测中估计的。每个 contig 的分类被添加到系统发育树中,根据 contig 的长度为每个分支添加权重。然后从根开始遍历树,仅当下一个分支的权重大于当前分支的 50% 时才下降分类等级,这表明该预测的最小置信度。一旦无法估计进一步的分类等级。
metawrap classify_bins -b BIN_REASSEMBLY/reassembled_bins -o BIN_CLASSIFICATION -t 4810 Annotate_bins 功能注释
       Annotate_bins 模块对每一组 bin 进行快速的功能注释,使用 PROKKA v1.12 进行功能注释。PROKKA 会使用多种软件进行预测包括: BLAST、 HMMER、 Aragorn、 Prodigal、 tbl2asn 和Infernal。注释过程对于全部 bin 进行并行计算, 对于每个 bin, 最终返回一个 GFF 格式的注释文件,以及两个带有未翻译和已翻译基因的 fasta 文件。

metaWRAP annotate_bins -o FUNCT_ANNOT -t 96 -b BIN_REASSEMBLY/reassembled_bins/
页: [1]
查看完整版本: metawrap案例