工作原理
CNVkit工作流程图
CNVkit使用捕获的靶标reads和非特异性捕获的靶标外的reads来计算每个样品在基因组中的拷贝比率(log2)。简单说就是,根据靶标区域之间的基因组位置来调配脱靶集合。然后,将靶标区和靶标外的位置分别用于计算每个间隔内的平均reads深度。再将靶标区和靶标外的reads深度进行组合,并根据对照样本得出的参考值进行归一化,并同时针对多个系统偏差进行校正,以得出最终的拷贝比率(log2)表。接着基于比率值(log2)运行内置的分割算法,推断离散拷贝数分段情况。最后对结果进行可视化并作进一步分析。
性能优势
软件依赖的计算机资源很少,拷贝数检测最耗时的步骤是reads深度计算,使用单个3.7 GHz的 CPU,配合固态硬盘,计算覆盖度100倍的外显子组大约需要20分钟,而覆盖度500倍的293个基因panel数据仅需要大约2分钟。
作者使用源自黑素瘤的C0902细胞系,比较了整个基因组中CNVkit和阵列基因组杂交CGH以及FISH的复制比率,CNVkit推断的拷贝数比率非常接近FISH观察到的平均值。
通过三个不同测序策略的数据比较了CNVkit与其他阵列基因组杂交方法(CONTRA 和 CopywriteR)的每个靶基因上的估计拷贝比率的差异,无论是再有参考基因组还是无参考基因组中方法计算的准确性(特异性)和召回率(敏感性),甚至是单个碱基对的精确度,CNVkit都显示出良好的性能优势。
总之,无论是在靶标reads还是非靶标reads,CNVkit都可以最大限度地利用靶标测序reads,提供高准确和可靠的基因组尺度的拷贝数估计。
使用说明
参考官方网站或者Github地址:https://github.com/etal/cnvkit
下载安装
使用conda:conda install cnvkit
或者使用:pip installcnvkit
运行示例
cnvkit.py batch*Tumor.bam --normal *Normal.bam --targets my_baits.bed --annotate refFlat.txt --fastahg38.fasta --output-reference reference.cnn --output-dir results/ --diagram–scatter
cnvkit.py为主脚本;batch可以调用脚本命令;Tumor.bam 和Normal.bam为对应样本的bam文件,建议用bwa-mem模式;--targets分析区域;--annotaterefFlat格式的基因注释信息,可以从UCSC上下载;--fasta 参考基因组;--output-reference 输出的reference.cnn可以作为下一批tumor数据分析的输入文件,reference.cnn和输入的normal.bam有关;--output-dir输出目录名;--diagram –scatter绘图参数。
参考文献
Talevich E, ShainAH, Botton T, Bastian BC (2016) CNVkit: Genome-Wide Copy Number Detection andVisualization from Targeted DNA Sequencing. PLoS Comput Biol 12(4): e1004873.https://doi.org/10.1371/journal.pcbi.1004873