admin管理员组

文章数量:1035922

评估 ChIP

目前关于 ChIP-Seq 实验中,虽然有的只有一个样本,但目前有很多数据都进行了生物学重复,为了评估重复之间的一致性,我们需要客观评估高通量测定可重复性的指标。

IDR(不可重复发现率),用于衡量重复实验中识别出的发现的可重复性,并根据可重复性提供高度稳定的阈值。与常见的可重复性标量指标(单一数值)不同,IDR方法通过生成一条曲线,定量评估发现的跨重复一致性何时开始下降(即结果不再稳定可重复)。

简单来说,DR的核心目标是:通过比较重复实验(如两次ChIP-seq、RNA-seq等)的结果,确定哪些“发现”(如基因、结合位点)是跨重复一致的可信信号,哪些是随机噪声

IDR是一个开源软件 (),经过测试可以直接使用 conda 工具下载, 但官网有推荐的下载方式。

第一步:准备数据

我这里直接使用 MACS2 callpeak 后的两次重复。

代码语言:javascript代码运行次数:0运行复制
Nanog-rep1_peaks.narrowPeak
Nanog-rep2_peaks.narrowPeak

第二步:排序

要运行 IDR,建议以不太严格的方式运行 MACS2。IDR算法需要对信号和噪声分布进行采样,以将峰值分成两组,因此使用更宽松的阈值可以让我们引入一些噪声。此外,narrowPeak 文件必须按-log10(p-value)列排序。

代码语言:javascript代码运行次数:0运行复制
sort -k8,8nr Nanog-rep1_peaks.narrowPeak > Nanog_Rep1_sorted_peaks.narrowPeak

sort -k8,8nr Nanog-rep2_peaks.narrowPeak > Nanog_Rep2_sorted_peaks.narrowPeak

第三步:运行命令

代码语言:javascript代码运行次数:0运行复制
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

结果解读

命令很顺利,但看的懂结果才是关键。命名结束后生成了两个数据。

代码语言:javascript代码运行次数:0运行复制
-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=1000:IDR=0(完全可重复)
  • score=540:IDR=0.05(阈值内可信)
  • score=0:IDR=1.0(完全不可重复)

第 11 列和第 12 列分别对应本地和全局 IDR 值。

  • 全局 IDR是用于计算第 5 列中缩放 IDR 数的值,它类似于对 p 值进行多重假设校正以计算 FDR
  • 局部IDR类似于峰值属于不可重现噪声成分的后验概率。

第 13 列至第 16 列对应于重复 1 峰数据第 17 列至第 20 列对应于重复 2 峰数据

详细如下:

字段名 (Field)

类型

中文解释

备注

chrom

string

染色体名称

表示共有峰所在的染色体(如chr1、chr2等)。

chromStart

int

起始位置

基于偏移量调整后的染色体起始坐标(从0开始计数)。

chromEnd

int

终止位置

染色体终止坐标(终止碱基不包含在区域内)。

name

string

区域名称

唯一标识符,若无命名则用.表示。

score

int

缩放后的IDR值

公式:int(-125 * log2(IDR)),IDR=0时为1000,IDR=0.05时为540,IDR=1.0时为0。

strand

[+-.]

链方向

+、-或.(未指定链)。

signalValue

float

信号富集值

合并峰后的富集强度,反映区域在实验中的活跃程度(如reads覆盖度)。signalValue反映信号强度,p-value和q-value衡量显著性。IDR筛选后保留的峰通常兼具高信号和低p值

p-value

float

合并峰p值

显著性检验p值,来源于输入文件。

q-value

float

合并峰q值

经多重检验校正后的显著性值。

summit

int

合并峰峰顶位置

峰信号最强的中心位置。

localIDR

float

局部IDR值的负对数(-log10)

值越大,局部不可重复性越低。

globalIDR

float

全局IDR值的负对数(-log10)

反映整体不可重复性水平。

rep1_chromStart

int

重复样本1的起始位置

重复样本1中对应峰的起始坐标(基于偏移量)。

rep1_chromEnd

int

重复样本1的终止位置

重复样本1中对应峰的终止坐标。

rep1_signalValue

float

重复样本1的信号值

根据--rank参数选择对应输入文件的列(如p.value对应第8列,signal.value对应第7列)。

