前言:今天放个大招,来评测多款开源的CNV识别软件的性能。CNV,全称是拷贝数变异(copy number variation),通常指的是长度为1kb以上的基因组大片段拷贝数的增加或减少。传统的检测方法有PCR方法、FISH、芯片等等。随着测序技术的不断进步,成本逐渐下降,高通量测序技术正在成为检测CNV的主流方法。本文共测试四款开源软件在检测CNV时的综合性能,包括DupHMM、PennCNV2、CNVkit。
1.DupHMM
编程语言:Python,R
发表杂志:无
官方网站:github.com/KorfLab/DupHMM/wiki
软件原理:通过将每个染色体分成一定大小的“窗口”,并确定每个窗口最可能的拷贝数值。
输入文件:SAM格式
输出文件:每个染色体对应一个txt格式
使用命令:
python3 duphmm.py -sam "input.sam" -w 2500 -trans -50 -thr "10X,20X" -o "Output/DupHMM_trans=-50/"
参数释义:
-w
表示设置的“窗口”大小,上面的命令就是设置2500bp的窗口;
-trans
表示设置的状态转换概率,因为该软件使用了隐马尔可夫(HMM)模型去识别CNV的状态,官方推荐转移概率为10的-50次方;
-thr
表示read threshold,即设置的read覆盖阈值,大致意思是设置的一个窗口识别reads的最小数目,默认是“10X,20X”。
结果举例:
Chr | Start_pos | End_pos | Distance | State | Fold_Coverage | TE_Genes | TEs |
---|---|---|---|---|---|---|---|
Chr5 | 0 | 2537500 | 2537500 | 1 | 1.05 | 9 | 191 |
Chr5 | 2537500 | 2540000 | 2500 | 2 | 3.42 | 0 | 0 |
Chr5 | 2540000 | 2820000 | 280000 | 1 | 1.12 | 0 | 9 |
Chr5 | 2820000 | 2830000 | 10000 | 2 | 1.97 | 0 | 0 |
Chr5 | 2830000 | 2980000 | 150000 | 1 | 1.17 | 0 | 18 |
Chr5 | 2980000 | 2992500 | 12500 | 2 | 1.96 | 0 | 0 |
Chr5 | 2992500 | 2995000 | 2500 | 1 | 2.87 | 0 | 0 |
Chr5 | 2995000 | 2997500 | 2500 | 2 | 2.81 | 0 | 0 |
Chr5 | 2997500 | 3252500 | 255000 | 1 | 1.0 | 0 | 24 |
Chr5 | 3252500 | 3255000 | 2500 | 5 | 1.3 | 0 | 2 |
Chr5 | 3255000 | 5182500 | 1927500 | 1 | 1.09 | 9 | 160 |
Chr5 | 5182500 | 5210000 | 27500 | 2 | 2.1 | 0 | 0 |
Chr5 | 5210000 | 6682500 | 1472500 | 1 | 1.01 | 9 | 192 |
产生的txt文件,以5号染色体的结果举例,这个表格展示的信息也比较清楚,最后两列TE_Genes和TEs表示注释到的基因,只有使用-gff
参数时,才会产生。
网友评论