表观组学:call peak概念和MACS2算法原理,最简明清晰的call peak一文通

在诸如:ChIP-seq、ATAC-seq、MeRIP-seq(m6A)、Cut&Tag中我们常常听到一个词Call Peak。Call Peak究竟是什么东西,得到的结果又有什么生物学意义呢?

概念

Call Peak其实是一种计算方法,用于识别基因组中由测序得到的比对reads富集的区域。
其实通俗的来说Call peak就是把我们有蛋白富集到核酸时的区域给找出来。

  • 对于ChIPseq/Cut&Tag来说我们这个区域就是我们的转录因子所可以和DNA互作的区域;
  • 对于ATAC-seq来说这个就是特定条件下的开放染色质的区域;
  • 对于m6A测序来说就是发生m6A甲基化修饰的RNA区域。

方法

为了找个蛋白结合核酸的区域,我们需要进行计算,因为其实在通过测序我们得到的只不过是蛋白结合核酸片段的末端,而非蛋白真正的结合区域。所以就需要在得到的reads进行延伸,如下图:


image.png

理想情况下,我们认为测得的reads最终其实会近似地平均分配到正负链上,这样,对于一个结合热点而言,reads在附近正负链上会近似地形成“双峰”,我们偏移后就可以得到真正的结合区域了。

常用软件

常用的Call Peak软件很多,但总体上根据它们的推测peak的方法总体上可以分为3类:
1.基于马尔科夫模型:HMMRATAC;
2.基于count:MACS2、HOMER、F-seq等;
3.基于峰形状:PICS、PolyaPeak、CLC等。


image.png

不同的peak caller软件有各自适用的范围,但是理论上这些软件都可以去做蛋白-核酸的call peak,对于各个软件最适合的使用场景如下图:


0247f4b348c2e2b0c45b6169eb709f0.png

MACS2原理

MACS2是最常用的call peaks工具,是ENCODE的ChIP-seq和ATAC-seq流程采用的工具。 MACS全称Model-based Analysis of ChIP-Seq,该工具是大名鼎鼎的Liu tao大神开发。最初的设计是用来鉴定转录因子的结合位点,但是理论上它也可以用于其他的DNA-蛋白结合类型的富集方式测序分析。

软件的计算流程如下:


image.png
  1. 去重:首先软件会对数据进行去重处理;
  2. 建模:前面在图1中,我们谈到了reads在附近正负链上会近似地形成“双峰”,这个双峰之间的距离称之为d,软件需要进行延伸需要知道这个d值。所以MACS2选取了1000个表达10~30倍的regions去建模以计算这个d值。
  3. 延伸:得到了d之后,向3'端延伸就可以去进行延伸,延伸长度为d/2;
  4. 归一化:把两组数据进行归一化,各组数据可比;
  5. 获得候选的peak和背景进行比较;
  6. 计算确定λ,代入泊松分布,得到p值;

    补充知识:
    (1)假设TF在基因组上的分布是没有任何规律,测序得到的read在基因组上的分布也必然是随机的,某个碱基上覆盖的read的数目应该服从二项分布。当n很大,p很小时,二项分布可以近似用泊松分布替代。
    (2)在MACS2中,它并不是使用一个固定的λ值,而是采用了一个动态规划的思路,服从λlocal = max(λBG, λ1k, λ5k, λ10k),泊松分布的公式和模型如下图:


    image.png

    image.png

    λ是滑动窗口的期望值, n是测序得到的read总数目, l是单个read的长度,s是基因组的大小

从上述的公式中我们可以看到,n、l、s都是确定的,所以只需要确定了λ我们就可以得到P值。如果只是随机分布的片段他们会落在上述密度分布图封顶的两端,两边的概率是极小的,MACS2使用了单边检验,当落在右边的P达到了阈值时候,我们就认为这个是我们要找的peak了。

  1. 计算FDR:当有对照组存在时候,就可以得到两个P,FDR=P(对照组)/P(实验组)

实操

其实MACS2已经更新到了MACS3了,简单介绍下使用方法:

寻找ChIP-seq的转录因子(TF)的命令:
macs3 callpeak -t ChIP.bam -c Control.bam -f BAM -g hs -n test -B -q 0.01

寻找ChIP-seq的组蛋白(Histone )Mark的命令:

macs3 callpeak -t ChIP.bam -c Control.bam --broad -g hs --broad-cutoff 0.1

对于ATAC-seq双端数据的操作:

macs3 callpeak -f BAMPE -t ATAC.bam -g hs -n test -B -q 0.01

-f是输入文件的格式,可以是BAM、BED,软件可以自动识别,但是需要注意自动识别是无法区分是PE还是SE,所以建议手动指定;
-g是有效基因组大小,软件预设了模式物种的有效因组大小,如果hs人,mm小鼠;
-n是样本名字;
-B是以bedGraph格式存放fragment pileup, control lambda, -log10pvalue 和log10qvale,使用会增长耗时;
-q就是用q值(FDR)进行筛选,输入得到值为阈值;
broad-cutoff用于过滤 broad得到的peak。

最后:如果想了解更多和生信或者精品咖啡有关的内容欢迎关注我的微信公众号:生信咖啡,更多精彩等你发现!

你可能感兴趣的:(表观组学:call peak概念和MACS2算法原理,最简明清晰的call peak一文通)