我正在使用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],]))我试图找到的是解决方案数据帧中命中的重叠片段的宽度,但我唯一能获得的宽度是与重叠过程之前的原始抄本相关的宽度。
您能帮我一下吗?
发布于 2013-02-04 19:49:33
您可以在hits类(findOverlaps的结果)上应用ranges函数。ranges返回包含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 1https://stackoverflow.com/questions/14685802
复制相似问题