宏基因组测序分析(八)宏基因组数据组装
2023-08-21 本文已影响0人
Bioinfor生信云
宏基因组组装
基因组组装,即把短的reads拼装成连续的序列(contig),再根据PE或者long reads等比对关系将contig拼接成scaffold。
Kmer
从一段连续序列中迭代地选取长度为K个碱基的序列,若序列的长度为L,那么可以得到L-K+1个Kmer。
组装算法
DBG:De Bruijn Graph
主要用于二代测序短reads的组装,基于Kmer的连接
OLC:Overlap Layout Consensus
多用于三代长reads组装,基于比对的Overlap结果大于阈值连接。
二代测序数据组装流程
-
构建contig:将所有小片段打成K-mer构建deBruijn图,然后会根据给定的参数对de Bruijn图做一些化简,最后连接K-mer的路径即可得到contig序列。
-
构建scaffold:将reads map到contig序列上去,利用reads之间的PE关系去判断contig之间的连接关系,得到scaffold序列。
-
补洞:将成对reads比对到scaffold序列上,确定出一条reads比上contig序列而另外一条reads落入gap区域的比对信息,利用落入同一个gap区域的reads做局部组装。
宏基因组组装挑战
-
常规组装软件适用于单个物种且覆盖度均匀的基因组,而微生物样本中不同物
种的丰度水平差异很大,导致不同物种基因组的测序深度高度不一致。宏基因
组数据集中,大多数物种的测序深度远低于单个物种组装需要的测序深度。 -
微生物群落中的不同种物种可能存在共享的高度保守基因组区域,形成“种间
重复”使得组装复杂化。 -
在一个微生物样品中,许多细菌物种是由具有不同丰度的多个相关菌株混合在
一起的,这种混合会进一步增加组装的难度。
宏基因组组装软件评估
宏基因组组装常用软件为 megahit 及 metaspades。
参考脚本
使用 megahit 进行组装:
megahit \
-1 ./A1_1.fq.gz \ # 输入,fq1
-2 ./A1_2.fq.gz \ # 输入,fq2
--min-contig-len 1000 \ # contig最小长度
--tmp-dir ./ \ # 设置tmp目录
--memory 6 \ # 内存占用
--num-cpu-threads 4 \ # 线程数
--out-dir A1_megahit \ # 输出目录
--out-prefix A1 # 输出前缀
## 多组数据组装, 输入数据逗号分隔
使用 metaspades 进行组装:
## 单组数据组装
spades.py \
--meta \ # 宏基因组模式
-t 4 \ # 线程
-k 21,33 \ # kmer
-1 ./A1_1.fq.gz \ # 输入,fq1
-2 ./A1_2.fq.gz \ # 输入,fq2
#-k 21,33,55,77 \ 多组数据组装
#--pe-1 1 ./A1_1.fq.gz \ #输入,第1组fq1
#--pe-2 1 ./A1_2.fq.gz \ #输入,第1组fq2
#--pe-1 2 ./A2_1.fq.gz \ #输入,第2组fq1
#--pe-2 2 ./A2_2.fq.gz \ #输入,第2组fq
-o A1_metaspades # 输出目录
组装结果可以使用 quast 进行汇总统计:
quast.py ./*.fa