簡體   English   中英

R,GenomicRanges:找到重疊的基因組范圍的寬度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM