目前关于 ChIP-Seq 实验中,虽然有的只有一个样本,但目前有很多数据都进行了生物学重复,为了评估重复之间的一致性,我们需要客观评估高通量测定可重复性的指标。
IDR(不可重复发现率)
,用于衡量重复实验中识别出的发现的可重复性,并根据可重复性提供高度稳定的阈值。与常见的可重复性标量指标(单一数值)不同,IDR方法通过生成一条曲线,定量评估发现的跨重复一致性何时开始下降(即结果不再稳定可重复)。
简单来说,DR的核心目标是:
通过比较重复实验(如两次ChIP-seq、RNA-seq等)的结果,确定哪些“发现”(如基因、结合位点)是跨重复一致的可信信号,哪些是随机噪声
。
IDR
是一个开源软件 (https://github.com/nboley/idr),经过测试可以直接使用 conda 工具下载, 但官网有推荐的下载方式。
第一步:准备数据
我这里直接使用 MACS2 callpeak 后的两次重复。
Nanog-rep1_peaks.narrowPeak
Nanog-rep2_peaks.narrowPeak
第二步:排序
要运行 IDR,建议以
不太严格的方式运行 MACS2。IDR
算法需要对信号和噪声分布进行采样,以将峰值分成两组,因此使用更宽松的阈值可以让我们引入一些噪声。此外,narrowPeak 文件必须按
-log10(p-value)
列排序。
sort -k8,8nr Nanog-rep1_peaks.narrowPeak > Nanog_Rep1_sorted_peaks.narrowPeak
sort -k8,8nr Nanog-rep2_peaks.narrowPeak > Nanog_Rep2_sorted_peaks.narrowPeak
第三步:运行命令
idr --samples Nanog_Rep1_sorted_peaks.narrowPeak Nanog_Rep2_sorted_peaks.narrowPeak \
--input-file-type narrowPeak \
--rank p.value \
--output-file Nanog-idr \
--plot \
--log-output-file nanog.idr.log
结果解读
命令很顺利,但看的懂结果才是关键。命名结束后生成了两个数据。
-rw-rw-r-- 1 zs347 zs347 686K Mar 17 20:13 Nanog-idr
-rw-rw-r-- 1 zs347 zs347 393K Mar 17 20:13 Nanog-idr.png
结果1
IDR 生成了一个类似我们输入的文件,不过多了几列数据
**第 5 列包含缩放的 IDR 值,
min(int(log2(-125IDR), 1000)
**例如,IDR 为 0 的峰值的得分为 1000,IDR 为 0.05 的峰值的得分为 int(-125log2(0.05)) = 540,IDR 为 1.0 的峰值的得分为 0。
IDR值越小,结果越可信。例如:
-
-
score=540
:IDR=0.05(阈值内可信)
-
第 11 列和第 12 列分别对应本地和全局 IDR 值。
-
全局 IDR
是用于计算第 5 列中缩放 IDR 数的值,它
类似于对 p 值进行多重假设校正以计算 FDR
。
-
局部
IDR
类似于峰值属于不可重现噪声成分的后验概率。
第 13 列至第 16 列对应于重复 1 峰数据
,
第 17 列至第 20 列对应于重复 2 峰数据
详细如下:
字段名 (Field)
|
类型
|
中文解释
|
备注
|
chrom
|
|
|
表示共有峰所在的染色体(如chr1、chr2等)。
|
chromStart
|
|
|
基于偏移量调整后的染色体起始坐标(从0开始计数)。
|
chromEnd
|
|
|
|
name
|
|
|
|
score
|
|
|
公式:
int(-125 * log2(IDR))
,IDR=0时为1000,IDR=0.05时为540,IDR=1.0时为0。
|
strand
|
|
|
+
|
signalValue
|
|