File: test-altrep.R

package info (click to toggle)
r-bioc-scran 1.26.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,692 kB
  • sloc: cpp: 733; makefile: 2
file content (75 lines) | stat: -rw-r--r-- 2,348 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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# This tests that various functions are applicable with alternative matrix representations.
# library(scran); library(testthat); source("test-altrep.R")

set.seed(99999)
library(Matrix)
X <- as(matrix(rpois(100000, lambda=1), ncol=100), "dgCMatrix")
X_ <- as.matrix(X)

library(HDF5Array)
Y <- as(matrix(rpois(100000, lambda=5), ncol=100), "HDF5Array")
Y_ <- as.matrix(Y)

test_that("cyclone runs properly", {
    mm.pairs <- readRDS(system.file("exdata", "mouse_cycle_markers.rds", package="scran"))
    rownames(X) <- rownames(X_) <- sample(mm.pairs$G1[,1], nrow(X))
    rownames(Y) <- rownames(Y_) <- sample(mm.pairs$G1[,1], nrow(Y))

    set.seed(100)
    assignments1 <- cyclone(X[,1:10], mm.pairs)
    set.seed(100)
    assignments2 <- cyclone(X_[,1:10], mm.pairs)
    expect_identical(assignments1, assignments2)

    set.seed(100)
    assignments1 <- cyclone(Y[,1:10], mm.pairs)
    set.seed(100)
    assignments2 <- cyclone(Y_[,1:10], mm.pairs)
    expect_identical(assignments1, assignments2)
})

test_that("Variance estimation runs properly", {
    dec1 <- modelGeneVar(Y)
    dec2 <- modelGeneVar(Y_)
    expect_equal(dec1, dec2)

    dec1 <- modelGeneCV2(Y)
    dec2 <- modelGeneCV2(Y_)
    expect_equal(dec1, dec2)
})

test_that("correlatePairs runs properly", {
    set.seed(1000)
    null <- correlateNull(ncol(X), iters=1e6)

    set.seed(100) 
    ref <- correlatePairs(X_[1:10,], null.dist=null)
    set.seed(100) 
    alt <- correlatePairs(X[1:10,], null.dist=null)
    expect_equal(ref, alt)

    set.seed(200) 
    ref <- correlatePairs(Y_[20:50,], null.dist=null)
    set.seed(200) 
    alt <- correlatePairs(Y[20:50,], null.dist=null)
    expect_equal(ref, alt)
})

test_that("buildSNNGraph with irlba runs properly on sparse matrices", {
    set.seed(1000)
    g1 <- buildSNNGraph(X, BSPARAM=BiocSingular::IrlbaParam())
    set.seed(1000)
    g2 <- buildSNNGraph(X_, BSPARAM=BiocSingular::IrlbaParam())
    expect_identical(g1[], g2[])

    set.seed(100)
    g1 <- buildSNNGraph(X, d=10, BSPARAM=BiocSingular::IrlbaParam())
    set.seed(100)
    g2 <- buildSNNGraph(X_, d=10, BSPARAM=BiocSingular::IrlbaParam())
    expect_identical(g1[], g2[])
})

test_that("findMarkers and overlapExprs work properly", {
    groups <- sample(2, ncol(X), replace=TRUE)
    expect_equal(findMarkers(Y, groups), findMarkers(Y_, groups))
})