当前位置 : 主页 > 编程语言 > java >

衡量ATAC文库复杂度的3个指标

来源:互联网 收集:自由互联 发布时间:2022-06-23
​ 在ENCODE提供的一系列质控指标中针对文库复杂度,提出了以下3种指标 NRF PBC1 PBC2 NRF代表的是非冗余reads的比例,与参考基因组比对之后,我们可以得到所有比对上的reads, 其中有一部

在ENCODE提供的一系列质控指标中针对文库复杂度,提出了以下3种指标

  • NRF
  • PBC1
  • PBC2
  • NRF代表的是非冗余reads的比例,与参考基因组比对之后,我们可以得到所有比对上的reads, 其中有一部分是unique mapping的reads, 这些reads唯一比对到基因组上的一个位置,NRF就是unique mapping reads除以total  mapped reads。

    PBC1和PBC2称之为PCR阻塞系数,和NRF不同,这两个系数通过基因组位置的个数来进行计算。将unique mapping reads比对上的基因组位置称之为M, 根据每个位置上比对上的序列数,称之为M1, M2等,示意如下

    衡量ATAC文库复杂度的3个指标_公众号

    其中,PBC1为M1/M的值,PBC2为M1/M2的值。要计算以上几个指标,有一个很关键的步骤,就是从taotal mapping reads中去除duplicate reads, 得到unique mapping reads,之后就可以根据公式计算以上几个指标了。

    针对这这几个指标,ENCODE官方提供的标准如下所示

    衡量ATAC文库复杂度的3个指标_公众号_02

    从计算公式也可以看出,这几个指标的值越大,说明文库中unique mapping reads越多,文库的复杂度越高。通过bedtools可以方便的计算这几个指标,代码如下

    bedtools bamtobed -i 10K.nodup.bam | \
    awk 'BEGIN{OFS="\t"}{print $1,$2,$3,$6}' | \
    grep -v 'chrM' | \
    sort | \
    uniq -c | \
    awk 'BEGIN{mt=0;m0=0;m1=0;m2=0} ($1==1){m1=m1+1} ($1==2){m2=m2+1} {m0=m0+1} {mt=mt+$1} END{m1_m2=-1.0; if(m2>0) m1_m2=m1/m2; printf "%d\t%d\t%d\t%d\t%f\t%f\t%f\n",mt,m0,m1,m2,m0/mt,m1/m0,m1_m2}' > pbc.qc

    其中m0/mt就是NRF,m1/m0就是PBC1, m1/m2就是PBC2。

    ·end·


    衡量ATAC文库复杂度的3个指标_复杂度_03

    一个只分享干货的

    生信众号



    网友评论