了解RLE覆盖值

时间:2015-05-26 00:01:33

标签: r range bioconductor

使用R和bioconductor。

我不确定如何理解您从coverage()这样的函数中获取的整数值

integer-Rle of length 3312 with 246 runs
  Lengths:  25  34 249  16   7  11  16 ...   2  32   2  26  34  49
  Values :   0   1   0   1   2   3   2 ...   1   2   1   0   1   0

好的,所以我得到它代表一个范围与其他范围的覆盖范围。在这种情况下,读取给定范围内的实验。 '运行'意思?那长度'怎么样?和'价值观'?我认为也许长度代表一个位置,值代表它覆盖的次数但是为什么会有相同位置的倍数,如上面的2?他们为什么会出故障?

我问,因为我正在使用

sum(coverage)

将一个范围的覆盖范围与不同长度的范围进行比较,我想知道这是否合适。

2 个答案:

答案 0 :(得分:2)

在Bioconductor support site上询问Bioconductor封装可能会更好。

解释是有一个25个核苷酸的覆盖率为0,然后是一个24个核苷酸,一个覆盖率(即一次读取)然后另一个249个核苷酸的运行没有覆盖,然后事情开始变得有趣因为多个读数重叠位置。从输出顶部的汇总行,您的阅读涵盖3312个核苷酸,可能来自单个成绩单?如果你要

plot(as.integer(coverage))

您可以快速了解保险范围在成绩单长度上的变化情况。

也许sum(coverage)是合适的;更常见的指标是计算读数而不是覆盖率,例如,在RNA-seq的上下文中使用DESeq2 work flow中所示的GenomicRanges::summarizeOverlaps()计算。

答案 1 :(得分:0)

这可能有助于理解RLE的概念:https://www.youtube.com/watch?v=ypdNscvym_E

这是一个简单的例子:

> x <- IRanges(start=c(-2L, 1L, 3L),
+              width=c( 5L, 4L, 6L))
> x
IRanges of length 3
    start end width
[1]    -2   2     5
[2]     1   4     4
[3]     3   8     6
> coverage(x)
integer-Rle of length 8 with 2 runs
  Lengths: 4 4
  Values : 2 1

输出表示前4个地方是2个包,接下来的4个地方是单包。包括0和0以下的所有地方都被忽略了! 长度意味着我们正在查看的完整范围,即所有地方在一起,是8。 运行是发生的包的类型。在这里,我们只有重叠,包括两个范围(两个包)和不重叠的重叠(单个包)。