Diff of /tests/testthat/test-MRE.R [000000] .. [28e211]

Switch to side-by-side view

--- a
+++ b/tests/testthat/test-MRE.R
@@ -0,0 +1,97 @@
+# ---------------------------------------------------------------------------- #
+#                              Data pre-processing                             #
+# ---------------------------------------------------------------------------- #
+
+context("Data loading and pre-processing")
+
+sc <- DISCBIO(valuesG1msTest) # Reduced dataset used for testing
+
+test_that("Loading datasets generate the expected output", {
+  expect_equal(dim(valuesG1msTest), c(800, 15))
+})
+
+test_that("Data signature changes", {
+  expect_equal(class(sc)[1], "DISCBIO")
+  expect_equal(attr(class(sc), "package"), "DIscBIO")
+})
+
+# This function will be used only if the dataset has ERCC
+sc <- NoiseFiltering(sc, plot = FALSE, export = FALSE, quiet = TRUE)
+
+test_that("Noise filtering is added", {
+  expect_equal(length(sc@noiseF), 163)
+})
+
+# In this case this function is used to normalize the reads
+sc <- Normalizedata(
+  sc,
+  mintotal = 1000, minexpr = 0, minnumber = 0, maxexpr = Inf,
+  downsample = FALSE, dsn = 1, rseed = 17000
+)
+
+test_that("Data is normalized", {
+  expect_equal(class(sc@fdata), "data.frame")
+  expect_output(str(sc@fdata), "708 obs. of  15 variables")
+})
+
+# This function can be used for:
+# 1 - filtering and normalizing the dataset that has no ERCC.
+# 2 - to normalize and filter genes and cells after the noise filtering.
+sc <- FinalPreprocessing(
+  sc,
+  GeneFlitering = "NoiseF", export = FALSE, quiet = TRUE
+)
+
+test_that("Data is normalized", {
+  expect_equal(dim(sc@fdata), c(163, 15))
+})
+
+# ---------------------------------------------------------------------------- #
+#                              K-means clustering                              #
+# ---------------------------------------------------------------------------- #
+
+context("K-means clustering")
+
+sc <- Clustexp(
+  sc,
+  clustnr = 2, cln = 2, bootnr = 10, quiet = TRUE, rseed = 17000
+)
+sc <- comptSNE(sc, rseed = 15555, quiet = TRUE, max_iter = 1, epoch = 10)
+
+test_that("tSNE is computed", {
+  expect_equal(class(sc@tsne), "data.frame")
+  expect_output(str(sc@tsne), "15 obs. of  2 variables")
+})
+
+test_that("Cluster plots output is as expexted", {
+  expect_equivalent(
+    object = Jaccard(sc, Clustering = "K-means", K = 2, plot = FALSE, R = 5),
+    expected = c(.683, .624),
+    tolerance = .01
+  )
+  expect_equal(
+    object = clustheatmap(sc, hmethod = "single", plot = FALSE),
+    expected = c(1, 2)
+  )
+})
+
+# --------------------------------- Outliers --------------------------------- #
+
+context("Outliers")
+
+Outliers <- FindOutliers(
+  sc,
+  K = 2, outminc = 5, outlg = 2, probthr = .5 * 1e-3, thr = 2^(-1:-40),
+  outdistquant = .75, plot = FALSE, quiet = TRUE
+)
+Order <- pseudoTimeOrdering(sc, quiet = TRUE, export = FALSE)
+
+test_that("Outliers are the expected", {
+  expect_equivalent(Outliers, c(3, 10, 13))
+  expect_equivalent(
+    object = Order@kordering,
+    expected = c(
+      5, 6, 13, 2, 3, 1, 4, 7, 12, 9, 15, 8, 10, 11, 14
+    )
+  )
+})