(全文约1300字)
【举荐】用Smudgeplot评估物种倍性后,用组合jellyfish+GenomeScope1.0做二倍体物种的基因组考察,用组合KMC+GenomeScope2.0做多倍体物种的基因组考察。
1. k-mer进行基因组考察的软件详情
k-mer进行基因组考察分为k-mer频数统计和基因组特色评估两步。
- KMC能够实现第一步k-mer频数统计。
- KMC的后果sample.histo能够用在GenomeScope上,实现第二步基因组特色评估。
2. KMC 简介
- KMC是一个用来从FASTQ/FASTA文件中计算k-mers的基于KMC二进制数据库的程序。
- KMC是波兰的Silesian University of Technology的算法和软件学院的REFRESH Bioinformatics Group开发的工具。
- 2017年公布了第三个版本,KMC3。
- KMC是次要基于C语言的程序。
3. KMC 装置
版本
有两个版本的KMC,个别应用第一个版本,Smudgeplot评估物种倍性时用到了第二个版本。
- 一个是REFRESH Bioinformatics Group的refresh-bio/KMC。
- 一个是GenomeScope2.0的开发团队tbenavi1批改的tbenavi1/KMC
下载
在KMC download找对应零碎的最新版本KMC软件,下载解压缩即可应用。
mkdir KMC && cd KMCwget https://github.com/refresh-bio/KMC/releases/download/v3.2.1/KMC3.2.1.linux.tar.gz #下载最新版本的KMCtar -xzf KMC3.2.1.linux.tar.gz #解压缩和解包,生成bin文件夹和include文件夹
应用
解压缩后bin目录下会蕴含可执行文件,可间接应用,倡议退出环境变量,包含:
- bin/kmc:计算k-mer频数的主程序
- bin/kmc_dump:在kmc生成数据库中列出k-mers的程序
- bin/kmc_tools:容许操作kmc数据库的程序
4. KMC 运行
用KMC计算k-mer频率,生成k-mer频数直方表和k-mer直方图。
运行
mkdir tmp #创立长期文件夹ls *.fastq.gz > FILES #用于剖析的clean reads门路保留到文件FILES中kmc -k21 -t16 -m64 -ci1 -cs10000 @FILES kmcdb tmp #计算k-mer频率kmc_tools transform kmcdb histogram sample.histo -cx10000 #生成k-mer频数直方表sample.histo和k-mer直方图
- kmc命令参数
- -k21:k-mer长度设置为21
- -t16:线程16
- -m64:内存64G,设置应用RAM的大抵数量,范畴1-1024。
- -ci1 -cs10000:统计k-mer coverages覆盖度范畴在[1-10000]的。
- @FILES:保留了输出文件列表的文件名为FILES
- kmcdb:KMC数据库的输入文件名前缀
- tmp:长期目录
- kmc_tools命令参数
- -cx10000:贮存在直方图文件中counter的最大值。
后果
生成的sample.histo可用于第二步GenomeScope的剖析。
5. 基因组特色评估
取得k-mer频数散布表sample.histo后
- 举荐用GenomeScope1.0或者GenomeScope2.0或者GenomeScope的R脚本来做基因组特色评估和画图。
- 也可间接用R绘制sample.histo的频率散布直方图/频率散布曲线。
5.1. GenomeScope 网页版
5.1.1. GenomeScope1.0 网页版 —— 实用于二倍体物种
- 在GenomeScope1.0 网页版上传前一步取得的k-mer频数散布表sample.histo文件。
- 设置参数k-mer length为第一步抉择的k-mer长度值,这里是17;参数Read length为序列读长,个别为150;最初一个参数Max kmer coverage倡议批改成更大的10000,以统计更多的k-mers。
- 结果显示预估的基因组大小,杂合度,反复率等信息。
5.1.2. GenomeScope2.0 网页版 —— 实用于多倍体物种
GenomeScope2.0 网页版也是相似的步骤。
5.2. R绘制
- R绘制k-mer频数散布曲线初步查看基因组特色。
- 取得kmer_plot.png为频数散布曲线,可依据曲线峰值对基因组大小进行计算和预估。
#R 脚本示例kmer <- read.table('sample.histo')kmer <- subset(kmer, V1 >=5 & V1 <=500) #对频数范畴5-500的数据进行绘制 Frequency <- kmer$V1Number <- kmer$V2png('kmer_plot.png')plot(Frequency, Number, type = 'l', col = 'blue')dev.off()
6. references
- KMC3 paper:https://academic.oup.com/bioi...
- refresh-bio/KMC:https://github.com/refresh-bi...
- tbenavi1/KMC github:https://github.com/tbenavi1/KMC