当前位置: 首页 > news >正文

MACS2简介

MACS2(Model-based Analysis of ChIP-Seq 2)是目前最主流的 ChIP-seqATAC-seq peak calling 工具之一,由 陶乐天(Liu Tao) 实验室开发并开源。
它在 2012 年首次发布,至今仍被广泛使用,几乎所有单细胞/批量表观遗传学研究都会用到它或其衍生版本(如 macs2 callpeakSEACRMACS3 等)。


🧪 一句话定义

MACS2 是一个基于统计模型的峰值检测工具,用于在 ChIP-seq、ATAC-seq、CUT&Tag 等数据中识别蛋白质(或开放染色质)富集区域。


🔍 核心原理

MACS2 使用 泊松分布(Poisson)负二项分布(NB) 对背景 reads 进行建模,计算每个基因组窗口的 富集显著性(p-value),并进一步通过 FDR 校正 得到 q-value

关键步骤:

  1. 构建背景模型
    • 使用 input DNA(control)或 局部 lambda(滑动窗口)估计背景 reads 密度。
  2. 计算富集显著性
    • 对每个候选窗口计算 observed vs expected 的 p-value。
  3. 合并相邻显著窗口
    • 合并相邻显著区域为一个 peak
  4. 估计 peak summit
    • 报告 summit 位置(peak 内信号最高的点),便于 motif 分析。
  5. FDR 校正
    • 使用 Benjamini-Hochberg 方法校正多重检验。

🛠️ 常用命令

1. ChIP-seq peak calling

macs2 callpeak \-t chip.bam \        # 处理组(IP)-c input.bam \       # 对照组(input)-f BAM \             # 输入格式-g hs \              # 基因组大小(human: 2.7e9)-n TF_example \      # 输出前缀-B \                 # 输出 bedGraph(用于可视化)-q 0.05              # q-value 阈值

2. ATAC-seq peak calling

macs2 callpeak \-t atac.bam \-f BAMPE \           # 双端数据(片段模式)-g hs \-n ATAC_example \--nomodel \          # 跳过模型构建(ATAC 推荐)--shift -75 \        # 调整 Tn5 插入偏移--extsize 150 \-q 0.05

📊 输出文件

文件名内容
NAME_peaks.narrowPeak最常用:包含 peak 坐标、summit、p-value、q-value(可直接用于下游注释)
NAME_peaks.broadPeak宽 peak(如组蛋白修饰 H3K27me3)
NAME_summits.bed每个 peak 的最高点(summit),用于 motif 分析
NAME_model.rR 脚本,用于可视化 fragment 长度分布
NAME_treat_pileup.bdg处理组信号 bedGraph
NAME_control_lambda.bdg背景信号 bedGraph

🧬 在单细胞 ATAC-seq 中的应用

ArchRSignac 中,MACS2 通常被 批量调用

  • 每个 clusterpseudo-bulk replicate 生成一个 BAM 文件。
  • MACS2 对每个 BAM call peak。
  • 最后使用 IDR合并策略 得到 一致 peak set

⚙️ 参数详解(常用)

参数含义
-t处理组 BAM/BED
-c对照组 BAM/BED
-f输入格式(BAM、BED、BAMPE)
-g有效基因组大小(人:2.7e9,鼠:2.1e9)
-n输出文件前缀
--nomodel跳过模型构建(ATAC 推荐)
--shift/--extsize调整 reads 位置(ATAC 常用)
-B/--bdg输出 bedGraph 用于可视化
-q/--pq-value 或 p-value 阈值
--broad宽 peak 模式(组蛋白修饰)

🆚 MACS2 vs MACS3 vs SEACR

工具特点适用场景
MACS2经典、稳定、社区大通用 ChIP-seq/ATAC-seq
MACS3支持多线程、新模型大样本、长 reads
SEACR专为 ATAC-seq 优化稀疏数据、无对照

🧩 一句话记忆

MACS2 = “把一堆 reads 变成生物学意义的 peak” 的工具。
它用统计模型告诉你:“这里确实比背景富集了很多 reads。”


如需更深入的数学模型(如 λ_localPoisson-NB 混合模型),可查阅原始论文:
Zhang et al., Genome Biology (2008) “Model-based analysis of ChIP-Seq (MACS)”


泊松分布(Poisson) 和 **负二项分布(Negative Binomial, NB)


🎯 一句话速记

  • 泊松分布
    “假设方差 ≈ 均值”,最简单的“随机散落”模型。
  • 负二项分布
    “方差 > 均值”,在泊松基础上加入 过度离散(over-dispersion),更贴合真实测序数据。

