MACS2学习笔记

安装默认使用Conda

macs2的基本命令

macs2 callpeak -t treatment.bam -c control.bam -g hs -B -f BAM -n prefix -q 0.00001
macs2 callpeak -t treatment.bam -c control.bam -g hs -B -f BAMPE -n prefix -q 0.00001

参数解读:

-g 基因组的选择
-B 输出bgd文件,下游bigwig文件生成所需
-f 双端测序使用BAMPE,单端的话不需要加参数,默认是auto识别,但是识别不了BAMPE
-q 使用阈值,根据需要选择

输出文件包括

prefix_model.r
prefix_peaks.narrowPeak
prefix_peaks.xls
prefix_summits.bed
prefix_treat_pileup.bdg
prefxi_ _treat_pvalue.bdg

prefix_model.r 为模型建立示意图,使用Rscript prefix_model.r 命令可以在Linux环境下作图

prefix_peaks.xls 为包含了peak信息的表格,可以用excel打开,其中包括:

    染色体

    peak起始位点

    peak终止位点

    peak区域的长度

    peak定点的绝对位置

    堆积信号值及其-log10(pvalue)

    fold enrichment及其-log10(pvalue)

#注意:XLS文件里面的起始位点和GFF文件相似从1起始,bed文件从0开始

prefix_peaks.narrowPeak 为包含了peak位置及summit位置,p值,q值的文件,可以直接上传到UCSC browser,其中特定列的信息为:

    5th:整数信号值

    7th:fold-change

    8th:-log10 pvalue

    9th:-log10 qvalue

    10th:summit距离peak起始位点的距离

prefix_summits.bed 包含每个peak峰顶summit的位置,等同于从narrowPeak文件里面剥离出来的,方便用来寻找motif的binding,同样可以载入UCSC

prefix_peaks.broadPeak &prefix_peaks.gappedPeak 文件都是为选择 -broad 参数后得到的文件,本质上和narrowPeak文件一致,不过增加了broadregion,当然summit的定义也有区别,需要自己去指定

prefix_treat_pileup.bdg 文件为输入文件treat组的bedGraph file, prefxi_ _treat_pvalue.bdg为对照组的bedGraph file
为了方便在IGV上查看ChIP-seq的结果和后期的可视化展示,所以我们需要把macs2的结果转化为bw提供给IGV(bdg file to wig file transformation)
一共分为三步

1.首先使用bdgcmp得到FE或者logLR转化后的文件(Run MACS2 bdgcmp to generate fold-enrichment and logLR track)

macs2 bdgcmp -t H3K36me1_EE_rep1_treat_pileup.bdg -c H3K36me1_EE_rep1_control_lambda.bdg -o H3K36me1_EE_rep1_FE.bdg -m FE

macs2 bdgcmp -t  H3K36me1_EE_rep1_treat_pileup.bdg -c H3K36me1_EE_rep1_control_lambda.bdg -o H3K36me1_EE_rep1_logLR.bdg -m logLR -p 0.00001

# 参数解释

-m FE 计算富集倍数降低噪音

-p 为了避免log的时候input值为0时发生error,给予一个很小的值

2. 预处理文件与对应参考基因组染色体长度文件下载

    使用conda安装以下三个处理软件:bedGraphToBigWig/bedClip/bedtools

    下载染色体长度文件:http://hgdownload.cse.ucsc.edu/goldenPath/hg19/database/chromInfo.txt.gz 并解压(针对human,其余物种的皆可以按照类似网址下载)

    写一个小小的sh脚本方便一步转化name.sh:

#!/bin/bash

# check commands: slopBed, bedGraphToBigWig and bedClip

which bedtools &>/dev/null || { echo "bedtools not found! Download bedTools: "; exit 1; }

which bedGraphToBigWig &>/dev/null || { echo "bedGraphToBigWig not found! Download: "; exit 1; }

which bedClip &>/dev/null || { echo "bedClip not found! Download: "; exit 1; }

# end of checking

if [ $# -lt 2 ];then

echo "Need 2 parameters!  "

exit

fi

F=$1

G=$2

bedtools slop -i ${F} -g ${G} -b 0 | bedClip stdin ${G} ${F}.clip

LC_COLLATE=C sort -k1,1 -k2,2n ${F}.clip > ${F}.sort.clip

bedGraphToBigWig ${F}.sort.clip ${G} ${F/bdg/bw}

rm -f ${F}.clip ${F}.sort.clip

chmod +x name.sh

3. 最后就是生成bw文件

./name.sh H3K36me1_EE_rep1_FE.bdg hg19.len

./name.sh H3K36me1_EE_rep1_logLR.bdg hg19.len

最后得到产物,至于的使用哪一个作为输入文件大家就根据需要来吧

H3K36me1_EE_rep1_FE.bw 

H3K36me1_EE_rep1_logLR.bw

参考文献:

https://github.com/taoliu/MACS

https://github.com/taoliu/MACS/wiki/Build-Signal-Track#Fix_the_bedGraph_and_convert_them_to_bigWig_files

你可能感兴趣的:(MACS2学习笔记)