【问题标题】:Width of the overlapped segment in GenomicRanges packageGenomicRanges 包中重叠段的宽度
【发布时间】:2013-01-19 02:19:58
【问题描述】:

我正在使用 GenomicRanges 来查找一个实验的哪些转录本与另一个实验的转录本重叠。

head(to_ranges1)
   knowngene  chr strand Start    Gene
1 uc001aaa.3  chr1    +  9873 16409   DDX11L1
2 uc001aac.4  chr1    - 12361 31370  WASH7P
3 uc001aae.4  chr1    - 12361 21759  WASH7P
library(GenomicRanges)
object_one<-with(to_ranges, GRanges(chr, IRanges(Start,End), 
                                     strand,names=knowngene,Gene=Gene)
object_two<-with(to_ranges, GRanges(chr, IRanges(Start,End), 
                                     strand,names=knowngene, Gene=Gene))
mm<-findOverlaps(object_one,object_two)
solution <- data.frame(as.data.frame(object_one[as.matrix(mm)[,1],]),
                       as.data.frame(object_two[as.matrix(mm)[,2],]))

我试图找到的是解决方案数据框中的命中之间的重叠段的宽度,但是我能得到的唯一宽度是与重叠过程之前的原始成绩单相关。

你能帮我吗?

【问题讨论】:

    标签: r overlapping bioconductor segments


    【解决方案1】:

    您可以将 ranges 函数应用于 hits 类(findOverlaps 的结果)。 range 返回一个 Ranges,其中包含 Ranges 对象查询和主题中范围的交集。

    你没有提供一个可重现的例子,所以这里是一个例子:

    query <- IRanges(c(1, 4, 9), c(5, 7, 10))
    subject <- IRanges(c(2, 2, 10), c(2, 3, 12))
    mm <- findOverlaps(query,subject)
    ranges(mm,query,subject)
    Ranges of length 3
        start end width
    [1]     2   2     1
    [2]     2   3     2
    [3]    10  10     1
    

    【讨论】:

    • 请注意(a)ranges 现在已弃用,(b)它只需要IRanges,没有GRanges(因此忽略染色体)。现在更好的方法是:support.bioconductor.org/p/72656
    猜你喜欢
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多