File: test_coverage-methods.R

package info (click to toggle)
r-bioc-summarizedexperiment 1.36.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 948 kB
  • sloc: makefile: 2
file content (56 lines) | stat: -rw-r--r-- 1,843 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
###

M1 <- matrix(1, 5, 3)
M2 <- matrix(1, 3, 3)
assaysList <- list(gr=SimpleList(m=M1), grl=SimpleList(m=M2))
rowRangesList <-
    list(gr=GRanges("chr1", IRanges(1:5, 10)),
         grl=split(GRanges("chr1", IRanges(1:5, 10)), c(1,1,2,2,3)))
names(rowRangesList[["grl"]]) <- NULL
colData <- DataFrame(x=letters[1:3])

## a list of one SE with GRanges and one with GRangesList
rseList <-
    list(SummarizedExperiment(
           assays=assaysList[["gr"]],
           rowRanges=rowRangesList[["gr"]],
           colData=colData),
         SummarizedExperiment(
           assays=assaysList[["grl"]],
           rowRanges=rowRangesList[["grl"]],
           colData=colData))


test_interfaces <- function()
{
    generic_functions <- "coverage"
    for (fun in generic_functions) {
        generic <- getGeneric(fun)
        method <- getMethod(fun, "RangedSummarizedExperiment")
        checkIdentical("x", generic@signature)
        checkIdentical(formals(generic@.Data), formals(method@.Data))
    }
}

test_coverage_RangedSummarizedExperiment <- function()
{
    for (i in 1:2) {
        x <- rseList[[i]]

        target <- coverage(rowRanges(x))
        current <- coverage(x)
        checkIdentical(target, current)

        weight <- runif(length(x))
        ## Issues a warning (in BioC 3.3) when rowRanges(x) is a GRangesList
        ## object, which reveals a problem with how the "coverage" method for
        ## GRangesList objects handles the 'weight' argument. The warning is
        ## expected and healthy, don't try to suppress it here. It will go
        ## away when we fix the "coverage" method for GRangesList objects
        ## (defined in the GenomicRanges package). 
        target <- coverage(rowRanges(x), weight=weight)
        current <- coverage(x, weight=weight)
        checkIdentical(target, current)
    }
}