跳到主要内容

03 DiffBind 差异结合分析

ChIP-seq 的差异分析和 RNA-seq 思路一样:把每个 peak 在每个样本里的 reads 数当作"表达量",用 DESeq2 或 edgeR 做统计检验。DiffBind 把这条流程封装成几个函数,从 peak 文件 + BAM 到差异结合位点一步到位。

本章用 DiffBind 自带的 tamoxifen 数据演示:11 个乳腺癌细胞系的 ER(雌激素受体)ChIP-seq,分为 Responsive(对他莫昔芬敏感)和 Resistant(耐药)两组。

真实示例

配套脚本 epi03_diffbind_sci.R 在 tamoxifen 数据上跑完整的差异结合分析:

Rscript scripts/epigenomics/epi03_diffbind_sci.R

每张图看什么

Sample correlation 图 1:样本间 binding affinity 的相关性热图。同一条件的样本应该聚在一起。

PCA 图 2:PCA 按条件着色。Responsive 和 Resistant 在 PC1 上分开。

MA plot 图 3:MA plot。红点是 FDR < 0.05 的差异结合位点。

Volcano 图 4:火山图。横轴 log2FC,纵轴 -log10(FDR)。

DB heatmap 图 5:差异结合位点的 binding affinity 热图。每行一个 peak,每列一个样本。

Gained vs Lost 图 6:差异位点按方向分:Gained(Responsive 里更强)vs Lost(Resistant 里更强)。

核心代码

library(DiffBind)
data(tamoxifen_counts)

# 设置对比
tamoxifen <- dba.contrast(tamoxifen, categories = DBA_CONDITION)

# 差异分析(DESeq2 后端)
tamoxifen <- dba.analyze(tamoxifen, method = DBA_DESEQ2)

# 提取结果
db_report <- dba.report(tamoxifen)

下载资源

参考资源

静态文件

离线资料下载

手册 HTML / PDF 已在后台预生成,点击后直接下载网站静态资源。