У меня есть следующий GenomicRanges объект, созданный с этим:
library(GenomicRanges)
gr <- GRanges(seqnames = "chr1", strand = c("+", "-","-", "+"),ranges = IRanges(start = c(1,3,3,5), width = 3))
gr
Это выглядит так:
GRanges object with 4 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 1-3 +
[2] chr1 3-5 -
[3] chr1 3-5 -
[4] chr1 5-7 +
Что я хочу сделать, это получитьоттуда уникальные строки, дающие эту (закодированную вручную)
GRanges object with 3 ranges and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] chr1 1-3 +
[2] chr1 3-5 -
[3] chr1 5-7 +
Как мне этого добиться?В действительности у меня есть около 9 миллионов строк для обработки.
Я могу использовать этот метод, но очень медленно 2:
library(tidyverse)
gr %>%
as.tibble() %>%
distinct()