tests/testthat/test-preprocessing.R

## Data
exptabpath <- system.file("extdata", "exptab-preprocessing.csv", package = "tepr")
gencodepath <- system.file("extdata", "gencode-chr13.gtf", package = "tepr")
maptrackpath <- system.file("extdata", "k50.umap.chr13.hg38.0.8.bed",
  package = "tepr")
blacklistpath <- system.file("extdata", "hg38-blacklist-chr13.v2.bed",
    package = "tepr")
windsize <- 200
genomename <- "hg38"

## Copying bedgraphs to the current directory
expdfpre <- read.csv(exptabpath)
bgpathvec <- sapply(expdfpre$path, function(x) system.file("extdata", x,
    package = "tepr"))
expdfpre$path <- bgpathvec
write.csv(expdfpre, file = "exptab-preprocessing.csv", row.names = FALSE,
    quote = FALSE)
exptabpath <- "exptab-preprocessing.csv"

## ---- Comparing to expected object ---- ##
expectedobj <- readRDS(system.file("extdata", "finaltab.rds",
    package="tepr"))
finaltabtest <- preprocessing(exptabpath, gencodepath, windsize, maptrackpath,
    blacklistpath, genomename = genomename, verbose = FALSE)
test_that("preprocessing works properly", {
    expect_equal(finaltabtest, expectedobj)
})

## ----- Checking errors ----- ##
test_that("Errors are thrown when calling preprocessing", {

    expm <- "\n\t Either the genome name or chromtab should be provided.\n"
    expect_error(preprocessing(exptabpath, gencodepath, windsize, maptrackpath,
    blacklistpath, genomename = NA), regexp = expm)

    rdsfile <- file.path(tempdir(), "finaltable.rds")
    saveRDS(1, file = rdsfile)
    expm <- paste0("\n\t The final table already exists, set reload = FALSE to",
            " create it again.\n")
    expect_error(preprocessing(exptabpath, gencodepath, windsize, maptrackpath,
    blacklistpath, genomename = "hg38", reload = TRUE), regexp = expm)
    file.remove(rdsfile)

    expm <- paste0("\n Chromtab should be a Seqinfo object. Use ",
        "rtracklayer::SeqinfoForUCSCGenome\\(genomename\\).\n")
    expect_error(preprocessing(exptabpath, gencodepath, windsize, maptrackpath,
    blacklistpath, genomename = "hg38", chromtab = 2), regexp = expm)
    
    chromtabtest <- rtracklayer::SeqinfoForUCSCGenome(genomename)
    expm <- paste0("\n Non-canonical chromosomes found in chromtab. If you",
                    " are sure you want to proceed set forcechrom = TRUE.\n\n")
    expect_error(suppressWarnings(preprocessing(exptabpath, gencodepath,
        windsize, maptrackpath, blacklistpath, genomename = "hg38",
        chromtab = chromtabtest)), regexp = expm)    
})

Try the tepr package in your browser

Any scripts or data that you put into this service are public.

tepr documentation built on June 8, 2025, 10:46 a.m.