даны два GenomicRanges, как:R, 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]). Приведенное решение here с помощью ranges()
на классе хит не соответствует классу GenomicRanges (кажется):
mm <- findOverlaps(gr1,gr2)
ranges(mm,gr1,gr2)
Ошибка в .local (х, ...): «запрос» должен быть Изменяется длины, равной числу запросов
Нужно было бы указать параметр GenomicRanges::subsetByOverlaps()
, который буквально срезает и возвращает перекрытие.
UPDATE (смотри ниже): решение находится в самом, GenomicRanges::intersect()
пакет, так:
width(intersect(gr1, gr2))
Это - http://stackoverflow.com/a/33272941/ 496803 - и впоследствии связанный ответ на любую помощь? – thelatemail