关于macs2

1. macs2 bdgcmp的用法

macs2 bdgcmp是用来比较和处理两个由MACS2生成的bedGraph文件的。它的主要用途是从两个比较的样本中生成一个对数比率文件(logLR文件)或者差分文件。

以下是使用macs2 bdgcmp的基本语法:

macs2 bdgcmp -t treatment_file -c control_file -o output_file -m method

在这个命令中:

-t后面跟的是处理组的bedGraph文件。
-c后面跟的是对照组的bedGraph文件。
-o后面跟的是输出文件的名字。
-m后面跟的是你想使用的计算方法,可以是ppois(两个泊松分布的比率),subtract(直接相减),logFE(对数尺度的叠加比),logLR(对数似然比),log2LR(对数尺度的似然比)。
例如,如果你想用对数似然比方法比较treat.bdg和control.bdg文件,你可以使用以下命令:

macs2 bdgcmp -t treat.bdg -c control.bdg -o treat_vs_control.bdg -m logLR

这个命令会生成一个名为treat_vs_control.bdg的文件,其中包含了对数似然比。

请注意,所有的命令和选项都应当根据你的实际需要和数据来选择和调整。在使用macs2 bdgcmp之前,你可能需要先使用macs2 callpeak来生成peak调用结果,然后使用macs2 bdgpeakcall或者其他方法来生成bedGraph文件。

2. macs2 callpeak命令

可以生成多种类型的输出文件,包括:

_peaks.xls:包含了所有peaks的详细列表。
_peaks.narrowPeak:BED格式的文件,包含了所有的peaks。
_summits.bed:包含了所有peaks的顶峰位置的BED文件。
另外,你可以用-B和--SPMR选项让MACS2生成bedGraph文件,这个文件中包含了每个基因组位置的覆盖度或者"信号强度":

macs2 callpeak -t treatment.bam -c control.bam -f BAM -g hs -n sample -B --SPMR

在这个命令中:

-t后面跟的是处理组的BAM文件。
-c后面跟的是对照组的BAM文件。
-f BAM说明输入文件是BAM格式的。
-g hs指定基因组大小为human。
-n后面跟的是输出文件的前缀。
-B告诉MACS2生成bedGraph文件。
--SPMR让MACS2将bedGraph文件中的读数转化为每百万reads的比率。
这样生成的_treat_pileup.bdg文件就包含了处理组的定量信号,其中每个位置的值代表了那个位置的reads覆盖度,已经被标准化为每百万reads的比率。

然而,需要注意的是这个"信号强度"并不是-logP值。-logP值通常用于表示某个事件的统计显著性,比如某个位置是一个显著的peak的概率。
在MACS2的peak calling结果中,_peaks.xls和_peaks.narrowPeak文件中包含了每个peak的-log10(qvalue),这个qvalue是经过多重检验修正的p值,可以用于评估每个peak的显著性。

3 take home message

_peaks.narrowPeak文件是MACS2的peak calling结果,每一行代表一个peak。每个peak包含了染色体位置(起始位置和结束位置)、名称、p值、q值等信息。在这个文件中,只有被识别为peaks的基因组区域有对应的行,其他非peak区域并没有记录在文件中。

_treat_pileup.bdg文件是MACS2生成的覆盖度文件,每一行代表一个基因组区域(通常为固定的窗口大小,如1bp)。在这个文件中,每个位置(或窗口)的值代表了这个位置的reads覆盖度(或标准化后的覆盖度,如果使用了--SPMR选项)。

因此,_peaks.narrowPeak文件和_treat_pileup.bdg文件提供了不同的信息:

_peaks.narrowPeak文件提供了每个peak的显著性(p值或q值),可以用来鉴别哪些位置是蛋白质-DNA结合的显著位置。
_treat_pileup.bdg文件提供了每个位置的reads覆盖度,可以用来评估每个位置的信号强度或者reads丰度。
将_peaks.narrowPeak文件转换为bedGraph格式,只能得到peak位置的-log10(pvalue)或-log10(qvalue)。非peak区域并没有记录在文件中,或者需要被设置为0或其他默认值。

将_treat_pileup.bdg文件转换为bigwig格式,可以得到整个基因组每个位置的reads覆盖度,包括peak区域和非peak区域。

因此,如果你希望得到每个peak的显著性,你应该使用_peaks.narrowPeak文件。如果你希望得到每个位置的reads覆盖度,你应该使用_treat_pileup.bdg文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容