值得一提的是CNVkit设计的出发点是可以针对hybridization原理的NGS数据进行分析,把on-target和off-target区域分开来考虑。但是我们的目标是WGS数据,不存在什么off-target,所以分析主线就是一条直线(无视左上角的Target regions和Anti-target regions)。
就和前文快速上手所介绍的流程一样,bam-cnn(Bin coverages)--cnr(Copy Ratios)--cns(Copy Segments)--下流分析(可视化文件输出)
好了,走一下得到cnn文件以后的管道流程吧。
1. fix
fix这个过程包括了合并数据,根据参照序列的GC含量进行校正,最后会出一个.cnr
格式的结果
(copy number ratio)。
cnvkit.py fix Sample.targetcoverage.cnn Sample.antitargetcoverage.cnn Reference.cnn -o Sample.cnr
2. segment
从cnr文件也就是coverage数据里里提取独立的拷贝(copy number)数据。
这个cn成分提取可以有多种不同的方法可选,默认是cbs( circular binary segmentation)法,有兴趣的可以去看一下https://jeremy9959.net/Blog/cbs-fixed/
这个需要用到R语言以及 DNAcopy包,如果是用conda安装的话就没什么好操心的,都给你装好了。
执行代码如下
cnvkit.py segment Sample.cnr -o Sample.cns
3. call
然后就是呼叫CNV了。可以直接计算也可以添加阈值。
cnvkit.py call Sample.cns -o Sample.call.cns
cnvkit.py call Sample.cns -y -m threshold -t=-1.1,-0.4,0.3,0.7 -o Sample.call.cns
4. 结果转换成vcf格式
双倍体的话用female就可以。当然也可以转换成别的格式,CDT,SEG等等
cnvkit.py export vcf Sample.cns -y -x female -i "SampleID" -o Sample.cnv.vcf