test_that("write_sumstats works", {
## The following test uses more than 2GB of memory, which is more
## than what 32-bit Windows can handle:
is_32bit_windows <- .Platform$OS.type == "windows" ##&&
##.Platform$r_arch == "i386"
if (!is_32bit_windows) {
sumstats_dt <- MungeSumstats::formatted_example()
run_tests <- function(sumstats_dt,
fileext,
tabix_index=FALSE,
write_vcf=FALSE,
standardise_headers=FALSE,
save_path_check=FALSE){
message(fileext)
#### Check paths ####
message("=== write tests ===")
path_out <- MungeSumstats::write_sumstats(
sumstats_dt = sumstats_dt,
save_path = tempfile(fileext = fileext),
write_vcf = write_vcf,
tabix_index = tabix_index,
return_path = TRUE,
save_path_check = save_path_check
)
testthat::expect_true(file.exists(path_out))
message("\n=== read tests ===")
dat <- MungeSumstats::read_sumstats(
path = path_out,
standardise_headers = standardise_headers)
testthat::expect_equal(nrow(dat), nrow(sumstats_dt))
return(dat)
}
#### Tabular formats ####
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".tsv")
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".tsv.gz")
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".tsv.bgz")
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".tsv.gz",
tabix_index = TRUE)
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".tsv.bgz",
tabix_index = TRUE)
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".csv")
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".csv.gz")
# write_vcf=F
### Will write as tsv even though specified vcf suffix
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".vcf",
save_path_check = TRUE)
dat <- run_tests(sumstats_dt = sumstats_dt,
fileext = ".vcf.gz",
save_path_check = TRUE)
#### VCF formats ####
# write_vcf=T
dat <- run_tests(sumstats_dt = sumstats_dt,
write_vcf = TRUE,
fileext = ".vcf")
dat <- run_tests(sumstats_dt = sumstats_dt,
write_vcf = TRUE,
fileext = ".vcf.gz")
## with indexing
# providing the correct suffix is important
testthat::expect_failure(
dat <- run_tests(sumstats_dt = sumstats_dt,
write_vcf = TRUE,
tabix_index = TRUE,
fileext = ".vcf",
save_path_check = FALSE)
)
dat <- run_tests(sumstats_dt = sumstats_dt,
write_vcf = TRUE,
tabix_index = TRUE,
fileext = ".vcf",
save_path_check = TRUE)
dat <- run_tests(sumstats_dt = sumstats_dt,
tabix_index = TRUE,
write_vcf = TRUE,
fileext = ".vcf.bgz")
}
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.