rep1_summit

int

重复样本1的峰顶位置

重复样本1中峰信号最强的中心位置。

rep2_chromStart 等

int

重复样本2(及后续样本)的对应字段

字段含义与重复样本1相同,用于多重复分析。

  1. 我们有两个重复样本,我们先看 IDR 考虑了多少重叠的 peaks。
代码语言:javascript代码运行次数:0运行复制
$ wc -l Nanog-idr.png
1722 Nanog-idr.png
  1. 这两个重复样本,重叠区域有多少区域 IDR < 0.05 呢。
代码语言:javascript代码运行次数:0运行复制
$ awk '{if($5 >= 540) print $0}' Nanog-idr | wc -l
1314

我们就可以拿这些更可信的区域进行我们的其他分析

结果2

IDR 软件同时生成了四幅图,其实是对结果1的总结和可视化。

左上角

横纵坐标轴是标准化后的相对排名比例

  • 0:表示排序最末的峰(Rank = N)。
  • 1:表示排序最高的峰(Rank = 1)。
  • 中间值:如0.5对应前50%的峰。

这个排名就是我们按照-log10(p-value)列进行的排序。其中未通过指定 idr 阈值(0.05)的峰值显示为红色。

理想情况下,真实信号在重复中排序一致(点沿对角线分布),在一个样本中信号排名高,在另个样本中同样是这样的,排名就会有一致性。

右上图

信号强度值(score),经过对数转换,值越大,代表该峰在Rep1中的统计显著性越高或信号越强。

同样,理想情况下,真实信号在重复中排序一致(点沿对角线分布)。

下图

重复样本箱线图分布

  • 横轴按分箱(如每100个峰为一组)显示,每个分箱对应一个箱线图,展示该排名区间内IDR值的分布。
  • 箱体范围:表示第25-75百分位数的IDR值区间。
  • 中位线:反映该排名区间的IDR中位数,中位数越低(纵轴值越大),峰越可信。
  • 离群点:超出箱体范围的离散点,提示异常峰(可能为技术误差或低置信信号)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-17,如有侵权请联系 cloudcommunity@tencent 删除int排序软件数据算法

评估 ChIP

目前关于 ChIP-Seq 实验中,虽然有的只有一个样本,但目前有很多数据都进行了生物学重复,为了评估重复之间的一致性,我们需要客观评估高通量测定可重复性的指标。

IDR(不可重复发现率),用于衡量重复实验中识别出的发现的可重复性,并根据可重复性提供高度稳定的阈值。与常见的可重复性标量指标(单一数值)不同,IDR方法通过生成一条曲线,定量评估发现的跨重复一致性何时开始下降(即结果不再稳定可重复)。

简单来说,DR的核心目标是:通过比较重复实验(如两次ChIP-seq、RNA-seq等)的结果,确定哪些“发现”(如基因、结合位点)是跨重复一致的可信信号,哪些是随机噪声

IDR是一个开源软件 (),经过测试可以直接使用 conda 工具下载, 但官网有推荐的下载方式。

第一步:准备数据

我这里直接使用 MACS2 callpeak 后的两次重复。

代码语言:javascript代码运行次数:0运行复制
Nanog-rep1_peaks.narrowPeak
Nanog-rep2_peaks.narrowPeak

第二步:排序

要运行 IDR,建议以不太严格的方式运行 MACS2。IDR算法需要对信号和噪声分布进行采样,以将峰值分成两组,因此使用更宽松的阈值可以让我们引入一些噪声。此外,narrowPeak 文件必须按-log10(p-value)列排序。

代码语言:javascript代码运行次数:0运行复制
sort -k8,8nr Nanog-rep1_peaks.narrowPeak > Nanog_Rep1_sorted_peaks.narrowPeak

sort -k8,8nr Nanog-rep2_peaks.narrowPeak > Nanog_Rep2_sorted_peaks.narrowPeak

第三步:运行命令

代码语言:javascript代码运行次数:0运行复制
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

结果解读

命令很顺利,但看的懂结果才是关键。命名结束后生成了两个数据。

代码语言:javascript代码运行次数:0运行复制
-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=1000:IDR=0(完全可重复)
  • score=540:IDR=0.05(阈值内可信)
  • score=0:IDR=1.0(完全不可重复)

