tests/testthat/test-import_tx.R

testthat::context("Testing import_tx function")

testthat::test_that("Test if import_tx runs", {
  set.seed(42)

  salmon_test <- structure(list(
    Name = c("AAEL000001-RA", "AAEL000004-RA", "AAEL000005-RB", "AAEL000005-RC", "AAEL000005-RD", "AAEL000006-RC", "AAEL000008-RA", "AAEL000008-RB", "AAEL000008-RC", "AAEL000010-RA", "AAEL000011-RB", "AAEL000011-RC", "AAEL000012-RA", "AAEL000013-RB", "AAEL000016-RA", "AAEL000017-RA", "AAEL000017-RB", "AAEL000018-RA", "AAEL000020-RA", "AAEL000021-RA", "AAEL000022-RA", "AAEL000024-RA", "AAEL000024-RB", "AAEL000024-RC", "AAEL000025-RB", "AAEL000026-RA", "AAEL000027-RA", "AAEL000028-RA", "AAEL000029-RB", "AAEL000032-RE", "AAEL000033-RA", "AAEL000035-RB", "AAEL000036-RA", "AAEL000037-RA", "AAEL000038-RA", "AAEL000039-RA", "AAEL000041-RA", "AAEL000041-RB", "AAEL000041-RC", "AAEL000042-RA", "AAEL000043-RA", "AAEL000044-RB", "AAEL000046-RA", "AAEL000047-RA", "AAEL000048-RB", "AAEL000049-RA", "AAEL000049-RB", "AAEL000049-RC", "AAEL000050-RA", "AAEL000051-RA", "AAEL000053-RA", "AAEL000055-RB", "AAEL000057-RB", "AAEL000058-RB", "AAEL000063-RB", "AAEL000064-RA", "AAEL000065-RA", "AAEL000065-RB", "AAEL000065-RC", "AAEL000066-RA", "AAEL000069-RA", "AAEL000071-RA", "AAEL000073-RA", "AAEL000074-RA", "AAEL000075-RA", "AAEL000076-RB", "AAEL000077-RA", "AAEL000077-RB", "AAEL000077-RC", "AAEL000079-RB", "AAEL000079-RC", "AAEL000079-RD", "AAEL000080-RA", "AAEL000081-RB", "AAEL000084-RA", "AAEL000084-RB", "AAEL000085-RA", "AAEL000087-RB", "AAEL000088-RA", "AAEL000089-RA", "AAEL000090-RA", "AAEL000090-RB", "AAEL000090-RC", "AAEL000091-RA", "AAEL000092-RA", "AAEL000094-RB", "AAEL000094-RC", "AAEL000095-RB", "AAEL000095-RC", "AAEL000097-RD", "AAEL000098-RB", "AAEL000098-RC", "AAEL000099-RA", "AAEL000101-RA", "AAEL000102-RB", "AAEL000106-RA", "AAEL000107-RA", "AAEL000108-RA", "AAEL000109-RA", "AAEL000111-RA"),
    Length = c(1745L, 2365L, 1301L, 1361L, 1379L, 2283L, 2675L, 2603L, 2615L, 599L, 2000L, 1985L, 1744L, 1558L, 1031L, 843L, 1170L, 2187L, 2023L, 1958L, 898L, 1437L, 1430L, 1345L, 2320L, 794L, 1915L, 1376L, 1440L, 1390L, 2134L, 658L, 1386L, 1289L, 1376L, 2110L, 2249L, 2053L, 2826L, 1284L, 2053L, 1549L, 974L, 2078L, 2192L, 1715L, 1505L, 1514L, 1011L, 881L, 3762L, 1676L, 3023L, 1776L, 2072L, 1634L, 2594L, 2627L, 2605L, 2058L, 1307L, 687L, 647L, 1388L, 1509L, 1114L, 1845L, 1747L, 1770L, 8621L, 8624L, 8581L, 2368L, 4419L, 1428L, 1436L, 963L, 4345L, 2544L, 2038L, 2924L, 2231L, 2221L, 1247L, 899L, 2679L, 3137L, 1997L, 2289L, 1240L, 2353L, 2404L, 1589L, 2571L, 1243L, 1244L, 2126L, 1876L, 5004L, 1385L),
    EffectiveLength = c(1496, 2116, 1052, 1112, 1130, 2034, 2426, 2354, 2366, 350, 1751, 1736, 1495, 1309, 782, 594, 921, 1938, 1774, 1709, 649, 1188, 1181, 1096, 2071, 545, 1666, 1127, 1191, 1141, 1885, 409, 1137, 1040, 1127, 1861, 2000, 1804, 2577, 1035, 1804, 1300, 725, 1829, 1943, 1466, 1256, 1265, 762, 632, 3513, 1427, 2774, 1527, 1823, 1385, 2345, 2378, 2356, 1809, 1058, 438, 398, 1139, 1260, 865, 1596, 1498, 1521, 8372, 8375, 8332, 2119, 4170, 1179, 1187, 714, 4096, 2295, 1789, 2675, 1982, 1972, 998, 650, 2430, 2888, 1748, 2040, 991, 2104, 2155, 1340, 2322, 994, 995, 1877, 1627, 4755, 1136),
    TPM = c(0.875423, 1.713549, 0, 0.969389, 0, 0.433613, 0.302775, 0.293877, 3.394057, 336.398814, 1e-06, 0.014112, 0, 1.216533, 0.532589, 0, 0, 0, 5.551659, 0, 13.551898, 0, 0, 0, 1.372234, 0.35962, 0.029411, 0.304337, 0, 177.162295, 0.428897, 0, 0, 0.070671, 5.021557, 0, 0, 0, 0, 0.55713, 0.040741, 203.041108, 1.486843, 0.013395, 0.012609, 2.091258, 33.497452, 6.420938, 5.272775, 1.124168, 0.369614, 9.59706, 0.042128, 0, 0.040317, 0.017689, 0, 0.370886, 0, 0, 1.319895, 0, 0, 0.193584, 0, 0.708067, 4.749828, 1.955537, 0, 0.000157, 0.000102, 0.046785, 41.506283, 2.302036, 30.563999, 2.479473, 0.034312, 0.065794, 2.705719, 0, 38.833869, 1.017477, 0.025478, 2.970333, 67.052187, 0.010082, 0, 0.070078, 0, 0, 0, 0, 0.091415, 42.942028, 66.818003, 1.009511, 0.561248, 0, 0, 0.021566),
    NumReads = c(53.456335, 148, 0, 44, 0, 36, 29.981946, 28.2372, 327.780854, 4805.87142, 3.6e-05, 0.999964, 0, 65, 17, 0, 0, 0, 402, 0, 359, 0, 0, 0, 116, 8, 2, 14, 0, 8251, 33, 0, 0, 3, 231, 0, 0, 0, 0, 23.536746, 3, 10774, 44, 1, 1, 125.13859, 1717.319328, 331.542082, 164, 29, 53, 559, 4.770047, 0, 3, 1, 0, 36, 0, 0, 57, 0, 0, 9, 0, 25, 309.428569, 119.571431, 0, 0.053562, 0.034984, 15.911454, 3590, 391.830072, 1470.86773, 120.13227, 1, 11, 253.463254, 0, 4240.178082, 82.314798, 2.050785, 121, 1779, 1, 0, 5, 0, 0, 0, 0, 5, 4070, 2711, 41, 43, 0, 0, 1)
  ),
  row.names = c(NA, -100L),
  class = c("tbl_df", "tbl", "data.frame")
  )
  fs::dir_create("temp_test/quants/salmon_test/")
  salmon_test %>%
    readr::write_delim("temp_test/quants/salmon_test/quant.sf", delim = "\t")
  ##

  path <- "temp_test/quants/"

  imported_salmon_vb <- import_tx(path, source = "salmon", accession = "vectorbase")

  testthat::expect_equal(base::length(base::dim(imported_salmon_vb$abundance)), 2)


  multi_path <- c(path, "temp_test/test_quants/")

  fs::dir_create("temp_test/test_quants/salmon2")
  salmon_test %>%
    readr::write_delim("temp_test/test_quants/salmon2/quant.sf", delim = "\t")


  path <- multi_path
  # imported_salmon_ensembl <- import_tx(path, source = "salmon", accession = "ensembl")

  # imported_salmon_ncbi <- import_tx(path, source = "salmon", accession = "ncbi")

  imported_salmon_gene <- import_tx(path, source = "salmon", accession = "gene")


  gene_table_test <- structure(list(
    TXNAME = c("AAEL000001-RA", "AAEL000004-RA", "AAEL000005-RB", "AAEL000005-RC", "AAEL000005-RD", "AAEL000006-RC", "AAEL000008-RA", "AAEL000008-RB", "AAEL000008-RC", "AAEL000010-RA", "AAEL000011-RB", "AAEL000011-RC", "AAEL000012-RA", "AAEL000013-RB", "AAEL000016-RA", "AAEL000017-RA", "AAEL000017-RB", "AAEL000018-RA", "AAEL000020-RA", "AAEL000021-RA", "AAEL000022-RA", "AAEL000024-RA", "AAEL000024-RB", "AAEL000024-RC", "AAEL000025-RB", "AAEL000026-RA", "AAEL000027-RA", "AAEL000028-RA", "AAEL000029-RB", "AAEL000032-RE", "AAEL000033-RA", "AAEL000035-RB", "AAEL000036-RA", "AAEL000037-RA", "AAEL000038-RA", "AAEL000039-RA", "AAEL000041-RA", "AAEL000041-RB", "AAEL000041-RC", "AAEL000042-RA", "AAEL000043-RA", "AAEL000044-RB", "AAEL000046-RA", "AAEL000047-RA", "AAEL000048-RB", "AAEL000049-RA", "AAEL000049-RB", "AAEL000049-RC", "AAEL000050-RA", "AAEL000051-RA", "AAEL000053-RA", "AAEL000055-RB", "AAEL000057-RB", "AAEL000058-RB", "AAEL000063-RB", "AAEL000064-RA", "AAEL000065-RA", "AAEL000065-RB", "AAEL000065-RC", "AAEL000066-RA", "AAEL000069-RA", "AAEL000071-RA", "AAEL000073-RA", "AAEL000074-RA", "AAEL000075-RA", "AAEL000076-RB", "AAEL000077-RA", "AAEL000077-RB", "AAEL000077-RC", "AAEL000079-RB", "AAEL000079-RC", "AAEL000079-RD", "AAEL000080-RA", "AAEL000081-RB", "AAEL000084-RA", "AAEL000084-RB", "AAEL000085-RA", "AAEL000087-RB", "AAEL000088-RA", "AAEL000089-RA", "AAEL000090-RA", "AAEL000090-RB", "AAEL000090-RC", "AAEL000091-RA", "AAEL000092-RA", "AAEL000094-RB", "AAEL000094-RC", "AAEL000095-RB", "AAEL000095-RC", "AAEL000097-RD", "AAEL000098-RB", "AAEL000098-RC", "AAEL000099-RA", "AAEL000101-RA", "AAEL000102-RB", "AAEL000106-RA", "AAEL000107-RA", "AAEL000108-RA", "AAEL000109-RA", "AAEL000111-RA"),
    GENEID = c("AAEL000001", "AAEL000004", "AAEL000005", "AAEL000005", "AAEL000005", "AAEL000006", "AAEL000008", "AAEL000008", "AAEL000008", "AAEL000010", "AAEL000011", "AAEL000011", "AAEL000012", "AAEL000013", "AAEL000016", "AAEL000017", "AAEL000017", "AAEL000018", "AAEL000020", "AAEL000021", "AAEL000022", "AAEL000024", "AAEL000024", "AAEL000024", "AAEL000025", "AAEL000026", "AAEL000027", "AAEL000028", "AAEL000029", "AAEL000032", "AAEL000033", "AAEL000035", "AAEL000036", "AAEL000037", "AAEL000038", "AAEL000039", "AAEL000041", "AAEL000041", "AAEL000041", "AAEL000042", "AAEL000043", "AAEL000044", "AAEL000046", "AAEL000047", "AAEL000048", "AAEL000049", "AAEL000049", "AAEL000049", "AAEL000050", "AAEL000051", "AAEL000053", "AAEL000055", "AAEL000057", "AAEL000058", "AAEL000063", "AAEL000064", "AAEL000065", "AAEL000065", "AAEL000065", "AAEL000066", "AAEL000069", "AAEL000071", "AAEL000073", "AAEL000074", "AAEL000075", "AAEL000076", "AAEL000077", "AAEL000077", "AAEL000077", "AAEL000079", "AAEL000079", "AAEL000079", "AAEL000080", "AAEL000081", "AAEL000084", "AAEL000084", "AAEL000085", "AAEL000087", "AAEL000088", "AAEL000089", "AAEL000090", "AAEL000090", "AAEL000090", "AAEL000091", "AAEL000092", "AAEL000094", "AAEL000094", "AAEL000095", "AAEL000095", "AAEL000097", "AAEL000098", "AAEL000098", "AAEL000099", "AAEL000101", "AAEL000102", "AAEL000106", "AAEL000107", "AAEL000108", "AAEL000109", "AAEL000111")
  ), row.names = c(NA, -100L), class = c("tbl_df", "tbl", "data.frame"))

  imported_salmon_custom <- import_tx(path, source = "salmon", accession = "custom", gene_table = gene_table_test)


  testthat::expect_error(import_tx(path, names = "test123"))

  import_tx_test_names <- import_tx(path, names = c("test1", "teste2"))

  testthat::expect_equal(colnames(import_tx_test_names$abundance), c("test1", "teste2"))

  import_tx_test_auto_names <- import_tx(path)

  testthat::expect_equal(colnames(import_tx_test_auto_names$counts), c("salmon_test", "salmon2"))

  fs::dir_delete("temp_test/")
})
luciorq/txomics documentation built on Sept. 3, 2020, 5:36 a.m.