Nothing
test_Vector_merge <- function() {
library(GenomicRanges)
## Binary merge
gr <- GRanges(c("chr1:1-1000", "chr1:2000-3000"), a=1:2, b=2:1)
gr2 <- GRanges(c("chr1:1-1000", "chr1:2000-3000"), c=c(1,3), d=c(3,1))
target <- granges(gr)
mcols(target) <- DataFrame(a=1:2, b=2:1, c=c(1,3), d=c(3,1))
current <- merge(gr, gr2)
checkIdentical(target, current)
gr <- GRanges(c("chr1:1-1000", "chr1:2000-3000", "chr1:1-10"),
a=1:3, b=c(2,1,3))
target <- granges(gr2)
mcols(target) <- DataFrame(a=1:2, b=c(2,1), c=c(1,3), d=c(3,1))
current <- merge(gr, gr2)
checkIdentical(target, current)
current <- merge(gr, gr2, all.y=TRUE)
checkIdentical(target, current)
target <- granges(gr)
mcols(target) <- DataFrame(a=1:3, b=c(2,1,3), c=c(1,3,NA), d=c(3,1,NA))
current <- merge(gr, gr2, all=TRUE, sort=FALSE)
checkIdentical(target, current)
current <- merge(gr, gr2, all.x=TRUE, sort=FALSE)
checkIdentical(target, current)
target <- sort(target)
current <- merge(gr, gr2, all=TRUE, sort=TRUE)
checkIdentical(target, current)
x <- GRanges(c("chr1:1-1000", "chr2:2000-3000"),
score=c(0.45, 0.1), a1=c(5L, 7L), a2=c(6, 8))
y <- GRanges(c("chr2:150-151", "chr1:1-10",
"chr2:2000-3000", "chr2:2000-3000"),
score=c(0.7, 0.82, 0.1, 0.2),
b1=c(0L, 5L, 1L, 7L), b2=c(1, -2, 1, 1.5))
checkException(merge(x, y[-3]))
target0 <- c(granges(x), granges(y[-4]))[c(4, 1, 3, 2)]
mcols(target0) <- DataFrame(score=c(0.82, 0.45, 0.7, 0.1),
a1=c(NA, 5L, NA, 7L),
a2=c(NA, 6, NA, 8),
b1=c(5L, NA, 0L, 1L),
b2=c(-2, NA, 1, 1))
current <- merge(x, y[-4], all=TRUE)
checkIdentical(target0, current)
current <- merge(x, y[-4], all.x=TRUE)
checkIdentical(target0[c(2, 4)], current)
current <- merge(x, y[-4], all.y=TRUE)
target <- target0[c(3, 4, 1)]
seqlevels(target) <- seqlevels(current)
checkIdentical(target, current)
current <- merge(x, y[-4])
checkIdentical(target0[4], current)
## Self merge is a no-op if 'sort=FALSE' (or object already sorted) and
## if the object has no duplicates
checkIdentical(x, merge(x, x))
## N-ary merge
current <- merge(x, y[-4], x, all=TRUE)
checkIdentical(target0, current)
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.