头图

(全文约1800字)

【推荐】用Smudgeplot评估物种倍性后,用组合jellyfish+GenomeScope1.0做二倍体物种的基因组调查,用组合KMC+GenomeScope2.0做多倍体物种的基因组调查。

1. k-mer进行基因组调查的软件

k-mer进行基因组调查分为k-mer频数统计基因组特征评估两步。

  • KmerGenie可以同时实现两步。第一步k-mer频数统计和第二步基因组特征评估。
  • KmerGenie第一步的结果可用于其他软件第二步基因组特征评估。
  • KmerGenie可以同时分析多个预设的k-mers,并选出一个最佳基因组组装k-mer值。

2. KmerGenie 简介

  • KmerGenie在2014年第一次发表,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 运行

  1. 命令

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”分别为程序运行时的正确/错误输出日志。
  1. 参数
  2. --diploid:使用二倍体模式,默认是单倍体模式(haploid)。
  3. --one-pass:默认是两次评估(two passes),这个参数设置用来跳过在2bp分辨率上评估k的第二次评估。
  4. -k 121:最大的k-mer值,默认是121。
  5. -l 15:最小的k-mer值,默认是15。
  6. -s 10:在最小和最大的k-mer值间的间隔,默认是10。意味着会进行k=15,25,35...115,121的分析。
  7. -e 200:程序运行内存,默认是每个线程200MB。
  8. -t 8:线程数。
  9. -o histograms:输出文件的前缀,默认是histograms。
  10. --debug:开发者使用,输出R脚本。
  11. --orig-hist:老程序的评估方法(更慢且准确性更低)。

5. KmerGenie 结果

  1. 结果报告文件sample_report.html

下载所有结果文件,打开sample_report.html,报告内容包括:

  • 开头以折线图的形式展示出在每种长度k-mer下,估算的基因组大小。
  • 同时给出了最佳k-mer选择数值。其实就是将评估基因组总大小最高的那个k-mer值判定为最佳k-mer,为基因组组装时k-mer的选择提供参考。
  • 折线图的详细说明,包括最佳k-mer的评估规则,以及当测序深度足够高时的k-mer选择等。
  • 每种k-mer的频数分布图,在基因组的k-mer中可根据该图判定基因组杂合度或重复序列比例。
  1. 频数分布表sample.histo
  2. 包括各k-mer取值下的频数分布表sample.histo和对应的频数分布图sample.histo.pdf。
  3. 如果想用某个k-mer的频数分布表做基因组特征评估,自己绘制频数分布图,可以使用sample.histo文件。
  4. 所有k-mer取值评估的基因组大小记录在sample.dat
  5. 包括sample.dat和sample.dat.pdf。

6. notes

  1. 二倍体模式
  2. 如果待测物种是低杂合低重复的简单基因组,则使用单倍体模式
  3. 如果是复杂基因组,使用二倍体模式
  4. 如果不确定基因组简单还是复杂,可以先用单倍体模式运行,根据结果中是否有明显杂合峰判断,再运行二倍体模式。
  5. KmerGenie软件默认将k-mer频数曲线的纵坐标进行了log10转化
    可以通过修改脚本来更改展示效果:
  6. 在脚本kmergenie-1.7051/scripts/plot_histogram.r中第110行,suppressWarnings函数的参数log='y'设置的log10转化,可以通过去除log='y'参数来展示未log10转化的原始坐标。
  7. 在脚本kmergenie-1.7051/scripts/plot_histogram.r中第110行,suppressWarnings函数的参数covNormalized改为covNormalized[-c(1:5)]来过滤掉Abundance<5的区域。
  8. k-mer取值
  9. KmerGenie软件是用于二代数据组装基因组推荐k-mer参数的。推荐的最佳k-mer是评估基因组最大的对应的k-mer。
  10. 在基因组组装时,k-mer的取值受测序深度的影响,若测序深度越高,可选择更高的k-mer进行尝试组装,以得到更长更完整的contigs序列。
  11. 但若在低深度测序模式下使用较高的k-mer进行组装时,就会引入较高的错误率。表现为k-mer频数分布曲线(纵坐标未进行log10转化的)的左侧由于测序错误导致的低频k-mer数量未随着k-mer频数升高下降至最低即产生了上升趋势。
  12. 用KmerGenie软件做基因组调查时,可以根据每个k-mer值的频数分布图结果选择更为合适的k-mer值做基因组特征评估

7. references

  1. KmerGenie website:http://kmergenie.bx.psu.edu/
  2. KmerGenie paper:https://academic.oup.com/bioi...
  3. http://blog.sciencenet.cn/blo...
  4. https://www.jianshu.com/p/025...

生信技工
1 声望3 粉丝