BioF3 FigCode · SCI 绘图代码集
MA 图(DiffBind MA Plot)
分类:差异分析 | 依赖包:ggplot2
解决的生物学问题
两组之间哪些染色质区域的蛋白结合或组蛋白修饰发生了显著变化?
应用场景
- ChIP-seq 差异结合分析结果展示
- 组蛋白修饰变化位点鉴定
- ATAC-seq 差异开放区域分析
- 药物处理前后结合变化
输入数据格式
DiffBind DBA 对象(已 dba.analyze)
关键参数
- th FDR 阈值(0.05)
- method 分析方法(DBA_DESEQ2 / DBA_EDGER)
- contrast 对比设计
- bFlip 是否翻转 fold change 方向
- bSmooth 是否平滑 MA 曲线
快速开始
1. 直接在线运行
打开 FigCode 在线绘图,点击本工具卡片的"在线绘图"按钮即可用内置示例数据出图,零环境配置。
2. 本地复现
下载脚本和示例数据,本地 RStudio 运行:
# 下载
curl -O https://<your-site>/figcode/scripts/diffbind-ma.R
curl -O https://<your-site>/figcode/data/diffbind-ma.csv
3. 安装依赖
# CRAN 包
install.packages(c("ggplot2"))
# Bioconductor 包(如需)
# BiocManager::install(c())
完整代码
library(ggplot2)
# --- Demo: simulate DiffBind-style MA data ---
set.seed(42)
n <- 5000
diffbind_df <- data.frame(
Conc = runif(n, 2, 12),
Fold = rnorm(n, 0, 1.2),
FDR = runif(n, 0, 1)
)
diffbind_df$FDR[sample(n, 200)] <- runif(200, 1e-6, 0.04)
diffbind_df$sig <- ifelse(diffbind_df$FDR < 0.05, "Significant", "NS")
# --- Plot ---
ggplot(diffbind_df, aes(x = Conc, y = Fold, color = sig)) +
geom_point(size = 0.4, alpha = 0.5) +
scale_color_manual(values = c(Significant="#dc2626", NS="#9ca3af")) +
geom_hline(yintercept = 0, color = "grey40") +
labs(x = "log Concentration", y = "log Fold Change",
title = "DiffBind MA Plot", color = "FDR < 0.05") +
theme_classic()
替换为自己的数据
脚本中以 # --- Demo data --- 标注的段落是示例数据生成代码。替换为自己的数据时,保持列名一致即可:
- 输入格式:DiffBind DBA 对象(已 dba.analyze)
- 使用
read.csv()/readRDS()读取本地文件
延伸阅读
- 相关教程:MA 图 完整流程
- 出现 bug?欢迎在 FigCode 页面 点击对应卡片,在评论区留言。