1️⃣ 泊松分布(Poisson)

📌 定义

描述 单位时间/空间内稀有事件发生的次数

  • 只有一个参数:λ(lambda)=事件的平均发生率(也是方差)。
  • 概率质量函数(PMF)
    [
    P(X=k)=\frac{\lambda^k e^{-\lambda}}{k!}
    ]

🧬 生物学例子

  • input DNA(对照) 中,一条 200 bp 窗口里平均有 5 条 reads → 可用 Poisson(λ=5) 建模。
  • Poisson 假设
    如果 λ=5,那么方差也≈5,即“波动不大”。

⚠️ 局限

真实测序数据往往 方差 >> 均值(例如 λ=5,但实际观测方差=15),Poisson 会低估背景波动,导致 假阳性 peak


2️⃣ 负二项分布(Negative Binomial, NB)

📌 定义

Poisson 基础上再包一层 → 允许 λ 本身也是一个随机变量(Gamma 分布),从而 方差 > 均值

  • 两个参数
    [
    \begin{aligned}
    \mu &: \text{均值} \
    \theta &: \text{离散参数(越小越离散)}
    \end{aligned}
    ]
  • 方差公式
    [
    \text{Var}(X)=\mu+\frac{\mu^2}{\theta}
    ]
    当 θ→∞ 时,NB → Poisson。

🧬 生物学例子

  • ATAC-seq 某个窗口
    • 均值 μ=5
    • 由于局部 GC 含量、拷贝数变异、技术噪音 → 实际方差=20
    • NB 可以很好地描述这种“比 Poisson 更分散”的数据。

✅ 优势

  • 过度离散 更稳健,假阳性更低
  • 现代 peak caller(如 MACS2 --bdg --extsize 模式、DESeq2、edgeR)默认使用 NB 而非 Poisson。

🆚 对比表

特性泊松 Poisson负二项 NB
参数λμ, θ
均值-方差关系均值=方差方差>均值
过度离散❌ 不支持✅ 支持
计算速度稍慢
何时使用input DNA 很均匀真实 ChIP/ATAC/RNA-seq
软件示例MACS1 默认MACS2 -B --extsize, DESeq2, edgeR

🧪 直观记忆法

  • 泊松:像“下雨滴落在地砖上”——每块砖平均 5 滴,方差也是 5。
  • 负二项:像“人群在广场上丢垃圾”——有人丢很多,有人不丢,方差远大于均值。

🏁 一句话总结

Poisson 是“理想化随机”,NB 是“真实世界随机”。
在测序数据分析里,NB 更准确地捕捉了技术+生物学噪音,因此成为主流。

http://www.dtcms.com/a/336503.html

相关文章:

  • 欠拟合和过拟合的特征标志,有什么方法解决,又该如何避免
  • 评测系统构建
  • 20.LeNet
  • [逆向知识] AST抽象语法树:混淆与反混淆的逻辑互换(二)
  • 2001-2024年中国玉米种植分布数据集
  • Cesium学习(二)-地形可视化处理
  • AutoSar BSW介绍
  • PyTorch 面试题及详细答案120题(01-05)-- 基础概念与安装
  • 全星质量管理 QMS:驱动制造业高质量发展的核心工具
  • 雷卯针对香橙派Orange Pi 5 Ultra开发板防雷防静电方案
  • Java研学-SpringCloud(五)
  • 如何理解“速度模式间接实现收放卷恒张力控制“
  • 题目2:使用递归CTE分析产品层级关系
  • 【从零开始学习Redis】项目实战-黑马点评D2
  • 【会议跟踪】ICRA 2021 Workshop:Visual-Inertial Navigation Systems
  • 多线程—飞机大战(加入播放音乐功能版本)
  • 【Virtual Globe 渲染技术笔记】6 着色
  • C语言---第一个C语言程序
  • Tomcat下载、安装及配置详细教程
  • Hybrid Beamforming Design for OFDM Dual-Function Radar-Communication System
  • LaTeX中表示实数集R的方法
  • 零基础搭建公网 Nginx:通过 cpolar 内网穿透服务实现远程访问
  • 朝花夕拾(四) --------python中的os库全指南
  • 【计算机数学】关于全概率和贝叶斯公式的使用场景说明
  • Linux目录相关的命令
  • 排列组合+数量+资料
  • 聊聊Vuex vs Pinia
  • MySQL执行计划解读
  • 人脸AI半球梯控/门禁读头的功能参数与技术实现方案
  • 网络常识-DNS如何解析