Published at 2021-04-09 17:48
Author:zhanpc
View:3402
基因组组装或者宏基因组分箱 (binning) 获得的草图数据,首先需要评估其质量,包括基因组完整度、污染度、序列分布等信息。最用的软件有 CheckM。
CheckM 提供了一系列工具用于评估从分离培养、单细胞、宏基因组获得的基因组质量,可以根据基因组在参考基因组发育树中的位置来推断其精确的单拷贝标记基因集 (lineage-specific marker set),同时也提供数据库可用的基于分类学的基因集 (taxonomic-specific marker set)。
CheckM 利用基因的单拷贝性来有效的估计基因组完整度和污染可能性,同时能绘制基因组关键特征 (例如:GC含量) 的图像来评估基因组的质量。
还可以进一步从每一个分箱中找出16S rRNA基因,以便于后续对所拼装达到的菌种的分类信息进行鉴定。
CheckM 所需要的软件包括:
推荐使用pip安装CheckM:
pip3 install numpy
pip3 install matplotlib
pip3 install pysam
#如果已安装可以忽略以上步骤
pip3 install checkm-genome
或通过conda安装:
conda install -c bioconda checkm-genome
主程序安装完成后,下载数据库并设置数据库路径:
wget -c https://data.ace.uq.edu.au/public/CheckM_databases/checkm_data_2015_01_16.tar.gz
tar -zxvf checkm_data_2015_01_16.tar.gz
checkm data setRoot $PATH/checkm_data
Lineage-specific marker set:
tree # 将bins放入参考基因组发育树
tree_qa #评估每个bin里的系统发育标记基因
lineage_set # 推断每个bin的标记基因集
Taxonomic-specific marker set:
taxon_list # 列出数据库可用的不同分类水平列表
taxon_set # 指定一个分类水平制作基因集
Apply marker set to genome bins:
analyze # 识别bins中的标记基因
qa # 评估bins完整度和污染度
lineage_wf #世系特异性,运行tree、lineage_set、analyze、qa
taxonomy_wf #物种分类特异性,运行taxon_set、analyze、qa
基本运行方法如下:
[user@server ~]# checkm lineage_wf <bin folder> <output folder>
# 其中 bin folder 为含有 bins 序列的路径, output folder 为结果文件路径名称(程序自动创建),如果所获得的 draft 基因组都是属于某个已知分类单元,那么使用基于分类学的方法更加便捷。
[user@server ~]# checkm taxonomy_wf <rank> <taxon> <bin folder> <output folder>
#其中 rank 为分类层级例如 phylum , taxon 为分类单元例如 Cyanobacteria 。
unbinned #识别没有被分装(unbinned)的序列
coverage #计算序列的coverage
tetra #计算每条序列的四核苷酸频率
profile #计算map到每个bin的reads的百分率,可用比较bins丰度
join_tables #将tab分割的不同bin信息表文件整合
ssu_finder #识别序列中的核糖体小亚基RNA(SSU rRNAs),也即16S/18S
gc_plot: # 绘制每个bin的不同序列GC含量分布直方图及误差图
coding_plot:# 绘制每个bin序列的编码密度(coding density,CD)直方图及误差图
tetra_plot: # 绘制bin每条序列与bin平均四核苷酸频率的距离(tetranucleotide distance,TD)直方图及误差图
dist_plot: # 将以上三个图形绘制在一起
nx_plot: # 评估每个bin的拼接程度(x=0.5即为基因组评估的N50)
marker_plot: # marker基因在序列中的位置
len_hist: # 每个bin序列长度直方图
[user@server ~]# checkm lineage_wf -t 20 -x fa --nt --tab_table -f bins_qa.txt bin_dir output_dir
参数说明:
- -x # 指定bins文件的拓展名,输入路径中其他拓展名的文件将被忽略;
- --nt # 输出每个bin中的基因序列 (调用prodigal软件进行预测);
- -f # 将默认输出到标准输出的评估结果储存到指定结果文件;
- -t # 计算线程数;
- --tab_table # 结果文件中表格形式的结果以tab
分隔
- bin_dir # bins所在文件夹
- output_dir # 结果输出文件夹
如输入文件为基于bin序列而的蛋白序列,则执行如下指令,
[user@server ~]# checkm lineage_wf --genes -t 20 -x faa --nt --tab_table -f bins_qa.txt bin_dir output_dir
其中bins_qa.txt文件内容包含 bin 的谱系、基因组基因数目、 marker 基因数目、完整度、污染度等信息。
在output_dir目录中,将生成bins
目录 (保存每个bin预测基因序列) 和storage
目录 (每个bin详细的评估信息),以及checkm.log和lineage.ms文件。
在storage
目录中包含:
[user@server ~]# checkm tetra seq_file output_file
CheckM首先基于完整的已测序细菌基因组作为参考基因组,构建基因组的进化树,构建每个谱系(可以理解为一类物种)的单拷贝基因集(管家基因)(single copy genes,SCGs,为什么是单拷贝?因为这样可以开展基因组混合程度、污染程度等的评估)。在使用时,将我们的Bin与参考基因组一起建树,基于进化关系找到Bin的参考物种,然后结合参考物种的单拷贝基因集,计算两个重要指标
Completeness,完整度,Bin基因与对应SCGs相比,基因数量是否完整,取值[0,100%],数值越大,表示Bin质量越好; Contamination,污染度,Bin基因包含多个物种的SCGs,即一个Bin存在多个物种的程度,取值[0,100%],数值越小,表示Bin质量越好。
获得每个bin的污染度、完整度信息后,挑选高质量的bin进行物种、功能注释。再后续分析中,并没有固定标准。需要的数量多,则放宽阈值;需要的数量少,则提升阈值。其中,最常用的指标是污染度小于10%,且完整度大于80%。大家可以在这个基础上上下调整。
Parks DH, Imelfort M, Skennerton CT, Hugenholtz P, Tyson GW. CheckM: assessing the quality of microbial genomes recovered from isolates, single cells, and metagenomes. Genome Res. 2015 Jul;25(7):1043-55. DOI: 10.1101/gr.186072.114.