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
每张图看什么
图 1:样本间 binding affinity 的相关性热图。同一条件的样本应该聚在一起。
图 2:PCA 按条件着色。Responsive 和 Resistant 在 PC1 上分开。
图 3:MA plot。红点是 FDR < 0.05 的差异结合位点。
图 4:火山图。横轴 log2FC,纵轴 -log10(FDR)。
图 5:差异结合位点的 binding affinity 热图。每行一个 peak,每列一个样本。
图 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 已在后台预生成,点击后直接下载网站静态资源。