context("coerce-functions")
test_that("SummarizedExperiment coercion works", {
fun1 <- function(score, range, qrange)
lengths(score)
colData <- DataFrame(x=1:2, row.names=c("A", "B"))
reA <- RaggedExperiment(
A=GRanges(c("A:1-10", "A:6-15"), score=1:2),
B=GRanges("A:1-5", score=3),
colData = colData
)
res <- sparseSummarizedExperiment(reA)
expect_identical(assay(res), sparseAssay(reA))
expect_identical(colData(res), colData(reA))
expect_identical(assayNames(res), assayNames(reA))
res <- compactSummarizedExperiment(reA)
expect_identical(assay(res), compactAssay(reA))
expect_identical(colData(res), colData(reA))
res <- compactSummarizedExperiment(reA, withDimnames=FALSE)
expect_identical(dimnames(assay(res)), NULL)
res <- disjoinSummarizedExperiment(reA, simplifyDisjoin=fun1)
expect_identical(assay(res), disjoinAssay(reA, simplifyDisjoin=fun1))
expect_identical(colData(res), colData)
res <- disjoinSummarizedExperiment(reA, simplifyDisjoin=fun1, withDimnames=FALSE)
expect_identical(dimnames(assay(res)), NULL)
res <- qreduceSummarizedExperiment(reA, simplifyReduce=fun1)
expect_identical(
assay(res),
qreduceAssay(reA, rowRanges(reA), simplifyReduce=fun1)
)
expect_identical(colData(res), colData)
res <- qreduceSummarizedExperiment(reA, simplifyReduce=fun1, withDimnames=FALSE)
expect_equal(
assay(res),
qreduceAssay(reA, rowRanges(reA), simplifyReduce=fun1, withDimnames=FALSE),
check.attributes = FALSE
)
})
test_that("SummarizedExperiment coercion assay selection works", {
fun1 <- function(score, range, qrange)
lengths(score)
reA <- RaggedExperiment(
GRanges(c("A:1-10", "A:6-15"), score1=1:2, score2=5:6),
GRanges("A:1-5", score1=3, score2=7)
)
res <- sparseSummarizedExperiment(reA, 2)
expect_identical(assay(res), sparseAssay(reA, 2))
res <- sparseSummarizedExperiment(reA, "score2")
expect_identical(assay(res), sparseAssay(reA, "score2"))
})
test_that("sparseMatrix to RaggedExperiment coercion works", {
sm <- Matrix::sparseMatrix(
i = c(2, 3, 4, 3, 4, 3, 4),
j = c(1, 1, 2, 3, 3, 4, 4),
x = c(2L, 4L, 2L, 2L, 2L, 4L, 2L),
dims = c(4, 4),
dimnames = list(
c("chr2:1-10", "chr2:2-10", "chr2:3-10", "chr2:4-10"),
LETTERS[1:4]
)
)
ragex <- as(sm, "RaggedExperiment")
expect_true(is(ragex, "RaggedExperiment"))
expect_identical(LETTERS[1:4], colnames(ragex))
sm <- Matrix::sparseMatrix(
i = c(2, 3, 4, 3, 4, 3, 4),
j = c(1, 1, 1, 3, 3, 4, 4),
x = c(2L, 4L, 2L, 2L, 2L, 4L, 2L),
dims = c(4, 4),
dimnames = list(
c("chr2:1-10", "chr2:2-10", "chr2:3-10", "chr2:4-10"),
LETTERS[1:4]
)
)
ragex <- as(sm, "RaggedExperiment")
expect_identical(
LETTERS[1:4][MatrixGenerics::colSums(sm) > 0], colnames(ragex)
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.