美文网首页小教程收藏
了解一下call peaks的MACS

了解一下call peaks的MACS

作者: 刘小泽 | 来源:发表于2020-06-12 23:39 被阅读0次

    刘小泽写于2020.6.12
    来自:https://hbctraining.github.io/Intro-to-ChIPseq/lessons/05_peak_calling_macs.html
    看到好资料顺手整理一下

    • MACS全称是:Model-based Analysis of ChIP-seq (MACS):https://github.com/taoliu/MACS

    • 它开发的初衷是检测转录因子结合位点(transcription factor binding sites,TFBS),后来也出了broad peaks和mix模式(比如PolII的结合存在于启动子和跨越基因长度,broad和narrow并存)

    • 通过整合测序reads位置和来源信息,增强了结合位点的空间分辨率

    • 可以针对某一个样本,也可以结合一个control对照(可以增加鉴定peaks的特异性)

    • 整个流程是:

    去重复

    • 重复的定义是:同一链的同一坐标,多个reads

    • 提供了多个参数:默认(auto)是一个位置只保留一条read。另外还有:

      • all:保留所有重复reads
      • integer:指定一个位点最多包含几个重复reads
    • 这个操作对ChIP和control样本同时处理

    • 重复也分好坏

      • 不容忍的重复:起始底物浓度低,容易导致过度扩增(overamplification),产生的是PCR重复;另外blacklisted (repeat) regions with ultra high signal也具有很高的重复,因此在分析前去掉这部分区域也是有帮助的

      • 可以考虑的重复:如果测序深度过高或者蛋白只是结合很少几个位点,那么这其实是真的生物学重复,去掉会丢失一些信号

      • 如何处理?

      1. Consider your enrichment efficiency and sequencing depth. 用IGV查看:真正的峰会有多个有偏移的重叠reads,而只有PCR重复的样品在没有偏移的情况下也能完美地叠加
      2. 如果要进行differential binding analysis,可以保留
      3. 如果知道是在基因组重复区域结合的,就需要使用双端测序,并要保留
      4. 除此以外,最好在call peaks之前去掉重复

    Modeling the shift size

    一个真实的结合位点处的reads分布应该是:双峰(bimodal or paired peaks)。MACS就会利用这个双峰进行建模,估计shift size,来定位预测的结合位点

    如何建模?

    • 基于ChIP样本,在全基因组范围扫描数据,寻找置信度高的富集区域
    • 需要指定参数bandwidth(超声破碎的大小)、mfold(阈值high-confidence fold-enrichment)
    • 然后沿着基因组滑动窗口

    shift size:

    MACS会随机抽样1000个高质量的peaks,将正负链的reads区分开来,并按照reads的中心点进行映射,得到两种peaks,峰越高说明这里的reads越多。最后,两种peaks的中心点之间的距离定义为d(表示estimated fragment length)。之后MACS将所有reads向3‘端移动d/2的距离,得到最可能的蛋白-DNA结合区域

    Scaling libraries

    如果input和treat样本之间的测序深度不同,MACS会对文库进行矫正,让input向treat靠拢。结果就是:total control read count to be the same as the total ChIP read count

    中间计算过程还需要考虑

    • Effective genome length
    • Peak detection:
      The read distribution along the genome can be modeled by a Poisson distribution 泊松分布
      The Poisson is a one parameter model, where the parameter λ is the expected number of reads in that window.
      MACS uses a dynamic parameter, λlocal, defined for each candidate peak.

    Estimation of false discovery rate

    A region is considered to have a significant tag enrichment if the p-value < 10e-5

    MACS 1.4版本设定FDR是根据经验

    MACS2:多重比较 Benjamini-Hochberg correction

    MACS2的功能

    这里重点关注核心功能——callpeak

    输入参数

    • -t:IP样本(表示treat)
    • -c:control或mock样本
    • -f:数据类型,默认是AUTO,MACS自动判断数据类型
      可以指定:ELAND, BED, ELANDMULTI, ELANDEXPORT, SAM, BAM, BOWTIE, BAMPE, or BEDPE【Eland:是过时了的带比对信息的序列文件,目前基本已经被淘汰】
    • -g:有效基因组大小。由于染色体存在重复区域,实际比对过程中使用的基因组,比实际的基因组范围要小(可能也就是真实基因组的90%或70%)
      默认是hs -- 2.7e9,另外还有:mm: 1.87e9、ce: 9e7、dm: 1.2e8

    输出参数

    • --outdir:输出文件夹
    • -n:输出文件的前缀
    • -B/--bdg:把fragment pileup, control lambda, -log10pvalue and -log10qvalue这些值存到bedGraph文件,命名为NAME_treat_pileup.bdg或NAME_control_lambda.bdg

    Shifting model参数

    • -s/--tsize:reads的长度。如果不设置,MACS会使用前10条序列自己判断
    • --bw:建模过程中使用的bandwidth值,即破碎后DNA fragment片段大小
    • --mfold:建模过程使用的阈值

    Peak calling参数:

    • -q:minimum FDR cutoff
    • -p:p-value cutoff(替代q-value)
    • --broad:调用broad peak calling

    举个例子:

    macs2 callpeak -t bowtie2/H1hesc_Nanog_Rep1_aln.bam \
        -c bowtie2/H1hesc_Input_Rep1_aln.bam \
        -f BAM -g 1.3e+8 \
        -n Nanog-rep1 \
        --outdir macs2
    

    整个运行过程会打印很多日志,所以可以使用重定向将日志保存

    输出的文件

    一般一个样本会得到6个文件:

    • _peaks.narrowPeak: BED6+4 format file which contains the peak locations together with peak summit, pvalue and qvalue
    • _peaks.xls: a tabular file which contains information about called peaks. Additional information includes pileup and fold enrichment
    • _summits.bed: peak summits locations for every peak. To find the motifs at the binding sites, this file is recommended
    • _model.R: an R script which you can use to produce a PDF image about the model based on your data and cross-correlation plot
    • _control_lambda.bdg: bedGraph format for input sample
    • _treat_pileup.bdg: bedGraph format for treatment sample

    了解下文件格式:

    • narrowPeak:ENCODE计划使用的BED 6+4格式,前6列是标准格式,后4列是附加
    • WIG:全称是Wiggle format (WIG),表示基因组上一个区域的信号。详情在http://genome.ucsc.edu/goldenPath/help/wiggle.html
      它的二进制版本是:bigwig,可以用UCSC的工具wigToBigWig 转换一下

      例如:

      # 来自:http://www.chenlianfu.com/?p=2366
      track type=wiggle_0 name="sampleA1" description="RNA-Seq read counts of species A"
      variableStep chrom=chr01 span=10
      10001    13
      10011    15
      10021    12
      fixedStep chrom=chr01 start=100031 step=10 span=10
      17
      15
      20
      
      1. 第一行必须如理示例中格式。只有name和description这两个参数的值可以随意填写。
      2. 有两种方法进行数据描述。分别是variableStep和fixedStep。前者数据内容用2列表示,后者数据部分仅用1列表示。
      3. 这两种方法的几个参素意义为:
          chrom    设置序列名
          start    fixStep中Locus的起始位置
          step     fixStep中Locus的步进
          span     一个数据对应碱基数目
      
    • BedGraph:用窗口的方式代替原始的每个碱基的测序深度,文件分为track line、data line,详情在:http://genome.ucsc.edu/goldenPath/help/bedgraph.html

      bedgraph在原始depth的基础上合并了相同测序深度的连续碱基

    统计一下每个样本中有多少peaks:

    wc -l *.narrowPeak
    

    如果要看shift size的图:

    同时还会生成一个cross-correlation plot(Pearson相关性图)

    Rscript Nanog-rep1_model.r
    

    欢迎关注我们的公众号~_~  
    我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到jieandze1314@gmail.com

    Welcome to our bioinfoplanet!

    相关文章

      网友评论

        本文标题:了解一下call peaks的MACS

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