和xhmm类似,conifer也是一款利用WES的数据来检测CNV的软件。不同的是,xhmm利用PCA算法达到降噪的目的,而conifer则通过SVD奇异值分解的算法来降噪,对应的文章链接如下
官网如下
该软件的处理步骤示意如下 首先比对参考基因组,得到目标区域的测序深度,这里做了一个特殊的处理,借鉴了RNA_seq中定量的算法,计算了每个目标区域的RPKM值, 得到了所有样本每个目标区域RPKM值的矩阵,然后对矩阵进行标准化,计算z-score值,转换后的值称之为ZRPKM。 对于ZRPKM矩阵,采用SVD进行分解,认为奇异值大的子矩阵为系统噪声,去除奇异值大的子矩阵之后重新构建SVD-ZRPKM矩阵, 然后通过threshold calling算法预测CNV区域,图示如下 绿色线条表示阈值,大于1.5的认为是duplication, 小于1.5的认为是deletion。具体的步骤如下 1. 创建目标区域文件首先基于芯片的捕获区域,创建目的区域对应的文件,内容如下 每一行代表一个捕获的目标区域,前三列对应目标区域的染色体位置,第四列为对应的基因名称,如果没有则为空。不同的捕获芯片对应的目的区域不同,自己写脚本整理成这种格式即可,下文中该文件称之为probes.txt。 2. 计算目标区域RPKM值对于每个样本,计算目标区域的RPKM值,用法如下 python conifer.py rpkm \ 输入文件为比对产生的bam文件,生物学重复的输出文件保存在同一个目录下。 3. 计算SVD-ZRPKM矩阵读取所有样本的rpkm值,进行SVD奇异值分解,构建SVD-ZRPKM矩阵,用法如下 python conifer.py analyze \ 输出文件为hdf5格式的文件, 4. CNV calling进行cnv calling, 用法如下 python conifer.py call \ 输出文件内容示意如下 5. 可视化对感兴趣的CNV区域进行可视化,用法如下 python conifer.py plot \ 可视化结果示意如下 conifer用法简便, 适合检测1kb以上的CNV,软件要求CNV至少跨越3个exon区域,所以很短的CNV无法检测出来。 ·end· |
|