天天看點

bigwig歸一化方式詳解

歡迎關注”生信修煉手冊”!

在chip_seq資料展示時,經常會用到bigwig檔案,導入igvtools等基因組浏覽器中,産生如下所示的圖檔

bigwig歸一化方式詳解

我們将IP樣本相對Input樣本中reads富集的區域定義為peak, 反映到上圖中,則對應的為IP樣本中reads出現了峰值,比如下圖紅色标記的區域

bigwig歸一化方式詳解

通過這種可視化的方式,可以直覺的反映出peak區域的情況,但是在實際使用中需要注意歸一化的問題。

bigwig檔案本質上展示的是測序深度的分布資訊,而原始的測序深度是和測序的reads量呈正相關關系的,比如Input樣本測序5G, IP樣本測序10G, 在原始的測序深度看,會看到Input樣本相比IP樣本,其測序深度是偏高的。當然這個是一個極端的例子,但是很好的說明了測序量的差異對原始的測序深度會有直接的影響。

為了消除樣本間測序資料量差異的影響,很當然的我們想到了歸一化,類似轉錄組中的定量政策,原始的測序深度就是raw count, 那麼當然類似​

​RPKM​

​​, ​

​CPM​

​等歸一化方式,對于bigwig檔案而言,同樣适用。

在deeptools中,提供了多種歸一化方式

1. RPKM

RPKM的公式如下

RPKM (per bin) = number of reads per bin / (number of mapped reads (in millions) * bin length (kb))      

用法如下

deeptools bamCoverage \
-p 10 \
--bam input.bam \
--normalizeUsing  RPKM \
--outFileName rpkm.bigwig      

2. CPM

CPM的公式如下

CPM (per bin) = number of reads per bin / number of mapped reads (in millions)      

用法如下

deeptools bamCoverage \
-p 10 \
--bam input.bam \
--normalizeUsing  CPM \
--outFileName cpm.bigwig      

3. BPM

BPM的公式如下

BPM (per bin) = number of reads per bin / sum of all reads per bin (in millions)      

用法如下

deeptools bamCoverage \
-p 10 \
--bam input.bam \
--normalizeUsing  BPM \
--outFileName bpm.bigwig      

4. RPGC

RPGC的公式如下

RPGC (per bin) = number of reads per bin / scaling factor for 1x average coverage
scaling factor =  (total number of mapped reads * fragment length) / effective genome size      

用法如下

deeptools bamCoverage \
-p 10 \
--bam input.bam \
--normalizeUsing  RPGC \
--effectiveGenomeSize 2864785220 \
--outFileName rpgc.bigwig      

對于同一個樣本而言,導入igvtools中,幾種歸一化方式産生的bigwig檔案和原始的bigwig檔案的峰形是完全一樣的 ,示意如下

bigwig歸一化方式詳解

注意紅色方框标記的縱軸的範圍,可以看到不同方式,其縱軸範圍不一樣。

歸一化主要用于樣本間的比較, 比如在比較Input和Ip兩個樣本時,就應該使用歸一化之後的資料,以​

​RPKM​

​為例,導入之後可以看到如下所示的結果

bigwig歸一化方式詳解

可以看到縱軸的範圍是不一緻的,為了更好的比較樣本間的差異,我們需要把二者的縱軸範圍調整成一緻的,因為資料已經做了歸一化處理,是以可以直接在同一範圍内進行比較,設定成同一範圍後,效果如下

bigwig歸一化方式詳解

對于上述多種歸一化方式,其實都是可以拿來在樣本間比較的。在實際操作中,由于​

​RPKM​

​的概念最為經典,應用的也最為廣泛。

·end·

—如果喜歡,快分享給你的朋友們吧—