WGS | cfDNA call CNV
不论是WGS 还是cfDNA sequencing,call CNV的整体思路都是一样的,一般分为下面的步骤:
1. 将基因组分成相同size 的bin (non-overlap), cfDNA 数据局部coverage bias比较多,bin的size不可以太小。还存在要不要去除genome含N区域的问题,但是对结果影响不大。
2. 统计每个bin coverage
3. normalize bin coverage by mean coverage of the whole genome
4. correct GC bias using lowess-smoothing,大致原理是将所有bin按照GC含量做一个排序,做regression (coverage~GC),拟合出coverage 跟GC之间的关系(GC bias),在针对每个bin,减去这个bias。
下面的例子来自于biostars
1 gcCount.loess <- loess(RC~GC,data=RC_DT,control=loess.control(surface = "direct"),degree=2) 2 predictions1<- predict (gcCount.loess,RC_DT$GC) 3 resi <- RC_DT$RC-predictions1 4 RC_DT$RC <- resi
5. for each bin, calculate log2 fold change of matched whole blood control。
6. bins are segmented using circular binary segmentation (CBS)
当然也有现成的工具可以用,ichorCNA和QDNAseq。另外,normalize的方法在CNVkit 这个package中写得很好,可以参考。另外一个github