我正在尝试使用IRanges将一组范围分组为唯一的集合。我希望至少有100个重叠部分。这不管用。有人能帮我吗?我怀疑这与reduce()的工作方式有关,但我似乎想不出解决方案。
示例:
start.vec<-c(2021,2378,2718,2275)
end.vec<-c(2374,2737,3408,3408)
ir<-IRanges(start.vec,end.vec)
grouped<-subjectHits(findOverlaps(ir,reduce(ir),minoverlap=100))发布于 2013-03-27 01:18:35
不是100%确定你在找什么,但是如果我
> hits = findOverlaps(ir, minoverlap=100L)我得到了一个对象,它告诉我哪些查询与哪些主题重叠,哪些查询和主题实际上是相同的范围
> hits
Hits of length 10
queryLength: 4
subjectLength: 4
queryHits subjectHits
<integer> <integer>
1 1 1
2 1 4
3 2 2
4 2 4
5 3 3
6 3 4
7 4 1
8 4 2
9 4 3
10 4 4 我可以获得一个集合列表,如下所示
> split(subjectHits(hits), queryHits(hits))
$`1`
[1] 1 4
$`2`
[1] 2 4
$`3`
[1] 3 4
$`4`
[1] 1 2 3 4您可以使用以下命令排除自命中
> hits1 = hits[queryHits(hits) != subjectHits(hits)]对于提出这些问题,Bioconductor mailing list是一个很好的资源
https://stackoverflow.com/questions/15628934
复制相似问题