用k-mer分析进行基因组调查:(六)用KmerGenie一步实现
时间:2022-11-28 14:30:01
(全文约1800字)
【推荐】用Smudgeplot在评估物种倍性后,使用组合jellyfish GenomeScope1.0做二倍体物种的基因组调查,用组合KMC GenomeScope2.对多倍体物种进行基因组调查。
1. k-mer进行基因组调查的软件
k-mer基因组调查分为k-mer频数统计和基因组特征评估两步。
- KmerGenie两步可以同时实现。k-mer基因组特征评估的频数统计和第二步。
- KmerGenie第一步的结果可用于评估其他软件的第二步基因组特征。
- KmerGenie可同时分析多个预设k-mers,并选择最佳基因组装k-mer值。
2. KmerGenie 简介
- KmerGenie2014年首次发表,2018年最新更新。开发基因组装参数k的最佳值。
- KmerGenie官网:http://kmergenie.bx.psu.edu/。
- 官方网站包括软件下载地址、示例报告和版本更新记录。
3. KmerGenie 安装
在KmerGenie官网:http://kmergenie.bx.psu.edu/ 下载,最新版本是18年更新的1.7051。
安装前需要python(>=2.7)和R支持,我用的anaconda的python,安装运行完成后自动移动kmergenie加上命令/anaconda3/bin/
下面,所以你不必再把它拿走了kmergenie将命令添加到环境变量中。
wget http://kmergenie.bx.psu.edu/kmergenie-1.7051.tar.gz tar -xzvf kmergenie-1.7051.tar.gz python setup.py install kmergenie -h
4. KmerGenie 运行
- 命令
kmergenie fastq_list.txt -o ./sample -l 17 -k 121 -s 10 -t 4 > sample.log1.txt 2> sample.log2.txt
- fastq_list.txt文件保存着fastq每个文件都有一行文件的位置和名称。
- 默认单倍体模式,以k-mer长度为17开始,121结束,10间隔逐一测试;程序运行线程数4。
- 结果输出在当前路径下sample结果文件前缀名。
- “sample.log1.txt”和“sample.log2.txt分别是程序运行中正确/错误的输出日志。
- 参数
- –diploid:使用双倍体模式,默认为单倍体模式(haploid)。
- –one-pass:默认是两次评估(two passes),该参数设置用于跳过2bpK的第二次评估分辨率。
- -k 121:最大的k-mer默认值为121。
- -l 15:最小的k-mer默认值为15。
- -s 10:最小最大k-mer默认值间间隔为10。这意味着它将进行k=15,25,35…115,121的分析。
- -e 200:程序运行内存默认为每个线程200MB。
- -t 8:线程数。
- -o histograms:默认情况下,输出文件的前缀是histograms。
- –debug:开发人员使用,输出R脚本。
- –orig-hist:老程序的评价方法(速度慢,准确性低)。
5. KmerGenie 结果
- 结果报告文件sample_report.html
下载所有结果文件,打开sample_report.html,报告内容包括:
- 开头以折线图的形式显示每个长度k-mer下,估计基因组的大小。
- 同时给出了最佳k-mer选择数值。其实就是将评估基因组总大小最高的那个k-mer值判定为最佳k-mer,当基因组装时k-mer选择提供参考。
- 折线图的详细说明包括最佳说明k-mer当测序深度足够高时,评估规则和评估规则k-mer选择等。
- 每种k-mer基因组中的频数分布图k-mer基因组杂度或重复序列比例可根据图确定。
- 频数分布表sample.histo
- 包括各k-mer取值下的频数分布表sample.histo对应的频数分布图sample.histo.pdf。
- 若要用某个k-mer做频数分布表基因组特征评估,可以自己画频数分布图sample.histo文件。
- 所有k-mer取值评估的基因组大小记录在sample.dat
- 包括sample.dat和sample.dat.pdf。
6. notes
- 二倍体模式
- 如果待测物种是低杂合低重复的简单基因组,则使用单倍体模式。
- 使用复杂的基因组二倍体模式。
- 如果不确定基因组是简单还是复杂,可以根据结果中是否有单倍体模式运行明显杂合峰判断,然后运行二倍体模式。
- KmerGenie软件默认将k-mer频数曲线纵坐标进行log10转化
可通过修改脚本来改变显示效果:
- 在脚本
kmergenie-1.7051/scripts/plot_histogram.r
中第110行,suppressWarnings
函数的参数log='y'
设置的log10转换可以去除log='y'
未显示参数log转换的原始坐标。 - 在脚本
kmergenie-1.7051/scripts/plot_histogram.r
中第110行,suppressWarnings
函数的参数covNormalized
改为covNormalized[-c(1:5)]
来过滤掉Abundance<5的区域。
- k-mer取值
- KmerGenie软件是用于二代数据组装基因组推荐k-mer参数最佳k-mer评估基因组最大的对应性k-mer。
- 在基因组装中,k-mer的取值受测序深度的影响,如果测序深度越高,可以选择更高的k-mer尝试组装,以获得更长更完整contigs序列。
- 但在低深度测序模式下使用较高的k-mer组装时,会引入更高的错误率。表现为k-mer频数分布曲线(未进行纵坐标)log10转换)由于测序错误导致的低频k-mer数量未随着k-mer频率上升下降到最低,产生上升趋势。
- 用KmerGenie当软件进行基因组调查时,可以根据每个基因组进行调查k-mer选择更合适的频数分布图结果k-mer值做基因组特征评估。
7. references
- KmerGenie website:http://kmergenie.bx.psu.edu/
- KmerGenie paper:https://academic.oup.com/bioinformatics/article/30/1/31/235479
- http://blog.sciencenet.cn/blog-3406804-1159967.html
- https://www.jianshu.com/p/0251b55977c0