context("Clustering")
library(DESeq2)
data(humanGender)
idx <- c(1:5, 75:80)
counts <- assays(humanGender)[[1]]
dse <- DESeqDataSetFromMatrix(counts[1:1000, idx],
colData(humanGender)[idx,],
design = ~group) %>% DESeq
ma <- assays(dse)[[1]]
des <- colData(dse)
des[["other"]] <- sample(c("a", "b"), length(idx), replace = TRUE)
res <- degPatterns(ma, des, time="group", col = "other", plot = FALSE)
test_that("cluster_plot", {
expect_error(degPlotCluster(res, "group", "other"))
# expect_is(degPlotCluster(res$normalized, "group", "other"), "gg")
})
# test_that("missingfactor", {
# des_missing <- des
# levels(des_missing$group) <- c(levels(des_missing$group), "missing")
# expect_is(degPatterns(ma, des_missing, time="group", col = NULL, plot = FALSE), "list")
#
# })
# test_that("transform", {
# expect_gte(mean(.scale(counts(dse)[1,])), -0.5)
# expect_lte(mean(.scale(counts(dse)[1,])), 0.5)
# countsGroup <- .summarize_scale(counts(dse)[1:100,],
# colData(dse)[["group"]])
# expect_equal(mean(countsGroup), 0)
# hc <- .make_clusters(countsGroup)
# cluster0 <- .select_genes(hc, countsGroup, minc = 5, reduce = TRUE)
# cluster <- .select_genes(hc, countsGroup, minc = 5)
# expect_equal(unique(cluster), c(1, 2))
# expect_equal(unique(cluster0), c(1, 2))
# df <- data.frame(cluster = cluster, genes = names(cluster))
# expect_equal(.median_per_cluster(countsGroup, df) %>% mean, 0)
# expect_equal(.filter(df, 50) %>% nrow, 69)
# expect_equal(.group_metadata(as.data.frame(colData(dse)),
# "group", "group", "group") %>% nrow, 2)
# })
test_that("groupDifference", {
ma <- matrix(rnorm(50), ncol = 2)
ma[1:20, 2] <- 1000 + ma[1:20, 2]
expect_equal(.remove_low_difference(ma, 500, FALSE) %>% nrow(), 20)
})
test_that("pct_variance", {
clusters <- c(rep(1, 500), rep(2, 500))
names(clusters) <- row.names(counts[1:1000, idx])
pct <- .pct_var(counts[1:1000, idx], clusters)
expect_true(pct < 100)
})
test_that("process", {
library(dplyr)
library(tidyr)
library(tibble)
table <- rownames_to_column(as.data.frame(ma), "genes") %>%
gather("sample", "expression", -genes) %>%
right_join(distinct(res$df[,c("genes", "cluster")]),
by = "genes") %>%
left_join(rownames_to_column(as.data.frame(des), "sample"),
by = "sample")
# expect_true("value" %in% names(.process(table, "group", NULL)))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.