[Bioconductor] ChIP-seq 差異結合分析 :DiffBind
這種下游分析的R包我糾結了很久做不做,不太方便用自己的資料。。。。所以還是直接從它的說明上擷取例子了。
先把連結放在這裡,各位大佬可以自己看:
http://www。
bioconductor。org/packag
es/devel/bioc/vignettes/DiffBind/inst/doc/DiffBind。pdf
對
ChIP-seq
的下游分析,蛋白的差異結合很重要,在它的分析中包括兩點:結合區域(峰寬)和親和能力(峰高)。所以單純的用deseq2等差異表達工具很難實現ChIP-seq的差異結合分析,現在Bioconductor上已經推出了幾個對
差異結合分析
的工具,其中就包括DiffBind。
安裝
:
DiffBind 需要不低於3。5 版本的R
if (!requireNamespace(“BiocManager”, quietly = TRUE))
install。packages(“BiocManager”)
BiocManager::install(“DiffBind”, version = “3。8”)
輸入資料:
DiffBind的資料輸入稍微有點麻煩,需要準備一個csv表格,裡面包括:
SampleID: 樣本ID,給你輸入的資料起個名
Tissue,Factor,Condition,Treatment:都為資料的備註,包括組織來源/
細胞系
,狀態,處理等,可不填,但是會影響後面分析的聚類。
Replicate:第幾次重複
bamReads:ChIP-seq得到的
bam檔案
ControlID:Call peak時使用的input資料的ID
bamControl:input對應的bam檔案
Peaks:峰檔案,這裡有多種資料格式可作為輸入:1。 macs2 輸出的。narrowPeak等峰檔案 2。 包括所有call peak 得到的peak位置資訊的。bed 檔案 3。 以上兩種格式得到的。gz檔案
PeakCaller:用何種方式做的peak calling
舉個例子:
DiffBind的使用
:
讀取資料
:
> tamoxifen <- dba(sampleSheet=“tamoxifen。csv”, dir=system。file(“extra”, package=“DiffBind”))
> tamoxifen
11 Samples, 2845 sites in matrix (3795 total):
ID Tissue Factor Condition Treatment Replicate Caller Intervals
1 BT4741 BT474 ER Resistant Full-Media 1 bed 1080
2 BT4742 BT474 ER Resistant Full-Media 2 bed 1122
3 MCF71 MCF7 ER Responsive Full-Media 1 bed 1556
4 MCF72 MCF7 ER Responsive Full-Media 2 bed 1046
5 MCF73 MCF7 ER Responsive Full-Media 3 bed 1339
6 T47D1 T47D ER Responsive Full-Media 1 bed 527
7 T47D2 T47D ER Responsive Full-Media 2 bed 373
8 MCF7r1 MCF7 ER Resistant Full-Media 1 bed 1438
9 MCF7r2 MCF7 ER Resistant Full-Media 2 bed 930
10 ZR751 ZR75 ER Responsive Full-Media 1 bed 2346
11 ZR752 ZR75 ER Responsive Full-Media 2 bed 2345
資料標準化,並進行質量評估(FRiP值):
> tamoxifen <- dba。analyze(tamoxifen)
> tamoxifen
11 Samples, 2845 sites in matrix:
ID Tissue Factor Condition Treatment Replicate Caller Intervals FRiP
1 BT4741 BT474 ER Resistant Full-Media 1 counts 2845 0。16
2 BT4742 BT474 ER Resistant Full-Media 2 counts 2845 0。15
3 MCF71 MCF7 ER Responsive Full-Media 1 counts 2845 0。27
4 MCF72 MCF7 ER Responsive Full-Media 2 counts 2845 0。17
5 MCF73 MCF7 ER Responsive Full-Media 3 counts 2845 0。23
6 T47D1 T47D ER Responsive Full-Media 1 counts 2845 0。10
7 T47D2 T47D ER Responsive Full-Media 2 counts 2845 0。06
8 MCF7r1 MCF7 ER Resistant Full-Media 1 counts 2845 0。20
9 MCF7r2 MCF7 ER Resistant Full-Media 2 counts 2845 0。13
畫個熱圖看看:
> plot(tamoxifen, contrast=1)
差異分析並提取結果:
> tamoxifen。DB <- dba。report(tamoxife)
會產生這樣一個列表:
如果想將結果輸出為表格,可以使用
write。table
將結果進行輸出:
out <- as。data。frame(tamoxifen。DB)
write。table(out, file=“tamoxifen_DB。csv”, sep=“,”, quote=F, col。names = NA)
DiffBind 可以使用deseq2和edgeR分別進行差異分析(預設使用deseq),只要在dba。report 這一步新增method引數即可:
#使用edgeR:
tamoxifen。edgeR <- dba。report(dbObj, method=DBA_EDGER)
#同時使用兩種方法:
tamoxifen。deseq <- dba。report(dbObj, method=method=DBA_ALL_METHODS)
DiffBind還可以根據資料的註釋做一些分析:
PCA:
> dba。plotPCA(tamoxifen, contrast=1,label=DBA_TISSUE)
火山圖:
> dba。plotVolcano(tamoxifen)
箱型圖:
> pvals <- dba。plotBox(tamoxifen)
基本上就是這些,看說明書還是很簡單的!