[英]R, GenomicRanges: find the width of overlapping genomic ranges
給定兩個GenomicRanges,如:
library(GenomicRanges)
gr1 <-
makeGRangesFromDataFrame(
data.frame(
chr = c("1","1","2","2"),
start = c(10,50,10,50),
end = c(20,60,20,60)
)
)
gr2 <-
makeGRangesFromDataFrame(
data.frame(
chr = c("2","2","3","3"),
start = c(15,40,10,50),
end = c(25,55,20,60)
)
)
我需要找到重疊段的重疊大小(寬度)。 在我的情況下,這將是5(對於gr1 [3]和gr2 1 )和5(對於gr [4]和gr2 [2])。 這里在hit類上使用ranges()
給出的解決方案與GenomicRanges類不匹配(似乎):
mm <- findOverlaps(gr1,gr2)
ranges(mm,gr1,gr2)
.local(x,...)中的錯誤:“查詢”的長度范圍必須等於查詢數量
有人希望GenomicRanges::subsetByOverlaps()
有一個參數,該參數實際上是切片並返回重疊。
更新(請參見下文):解決方案位於軟件包本身GenomicRanges::intersect()
,因此:
width(intersect(gr1, gr2))
GenomicRanges包似乎對此具有特定功能, intersect()
。 因此,解決方案非常簡單:
width(intersect(gr1, gr2))
[1] 6 6
(哪個是對的)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.