CNVnator是一款CNV檢測軟體,基於Read-Depth的分析策略,通過對全基因組測序數據進行分析來預測CNV, 原始碼保存在github上,網址如下
https://github.com/abyzovlab/CNVnator
這個軟體的安裝比較複雜,我這裡直接使用別人裝好的docker鏡像進行處理,這也是docker的方便之處,直接從源中下載別人已經裝好的cnvnator的鏡像,代碼如下
docker pull diploid/cnvnator
具體的分析步驟如下
CNVnator中依賴ROOT
這個軟體包,這個軟體包是專門針對大數據的處理進行開發的,提供了統計分析,可視化,數據存儲等一系列功能,基於這個體系可以極大的加快運行速度,所以將原始的信息都存在root文件中,便於分析。
這一步將比對的信息存儲到後綴為root的文件中,代碼如下
cnvnator -root file.root -tree chr1.bam -chrom 1
-tree
參數指定輸入的bam文件的名稱,-root
文件指定輸出的root文件的名稱,-chrom
指定需要分析的染色體,默認情況下分析所有的染色體,這裡我是測試,只分析了1號染色體。
這一步是按照固定大小的窗口對基因組進行劃分,統計每個窗口內的read depth, 代碼如下
cnvnator -root file.root -his 1000 -chrom 1 -d genome_fa_dir
-his
參數指定窗口的大小,單位為bp, -d
參數指定參考基因組fasta文件所在的目錄。
這一步是必須的,代碼如下
cnvnator -root file.root -stat 1000
-stat
指定窗口的大小,和第二步的-his
參數的取值相同。
這一步進行segmentation,代碼如下
cnvnator -root file.root -partition 1000
-partition
指定窗口的大小,和第二步的-his
參數的取值相同。
這一步分析每個segment區域的CNV, 代碼如下
cnvnator -root file.root -call 1000 > cnv.call.txt
-call
指定窗口的大小,和第二步的-his
參數的取值相同, 輸出結果默認列印到屏幕上,這裡重定向到文件中。
輸出文件的內容如下
第一列為CNV的類型,包括了deletion和duplication兩種類型,第二列為CNV的染色體區域,第三列為CNV的長度,第四列為歸一化之後的read depth, 歸一化到0-1的範圍,第五列到第八列為不同的evalue值,最後一類為q0, 後五列對應的解釋如下
對於原始的cnv call的輸出,還可以通過軟體自帶的腳本轉換為VCF格式,代碼如下
cnvnator2VCF.pl cnv.call.txt >cnv.vcf
CNVnator的功能強大,運行速度快,更多用法請參考官方文檔。
·end·