宏基因组03 Megahit宏基因组测序数据的拼接
Megahit是一款香港大学Tak-Wah Lam实验室开发的快速高效的宏基因拼接工具。文章发表在Bioinformatic上,目前引用304次。
本系列课程前情回顾
软件思路
组装示例
megahit -1 SRR341725_1.fastq.gz -2 SRR341725_2.fastq.gz -o SRR341725.megahit_asm
组装参数
Input options that can be specified for multiple times (supporting plain text and gz/bz2 extensions)
-1 <pe1> 双端序列中的pe1,多个样品的pe1端文件以逗号隔开,与pe2端文件一一对应
-2 <pe2> 双端序列中的pe2,多个样品的pe2端文件以逗号隔开,与pe1端文件一一对应
--12 <pe12> 逗号分隔的双端文件列表
-r/--read <se> 逗号分隔的单端文件列表
基本的组装参数:
--k-list <奇数形式> 逗号分隔的kmer大小的列表,每个数必须是15-255的奇数,每两个相邻的kmer之间的增幅是小于28);默认:[21,29,39,59,79,99,119,141]
另一种设置--k-list的方法:
--k-min <奇数> 最小的kmer大小(<= 255), 默认:[21]
--k-max <奇数> 最大的kmer大小(<= 255), 默认:[141]
--k-step <偶数> kmer每次迭代的增幅(<= 28), 默认:[12]
高级的组装参数:
--no-mercy Mercy k-mer用于宏基因组组装低覆盖序列。对于一般数据集>=30x,megahit可以使用-无怜悯选项生成更好的结果。
--low-local-ratio 定义低的局部覆盖的比率阈值 [0.2]
--max-tip-len 删除小于此值的端点[2*k]
--no-local 关闭局部组装模式
--kmin-1pass 使用1 Pass模式构建k_min的SDBG
硬件参数:
-m/--memory:SdBG 图构建过程中占用的最大内存字节数(如果设置为0-1,表示硬件内存的百分比。默认0.9)
##内存越大,运行速度越快
--mem-flag:SdBG 图构建时的内存占用模式。0表示占用最小内存,1表示占用适中的内存; 2,使用所有内存。
--use-gpu:是否使用GPU
--gpu-mem:GPU占用的内存
-t/--num-cpu-threads:使用的CPU线程数, 如果GPU允许激活,最少设置为2。
输出参数:
-o/--out-dir <字符型> 输出的文件夹
--out-prefix <字符型> 输出文件名的前缀
--min-contig-le <整型> 输出的contig的最小长度
--keep-tmp-files 保存所有的临时文件
--tmp-dir <字符型> 临时文件存放的文件夹
输出文件:
kK.contigs.fa 包含从de Bruijn-kmer中组装的contig,它们可以转换为SPAdes-like的fastg文件以进行可视化。
kK.addi.fa 包含迭代删除de Bruijn阶图中的局部低覆盖率的unitigs后组装的contig。
kK.local.fa 包含k=K的局部组装的contig。
kK.final.contigs.fa 包含独立的k=k的contig;如果打开局部组装,文件将为空。
Choosing k
MEGAHIT uses multiple k-mer strategy. Minimum k, maximum k and the step for iteration can be set by options —k-min, —k-max and —k-step respectively.
k must be odd numbers while the step must be an even number.
for ultra complex metagenomics data such as soil, a larger kmin, say 27, is
recommended to reduce the complexity of the de Bruijn graph. Quality trimming is also recommended
for high-depth generic data, large —k-min (25 to 31) is recommended
smaller —k-step, say 10, is more friendly to low-coverage datasets
Filtering (kmin+1)-mer
(kmin+1)-mer with multiplicity lower than d (default 2, specified by —min-count option) will be discarded. You should be cautious to set d less than 2, which will lead to a much larger and noisy graph. ==We recommend using the default value 2 for metagenomics assembly==. If you want to use MEGAHIT to do generic assemblies, please change this value according to the sequencing depth. (recommend —min-count 3 for >40x).
Mercy k-mer
This is specially designed for metagenomics assembly to recover low coverage sequence. For generic dataset >= 30x, MEGAHIT may generate better results with --no-mercy
option.
k-min 1pass mode
This mode can be activated by option —kmin-1pass. It is more memory efficient for ultra low-depth datasets, such as soil metagenomics data.