第 11 列和第 12 列分别对应本地和全局 IDR 值。

  • 全局 IDR是用于计算第 5 列中缩放 IDR 数的值,它类似于对 p 值进行多重假设校正以计算 FDR
  • 局部IDR类似于峰值属于不可重现噪声成分的后验概率。

第 13 列至第 16 列对应于重复 1 峰数据第 17 列至第 20 列对应于重复 2 峰数据

详细如下:

字段名 (Field)

类型

中文解释

备注

chrom

string

染色体名称

表示共有峰所在的染色体(如chr1、chr2等)。

chromStart

int

起始位置

基于偏移量调整后的染色体起始坐标(从0开始计数)。

chromEnd

int

终止位置

染色体终止坐标(终止碱基不包含在区域内)。

name

string

区域名称

唯一标识符,若无命名则用.表示。

score

int

缩放后的IDR值

公式:int(-125 * log2(IDR)),IDR=0时为1000,IDR=0.05时为540,IDR=1.0时为0。

strand

[+-.]

链方向

+、-或.(未指定链)。

signalValue

float

信号富集值

合并峰后的富集强度,反映区域在实验中的活跃程度(如reads覆盖度)。signalValue反映信号强度,p-value和q-value衡量显著性。IDR筛选后保留的峰通常兼具高信号和低p值

p-value

float

合并峰p值

显著性检验p值,来源于输入文件。

q-value

float

合并峰q值

经多重检验校正后的显著性值。

summit

int

合并峰峰顶位置

峰信号最强的中心位置。

localIDR

float

局部IDR值的负对数(-log10)

值越大,局部不可重复性越低。

globalIDR

float

全局IDR值的负对数(-log10)

反映整体不可重复性水平。

rep1_chromStart

int

重复样本1的起始位置

重复样本1中对应峰的起始坐标(基于偏移量)。

rep1_chromEnd

int

重复样本1的终止位置

重复样本1中对应峰的终止坐标。

rep1_signalValue

float

重复样本1的信号值

根据--rank参数选择对应输入文件的列(如p.value对应第8列,signal.value对应第7列)。

rep1_summit

int

重复样本1的峰顶位置

重复样本1中峰信号最强的中心位置。

rep2_chromStart 等

int

重复样本2(及后续样本)的对应字段

字段含义与重复样本1相同,用于多重复分析。

  1. 我们有两个重复样本,我们先看 IDR 考虑了多少重叠的 peaks。
代码语言:javascript代码运行次数:0运行复制
$ wc -l Nanog-idr.png
1722 Nanog-idr.png
  1. 这两个重复样本,重叠区域有多少区域 IDR < 0.05 呢。
代码语言:javascript代码运行次数:0运行复制
$ awk '{if($5 >= 540) print $0}' Nanog-idr | wc -l
1314

我们就可以拿这些更可信的区域进行我们的其他分析

结果2

IDR 软件同时生成了四幅图,其实是对结果1的总结和可视化。

左上角

横纵坐标轴是标准化后的相对排名比例

  • 0:表示排序最末的峰(Rank = N)。
  • 1:表示排序最高的峰(Rank = 1)。
  • 中间值:如0.5对应前50%的峰。

这个排名就是我们按照-log10(p-value)列进行的排序。其中未通过指定 idr 阈值(0.05)的峰值显示为红色。

理想情况下,真实信号在重复中排序一致(点沿对角线分布),在一个样本中信号排名高,在另个样本中同样是这样的,排名就会有一致性。

右上图

信号强度值(score),经过对数转换,值越大,代表该峰在Rep1中的统计显著性越高或信号越强。

同样,理想情况下,真实信号在重复中排序一致(点沿对角线分布)。

下图

重复样本箱线图分布

  • 横轴按分箱(如每100个峰为一组)显示,每个分箱对应一个箱线图,展示该排名区间内IDR值的分布。
  • 箱体范围:表示第25-75百分位数的IDR值区间。
  • 中位线:反映该排名区间的IDR中位数,中位数越低(纵轴值越大),峰越可信。
  • 离群点:超出箱体范围的离散点,提示异常峰(可能为技术误差或低置信信号)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-03-17,如有侵权请联系 cloudcommunity@tencent 删除int排序软件数据算法

本文标签: 评估 ChIP