第3篇:用MACS2软件call peaks

作者: 六六_ryx | 来源:发表于2018-08-24 21:17 被阅读74次

学习目标:

  • 学会用MACS2 call peaks
  • 理解MACS2 call peaks的结果

Peak Calling

Peak calling即利用计算的方法找出ChIP-seq或ATAC-seq中reads富集的基因组区域。



如下图所示,比对结果的文件中reads在正负链不均匀分布,但在结合位点聚集。正负链5‘末端的reads各形成一组合,通过统计学的方法评估这些组合的分布并和对照组比较,确定这些结合位点是否是显著的。


NOTE:ChIP-seq的分析方法可以鉴定两种类型的富集模式:broad domainsnarrow peaks。broad domains,如组蛋白修饰在整个基因body区域的分布;narrow peak,如转录因子的结合。narrow peak相对于broad 或者分散的marks更易被检测到。也有一些混合的结合图谱,如PolII包括narrow和broad信号。


MACS2

peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。
MACS通过整合序列标签位置信息和方向信息提高结合位点的空间分辨率。MACS的工作流如下所示:


MACS2的使用方法

MACS2的用法,call peaks的参数及输出文件的解读可以参考MACS2文档学习

了解相关参数:

输入文件参数:

  • -t:实验组,IP的数据文件
  • c: 对照组
  • f:指定输入文件的格式,默认是自动检测输入数据是什么格式,支持bam,sam,bed等
  • g:有效基因组大小,由于基因组序列的重复性,基因组实际可以mapping的大小小于原始的基因组。这个参数要根据实际物种计算基因组的有效大小。软件里也给出了几个默认的-g 值:hs -- 2.7e9表示人类的基因组有效大小(UCSC human hg18 assembly).
    • hs: 2.7e9
    • mm: 1.87e9
    • ce: 9e7
    • dm: 1.2e8

输出文件参数:

  • --outdir:输出结果的存储路径
    --n:输出文件名的前缀
  • -B/--bdg:输出bedgraph格式的文件,输出文件以NAME+'_treat_pileup.bdg' for treatment data, NAME+'_control_lambda.bdg' for local lambda values from control显示。

peak calling 参数

  • -q/--qvalue-p/--pvalue
    q value默认值是0.05,与pvalue不能同时使用。
  • --broad
    peak有narrow peak和broad peak, 设置时可以call broad peak 的结果文件。
  • --broad-cutoff
    和pvalue、以及qvalue相似
  • --nolambda: 不要考虑在峰值候选区域的局部偏差/λ

q值与峰宽有一定的联系。理想情况下,如果放宽阈值,您将简单地获得更多的峰值,但是使用MACS2放松阈值也会导致更宽的峰值。

Shift 模型参数:

  • --nomodel
    这个参数和extsize、shift是配套使用的,有这个参数才可以设置extsize和shift。
  • --extsize
    当设置了nomodel时,MACS会用--extsize这个参数从5'->3'方向扩展reads修复fragments。比如说你的转录因子结合范围200bp,就设置这个参数是200。
  • --shift
    当设置了--nomodel,MACS用这个参数从5' 端移动剪切,然后用--extsize延伸,如果--shift是负值表示从3'端方向移动。建议ChIP-seq数据集这个值保持默认值为0,对于检测富集剪切位点如DNAsel数据集设置为EXTSIZE的一半。
    示例:
  1. 想找富集剪切位点,如DNAse-seq,所有5'端的序列reads应该从两个方向延伸,如果想设置移动的窗口是200bp,参数设置如下:
    --nomodel --shift -100 --extsize 200
  2. 对nucleosome-seq数据,用核小体大小的一半进行extsize,所以参数设置如下:
    --nomodel --shift 37 --extsize 73
  • --call-summits
    MACS利用此参数重新分析信号谱,解析每个peak中包含的subpeak。对相似的结合图谱,推荐使用此参数,当使用此参数时,输出的subpeak会有相同的peak边界,不同的绩点和peak summit poisitions.

ATAC-Seq call peaks示例

ATAC-seq关心的是在哪切断,断点才是peak的中心,所以使用shift模型,--shift -75或-100
对人细胞系ATAC-seq 数据call peak的参数设置如下:

macs2 callpeak -t H1hesc.final.bam -n sample --shift -100 --extsize 200 --nomodel -B --SPMR -g hs --outdir Macs2_out 2> sample.macs2.log

MACS2输出文件解读

  • NAME_peaks.xls
    包含peak信息的tab分割的文件,前几行会显示callpeak时的命令。输出信息包含:
    • 染色体号
    • peak起始位点
    • peak结束位点
    • peak区域长度
    • peak的峰值位点(summit position)
    • peak 峰值的高度(pileup height at peak summit, -log10(pvalue) for the peak summit)
    • peak的富集倍数(相对于random Poisson distribution with local lambda)

      Coordinates in XLS is 1-based which is different with BED format
      XLS里的坐标和bed格式的坐标还不一样,起始坐标需要减1才与narrowPeak的起始坐标一样。
  • NAME_peaks.narrowPeak
    *narrowPeak文件是BED6+4格式,可以上传到UCSC浏览。输出文件每列信息分别包含:
    • 1;染色体号
    • 2:peak起始位点
    • 3:结束位点
    • 4:peak name
    • 5:int(-10*log10qvalue)
    • 6 :正负链
    • 7:fold change
    • 8:-log10pvalue
    • 9:-log10qvalue
    • 10:relative summit position to peak start(?)


  • NAME_summits.bed
    BED格式的文件,包含peak的summits位置,第5列是-log10pvalue。如果想找motif,推荐使用此文件。

Remove the beginning track line if you want to analyze it by other tools.???

  • .bdg
    bedGraph格式,可以导入UCSC或者转换为bigwig格式。两种bfg文件:treat_pileup, and control_lambda.
  • NAME_peaks.broadPeak
    BED6+3格式与narrowPeak类似,只是没有第10列。

summits.bed,narrowPeak,bdg, xls四种类型输出文件的比较:

  • xls文件
    文件包含信息还是比较多的,和narrowPeak唯一不同的是peak的起始位置需要减1才是bed格式的文件,另外还包含fold_enrichment 和narrowPeak的fold change 对应,-log10pvalue,-log10qvalue,peak长度,peak 峰值位置等。
  • narrowPeak文件
    和xls文件信息类似
  • summits.bed文件
    包含峰的位置信息和-log10pvalue
  • bdg文件
    bdg文件适合导入UCSC或IGV进行谱图可视化,或者转换为bigwig格式再进行可视化。
    为什么染色体号后面会出现其他的字符串????

参考资料:

HBC的深度NGS数据分析课程
MCAS2文档

相关文章

网友评论

  • Dawn_WangTP:"MCAS2中放宽q-value的阈值并不会得到更多的peaks,而是得到更宽的peaks,因为这里q值是和峰宽相关"。。我在测试了qvalue的不同值0.1/0.01/0.001时,得到的peaks的数量是随着qvalue值的变小 而peaks的数量变少啊?
    六六_ryx:谢谢指出错误,已更改。原文是“Relaxing the q-value does not behave as expected in this case since it is partially tied to peak widths. Ideally, if you relaxed the thresholds, you would simply get more peaks but with MACS2 relaxing thresholds also results in wider peaks.”我理解的是放宽阈值,不仅可以得到更多的peaks,也会导致更宽的peaks。

本文标题:第3篇:用MACS2软件call peaks

本文链接:https://www.haomeiwen.com/subject/rbtabftx.html