Entering edit mode
Hi there,
Seems like there was some need for this.
So I added the standard set of methods for ordering and comparing
genomic ranges i.e. duplicated, unique, order, sort, rank, "==",
"!=", "<=", ">=", "<", ">" now all work with GRanges objects.
It's in GenomicRanges 1.4.8 (release) and 1.5.27 (devel).
With Steve's big GRanges object:
> system.time(oo <- order(xgr))
user system elapsed
18.600 0.370 19.007
'xgr' obtained with:
N <- 20000000L # nb of ranges
W <- 40L # average width of the ranges
start <- 1L
end <- 55000000L
set.seed(777)
x_start <- sample(end - W - 2L, N, replace=TRUE)
x_width <- W + sample(-3:3, N, replace=TRUE)
x <- IRanges(start=x_start, width=x_width)
xgr <- GRanges(sample(c('chr1', 'chr2'), length(x), replace=TRUE),
x,
sample(c('+', '-'), length(x), replace=TRUE))
You can have a look at ?`GenomicRanges-comparison` for more examples.
Let me know if you find any issue with this.
Cheers,
H.
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpages at fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319