The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

CRAN Package Check Results for Package GMMAT

Last updated on 2026-10-05 18:49:18 CEST.

Flavor Version Tinstall Tcheck Ttotal Status Flags
r-devel-linux-x86_64-debian-clang 1.5.0 44.41 238.27 282.68 OK
r-devel-linux-x86_64-debian-gcc 1.5.0 38.18 213.88 252.06 OK
r-devel-linux-x86_64-fedora-clang 1.5.0 29.00 153.57 182.57 OK
r-devel-linux-x86_64-fedora-gcc 1.5.0 41.00 168.67 209.67 OK
r-devel-windows-x86_64 1.5.0 70.00 388.00 458.00 OK
r-patched-linux-x86_64 1.5.0 52.82 235.94 288.76 OK
r-release-linux-x86_64 1.5.0 OK
r-release-macos-arm64 1.5.0 12.00 90.00 102.00 OK
r-release-macos-x86_64 1.5.0 38.00 405.00 443.00 OK
r-release-windows-x86_64 1.5.0 70.00 313.00 383.00 OK
r-oldrel-macos-arm64 1.5.0 17.00 75.00 92.00 ERROR
r-oldrel-macos-x86_64 1.5.0 41.00 551.00 592.00 OK
r-oldrel-windows-x86_64 1.5.0 90.00 407.00 497.00 OK

Check Details

Version: 1.5.0
Check: tests
Result: ERROR Running ‘testthat.R’ [2s/2s] Running the tests in ‘tests/testthat.R’ failed. Complete output: > library(testthat) > library(GMMAT) > Sys.setenv(MKL_NUM_THREADS = 1) > > test_check("GMMAT") *** caught segfault *** address 0x110, cause 'invalid permissions' *** caught segfault *** address 0x110, cause 'invalid permissions' Traceback: 1: eval(c.expr, envir = args, enclos = envir) 2: eval(c.expr, envir = args, enclos = envir) 3: doTryCatch(return(expr), name, parentenv, handler) 4: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 5: tryCatchList(expr, classes, parentenv, handlers) 6: tryCatch(eval(c.expr, envir = args, enclos = envir), error = function(e) e) 7: FUN(X[[i]], ...) 8: lapply(X = S, FUN = FUN, ...) 9: doTryCatch(return(expr), name, parentenv, handler) 10: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 11: tryCatchList(expr, classes, parentenv, handlers) 12: tryCatch(expr, error = function(e) { call <- conditionCall(e) if (!is.null(call)) { if (identical(call[[1L]], quote(doTryCatch))) call <- sys.call(-4L) dcall <- deparse(call, nlines = 1L) prefix <- paste("Error in", dcall, ": ") LONG <- 75L sm <- strsplit(conditionMessage(e), "\n")[[1L]] w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if (is.na(w)) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], type = "b") if (w > LONG) prefix <- paste0(prefix, "\n ") } else prefix <- "Error : " msg <- paste0(prefix, conditionMessage(e), "\n") .Internal(seterrmessage(msg[1L])) if (!silent && isTRUE(getOption("show.error.messages"))) { cat(msg, file = outFile) .Internal(printDeferredWarnings()) } invisible(structure(msg, class = "try-error", condition = e))}) 13: try(lapply(X = S, FUN = FUN, ...), silent = TRUE) 14: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) 15: FUN(X[[i]], ...) 16: lapply(seq_len(cores), inner.do) 17: mclapply(argsList, FUN, mc.preschedule = preschedule, mc.set.seed = set.seed, mc.silent = silent, mc.cores = cores) 18: e$fun(obj, substitute(ex), parent.frame(), e$data) 19: foreach(i = 1:ncores) %dopar% { if (!is.null(obj$P)) { if (bgenInfo$LayoutFlag == 2) { .Call(C_glmm_score_bgen13, as.numeric(res), obj$P, infile, paste0(outfile, "_tmp.", i), center2, MAF.range[1], MAF.range[2], miss.cutoff, miss.method, nperbatch, select, threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, 1) } else { .Call(C_glmm_score_bgen11, as.numeric(res), obj$P, infile, paste0(outfile, "_tmp.", i), center2, MAF.range[1], MAF.range[2], miss.cutoff, miss.method, nperbatch, select, threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, 1) } } else { if (bgenInfo$LayoutFlag == 2) { .Call(C_glmm_score_bgen13_sp, as.numeric(res), obj$Sigma_i, obj$Sigma_iX, obj$cov, infile, paste0(outfile, "_tmp.", i), center2, MAF.range[1], MAF.range[2], miss.cutoff, miss.method, nperbatch, select, threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, 1) } else { .Call(C_glmm_score_bgen11_sp, as.numeric(res), obj$Sigma_i, obj$Sigma_iX, obj$cov, infile, paste0(outfile, "_tmp.", i), center2, MAF.range[1], MAF.range[2], miss.cutoff, miss.method, nperbatch, select, threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, 1) } }} 20: glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.1.tmp, ncores = 2) 21: eval(code, test_env) 22: eval(code, test_env) 23: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 24: doTryCatch(return(expr), name, parentenv, handler) 25: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 26: tryCatchList(expr, classes, parentenv, handlers) 27: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 28: doWithOneRestart(return(expr), restart) 29: withOneRestart(expr, restarts[[1L]]) 30: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 31: test_code(code, parent.frame()) 32: test_that("cross-sectional id le 400 binomial", { plinkfiles <- strsplit(system.file("extdata", "geno.bed", package = "GMMAT"), ".bed", fixed = TRUE)[[1]] bgenfile <- system.file("extdata", "geno.bgen", package = "GMMAT") samplefile <- system.file("extdata", "geno.sample", package = "GMMAT") gdsfile <- system.file("extdata", "geno.gds", package = "GMMAT") txtfile <- system.file("extdata", "geno.txt", package = "GMMAT") txtfile1 <- system.file("extdata", "geno.txt.gz", package = "GMMAT") txtfile2 <- system.file("extdata", "geno.txt.bz2", package = "GMMAT") data(example) suppressWarnings(RNGversion("3.5.0")) set.seed(123) pheno <- rbind(example$pheno, example$pheno[1:100, ]) pheno$id <- 1:500 pheno$disease[sample(1:500, 20)] <- NA pheno$age[sample(1:500, 20)] <- NA pheno$sex[sample(1:500, 20)] <- NA pheno <- pheno[sample(1:500, 450), ] pheno <- pheno[pheno$id <= 400, ] kins <- example$GRM obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, id = "id", family = binomial(link = "logit"), method = "REML", method.optim = "AI") select <- match(1:400, unique(obj1$id_include)) select[is.na(select)] <- 0 obj1.outfile.bed.noselect.1 <- tempfile() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.1) obj1.bed.noselect.1 <- read.table(obj1.outfile.bed.noselect.1, header = TRUE, as.is = TRUE) obj1.outfile.bed.noselect.1.tmp <- tempfile() expect_error(glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.1.tmp, ncores = 2), "Error: parallel computing currently not implemented for PLINK binary format genotypes.") unlink(obj1.outfile.bed.noselect.1.tmp) obj1.outfile.bed.select.1 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.1) obj1.bed.select.1 <- read.table(obj1.outfile.bed.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.select.1) obj1.outfile.bgen.noselect.1 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.1) obj1.bgen.noselect.1 <- read.table(obj1.outfile.bgen.noselect.1, header = TRUE, as.is = TRUE) obj1.outfile.bgen.noselect.1.tmp <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.1.tmp, ncores = 2) obj1.bgen.noselect.1.tmp <- read.table(obj1.outfile.bgen.noselect.1.tmp, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.1.tmp) unlink(obj1.outfile.bgen.noselect.1.tmp) obj1.outfile.bgen.select.1 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.1) Traceback: obj1.bgen.select.1 <- read.table(obj1.outfile.bgen.select.1, 1: header = TRUE, as.is = TRUE)eval(c.expr, envir = args, enclos = envir) expect_equal(obj1.bgen.noselect.1, obj1.bgen.select.1) expect_equal(obj1.bed.select.1[, c("SNP", "CHR", "POS", "A1", 2: "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj1.bgen.select.1[, eval(c.expr, envir = args, enclos = envir) c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")]) 3: if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", doTryCatch(return(expr), name, parentenv, handler) quietly = TRUE)) { obj1.outfile.gds.noselect.1 <- tempfile() 4: glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1)tryCatchOne(expr, names, parentenv, handlers[[1L]]) obj1.gds.noselect.1 <- read.table(obj1.outfile.gds.noselect.1, header = TRUE, as.is = TRUE) 5: obj1.outfile.gds.noselect.1.tmp <- tempfile()tryCatchList(expr, classes, parentenv, handlers) glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1.tmp, ncores = 2) 6: obj1.gds.noselect.1.tmp <- read.table(obj1.outfile.gds.noselect.1.tmp, tryCatch(eval(c.expr, envir = args, enclos = envir), error = function(e) e) header = TRUE, as.is = TRUE) 7: expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.1.tmp)FUN(X[[i]], ...) unlink(obj1.outfile.gds.noselect.1.tmp) obj1.outfile.gds.select.1 <- tempfile() 8: glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.1)lapply(X = S, FUN = FUN, ...) obj1.gds.select.1 <- read.table(obj1.outfile.gds.select.1, header = TRUE, as.is = TRUE) 9: expect_equal(obj1.gds.noselect.1, obj1.gds.select.1)doTryCatch(return(expr), name, parentenv, handler) expect_equal(obj1.bed.select.1$PVAL, signif(obj1.gds.select.1$PVAL)) expect_equal(signif(range(obj1.gds.select.1$PVAL)), signif(c(0.003804942, 10: 0.986534857)))tryCatchOne(expr, names, parentenv, handlers[[1L]]) unlink(c(obj1.outfile.gds.noselect.1, obj1.outfile.gds.select.1)) }11: obj1.outfile.txt.select.1 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1, tryCatchList(expr, classes, parentenv, handlers) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", 12: "Allele2"))tryCatch(expr, error = function(e) { obj1.txt.select.1 <- read.table(obj1.outfile.txt.select.1, call <- conditionCall(e) header = TRUE, as.is = TRUE) if (!is.null(call)) { expect_equal(obj1.bed.select.1$PVAL, obj1.txt.select.1$PVAL) if (identical(call[[1L]], quote(doTryCatch))) obj1.outfile.txt.select.1.tmp <- tempfile() call <- sys.call(-4L) dcall <- deparse(call, nlines = 1L) expect_error(glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1.tmp, prefix <- paste("Error in", dcall, ": ") infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, LONG <- 75L select = select, infile.header.print = c("SNP", "Allele1", sm <- strsplit(conditionMessage(e), "\n")[[1L]] "Allele2"), ncores = 2), "Error: parallel computing currently not implemented for plain text format genotypes.") w <- 14L + nchar(dcall, type = "w") + nchar(sm[1L], type = "w") if (is.na(w)) unlink(obj1.outfile.txt.select.1.tmp) w <- 14L + nchar(dcall, type = "b") + nchar(sm[1L], obj1.outfile.txt1.select.1 <- tempfile() type = "b") glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.1, if (w > LONG) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, prefix <- paste0(prefix, "\n ") select = select, infile.header.print = c("SNP", "Allele1", } "Allele2")) else prefix <- "Error : " obj1.txt1.select.1 <- read.table(obj1.outfile.txt1.select.1, msg <- paste0(prefix, conditionMessage(e), "\n") header = TRUE, as.is = TRUE) .Internal(seterrmessage(msg[1L])) expect_equal(obj1.txt.select.1, obj1.txt1.select.1) if (!silent && isTRUE(getOption("show.error.messages"))) { obj1.outfile.txt2.select.1 <- tempfile() cat(msg, file = outFile) glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.1, .Internal(printDeferredWarnings()) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, } select = select, infile.header.print = c("SNP", "Allele1", invisible(structure(msg, class = "try-error", condition = e)) "Allele2"))}) obj1.txt2.select.1 <- read.table(obj1.outfile.txt2.select.1, header = TRUE, as.is = TRUE)13: expect_equal(obj1.txt.select.1, obj1.txt2.select.1)try(lapply(X = S, FUN = FUN, ...), silent = TRUE) unlink(c(obj1.outfile.bed.noselect.1, obj1.outfile.bed.select.1, obj1.outfile.bgen.noselect.1, obj1.outfile.bgen.select.1, 14: obj1.outfile.txt.select.1, obj1.outfile.txt1.select.1, sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) obj1.outfile.txt2.select.1)) skip_on_cran()15: obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, FUN(X[[i]], ...) id = "id", family = binomial(link = "logit"), method = "REML", method.optim = "AI")16: select <- match(1:400, unique(obj2$id_include)) select[is.na(select)] <- 0lapply(seq_len(cores), inner.do) obj2.outfile.bed.noselect.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.1)17: obj2.bed.noselect.1 <- read.table(obj2.outfile.bed.noselect.1, mclapply(argsList, FUN, mc.preschedule = preschedule, mc.set.seed = set.seed, header = TRUE, as.is = TRUE) mc.silent = silent, mc.cores = cores) obj2.outfile.bed.select.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.1)18: obj2.bed.select.1 <- read.table(obj2.outfile.bed.select.1, e$fun(obj, substitute(ex), parent.frame(), e$data) header = TRUE, as.is = TRUE) expect_equal(obj2.bed.noselect.1, obj2.bed.select.1)19: obj2.outfile.bgen.noselect.1 <- tempfile()foreach(i = 1:ncores) %dopar% { glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, if (!is.null(obj$P)) { outfile = obj2.outfile.bgen.noselect.1) if (bgenInfo$LayoutFlag == 2) { obj2.bgen.noselect.1 <- read.table(obj2.outfile.bgen.noselect.1, .Call(C_glmm_score_bgen13, as.numeric(res), obj$P, header = TRUE, as.is = TRUE) infile, paste0(outfile, "_tmp.", i), center2, obj2.outfile.bgen.select.1 <- tempfile() MAF.range[1], MAF.range[2], miss.cutoff, miss.method, glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj2.outfile.bgen.select.1) nperbatch, select, threadInfo$begin[i], threadInfo$end[i], obj2.bgen.select.1 <- read.table(obj2.outfile.bgen.select.1, threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.select.1) 1) expect_equal(obj2.bed.select.1[, c("SNP", "CHR", "POS", "A1", } "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj2.bgen.select.1[, else { c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", .Call(C_glmm_score_bgen11, as.numeric(res), obj$P, "VAR", "PVAL")]) infile, paste0(outfile, "_tmp.", i), center2, if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { MAF.range[1], MAF.range[2], miss.cutoff, miss.method, obj2.outfile.gds.noselect.1 <- tempfile() nperbatch, select, threadInfo$begin[i], threadInfo$end[i], glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.1) threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, obj2.gds.noselect.1 <- read.table(obj2.outfile.gds.noselect.1, 1) header = TRUE, as.is = TRUE) } obj2.outfile.gds.select.1 <- tempfile() glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.1) } obj2.gds.select.1 <- read.table(obj2.outfile.gds.select.1, else { header = TRUE, as.is = TRUE) if (bgenInfo$LayoutFlag == 2) { expect_equal(obj2.gds.noselect.1, obj2.gds.select.1) .Call(C_glmm_score_bgen13_sp, as.numeric(res), obj$Sigma_i, expect_equal(obj2.bed.select.1$PVAL, signif(obj2.gds.select.1$PVAL)) obj$Sigma_iX, obj$cov, infile, paste0(outfile, expect_equal(signif(range(obj2.gds.select.1$PVAL)), signif(c(0.003738918, "_tmp.", i), center2, MAF.range[1], MAF.range[2], 0.996996766))) miss.cutoff, miss.method, nperbatch, select, } threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], obj2.outfile.txt.select.1 <- tempfile() bgenInfo$N, bgenInfo$CompressionFlag, 1) glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.1, } infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, else { select = select, infile.header.print = c("SNP", "Allele1", .Call(C_glmm_score_bgen11_sp, as.numeric(res), obj$Sigma_i, "Allele2")) obj$Sigma_iX, obj$cov, infile, paste0(outfile, obj2.txt.select.1 <- read.table(obj2.outfile.txt.select.1, "_tmp.", i), center2, MAF.range[1], MAF.range[2], miss.cutoff, miss.method, nperbatch, select, header = TRUE, as.is = TRUE) threadInfo$begin[i], threadInfo$end[i], threadInfo$pos[i], expect_equal(obj2.bed.select.1$PVAL, obj2.txt.select.1$PVAL) bgenInfo$N, bgenInfo$CompressionFlag, 1) obj2.outfile.txt1.select.1 <- tempfile() } glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, } select = select, infile.header.print = c("SNP", "Allele1", } "Allele2")) obj2.txt1.select.1 <- read.table(obj2.outfile.txt1.select.1, 20: header = TRUE, as.is = TRUE)glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, expect_equal(obj2.txt.select.1, obj2.txt1.select.1) outfile = obj1.outfile.bgen.noselect.1.tmp, ncores = 2) obj2.outfile.txt2.select.1 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.1, 21: infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, eval(code, test_env) select = select, infile.header.print = c("SNP", "Allele1", "Allele2"))22: obj2.txt2.select.1 <- read.table(obj2.outfile.txt2.select.1, eval(code, test_env) header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt2.select.1)23: idx <- sample(nrow(pheno))withCallingHandlers({ pheno <- pheno[idx, ] eval(code, test_env) obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, new_expectations <- the$test_expectations > starting_expectations id = "id", family = binomial(link = "logit"), method = "REML", if (snapshot_skipped) { method.optim = "AI") skip("On CRAN") select <- match(1:400, unique(obj1$id_include)) } select[is.na(select)] <- 0 else if (!new_expectations && skip_on_empty) { obj1.outfile.bed.noselect.2 <- tempfile() skip_empty() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.2) } obj1.bed.noselect.2 <- read.table(obj1.outfile.bed.noselect.2, }, expectation = handle_expectation, packageNotFoundError = function(e) { header = TRUE, as.is = TRUE) if (on_cran()) { expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.2) skip(paste0("{", e$package, "} is not installed.")) obj1.outfile.bed.select.2 <- tempfile() } glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.2)}, snapshot_on_cran = function(cnd) { obj1.bed.select.2 <- read.table(obj1.outfile.bed.select.2, snapshot_skipped <<- TRUE header = TRUE, as.is = TRUE) invokeRestart("muffle_cran_snapshot") expect_equal(obj1.bed.select.1, obj1.bed.select.2)}, skip = handle_skip, warning = handle_warning, message = handle_message, obj1.outfile.bgen.noselect.2 <- tempfile() error = handle_error, interrupt = handle_interrupt) glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.2)24: obj1.bgen.noselect.2 <- read.table(obj1.outfile.bgen.noselect.2, doTryCatch(return(expr), name, parentenv, handler) header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.2)25: obj1.outfile.bgen.select.2 <- tempfile()tryCatchOne(expr, names, parentenv, handlers[[1L]]) glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.2)26: obj1.bgen.select.2 <- read.table(obj1.outfile.bgen.select.2, tryCatchList(expr, classes, parentenv, handlers) header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.select.1, obj1.bgen.select.2)27: if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", tryCatch(withCallingHandlers({ quietly = TRUE)) { eval(code, test_env) obj1.outfile.gds.noselect.2 <- tempfile() new_expectations <- the$test_expectations > starting_expectations glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.2) if (snapshot_skipped) { obj1.gds.noselect.2 <- read.table(obj1.outfile.gds.noselect.2, skip("On CRAN") header = TRUE, as.is = TRUE) } expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.2) else if (!new_expectations && skip_on_empty) { obj1.outfile.gds.select.2 <- tempfile() skip_empty() glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.2) } obj1.gds.select.2 <- read.table(obj1.outfile.gds.select.2, }, expectation = handle_expectation, packageNotFoundError = function(e) { header = TRUE, as.is = TRUE) if (on_cran()) { expect_equal(obj1.gds.select.1, obj1.gds.select.2) skip(paste0("{", e$package, "} is not installed.")) } } obj1.outfile.txt.select.2 <- tempfile()}, snapshot_on_cran = function(cnd) { glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.2, snapshot_skipped <<- TRUE infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, invokeRestart("muffle_cran_snapshot") select = select, infile.header.print = c("SNP", "Allele1", }, skip = handle_skip, warning = handle_warning, message = handle_message, "Allele2")) error = handle_error, interrupt = handle_interrupt), error = handle_fatal) obj1.txt.select.2 <- read.table(obj1.outfile.txt.select.2, header = TRUE, as.is = TRUE)28: expect_equal(obj1.txt.select.1, obj1.txt.select.2)doWithOneRestart(return(expr), restart) obj1.outfile.txt1.select.2 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.2, 29: infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, withOneRestart(expr, restarts[[1L]]) select = select, infile.header.print = c("SNP", "Allele1", 30: "Allele2"))withRestarts(tryCatch(withCallingHandlers({ obj1.txt1.select.2 <- read.table(obj1.outfile.txt1.select.2, eval(code, test_env) header = TRUE, as.is = TRUE) new_expectations <- the$test_expectations > starting_expectations expect_equal(obj1.txt1.select.1, obj1.txt1.select.2) if (snapshot_skipped) { obj1.outfile.txt2.select.2 <- tempfile() skip("On CRAN") glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.2, } infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, else if (!new_expectations && skip_on_empty) { select = select, infile.header.print = c("SNP", "Allele1", skip_empty() "Allele2")) } obj1.txt2.select.2 <- read.table(obj1.outfile.txt2.select.2, }, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { header = TRUE, as.is = TRUE) skip(paste0("{", e$package, "} is not installed.")) expect_equal(obj1.txt2.select.1, obj1.txt2.select.2) } obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, }, snapshot_on_cran = function(cnd) { id = "id", family = binomial(link = "logit"), method = "REML", snapshot_skipped <<- TRUE method.optim = "AI") invokeRestart("muffle_cran_snapshot") select <- match(1:400, unique(obj2$id_include))}, skip = handle_skip, warning = handle_warning, message = handle_message, select[is.na(select)] <- 0 error = handle_error, interrupt = handle_interrupt), error = handle_fatal), obj2.outfile.bed.noselect.2 <- tempfile() end_test = function() { glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.2) }) obj2.bed.noselect.2 <- read.table(obj2.outfile.bed.noselect.2, header = TRUE, as.is = TRUE)31: expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.2)test_code(code, parent.frame()) obj2.outfile.bed.select.2 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.2)32: obj2.bed.select.2 <- read.table(obj2.outfile.bed.select.2, test_that("cross-sectional id le 400 binomial", { header = TRUE, as.is = TRUE) plinkfiles <- strsplit(system.file("extdata", "geno.bed", expect_equal(obj2.bed.select.1, obj2.bed.select.2) package = "GMMAT"), ".bed", fixed = TRUE)[[1]] obj2.outfile.bgen.noselect.2 <- tempfile() bgenfile <- system.file("extdata", "geno.bgen", package = "GMMAT") glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, samplefile <- system.file("extdata", "geno.sample", package = "GMMAT") outfile = obj2.outfile.bgen.noselect.2) gdsfile <- system.file("extdata", "geno.gds", package = "GMMAT") obj2.bgen.noselect.2 <- read.table(obj2.outfile.bgen.noselect.2, txtfile <- system.file("extdata", "geno.txt", package = "GMMAT") header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.2) txtfile1 <- system.file("extdata", "geno.txt.gz", package = "GMMAT") obj2.outfile.bgen.select.2 <- tempfile() txtfile2 <- system.file("extdata", "geno.txt.bz2", package = "GMMAT") glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, data(example) select = select, outfile = obj2.outfile.bgen.select.2) suppressWarnings(RNGversion("3.5.0")) obj2.bgen.select.2 <- read.table(obj2.outfile.bgen.select.2, set.seed(123) header = TRUE, as.is = TRUE) pheno <- rbind(example$pheno, example$pheno[1:100, ]) expect_equal(obj2.bgen.select.1, obj2.bgen.select.2) pheno$id <- 1:500 if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { pheno$disease[sample(1:500, 20)] <- NA obj2.outfile.gds.noselect.2 <- tempfile() pheno$age[sample(1:500, 20)] <- NA glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.2) pheno$sex[sample(1:500, 20)] <- NA obj2.gds.noselect.2 <- read.table(obj2.outfile.gds.noselect.2, pheno <- pheno[sample(1:500, 450), ] header = TRUE, as.is = TRUE) pheno <- pheno[pheno$id <= 400, ] expect_equal(obj2.gds.noselect.1, obj2.gds.noselect.2) kins <- example$GRM obj2.outfile.gds.select.2 <- tempfile() obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.2) id = "id", family = binomial(link = "logit"), method = "REML", obj2.gds.select.2 <- read.table(obj2.outfile.gds.select.2, method.optim = "AI") header = TRUE, as.is = TRUE) select <- match(1:400, unique(obj1$id_include)) expect_equal(obj2.gds.select.1, obj2.gds.select.2) select[is.na(select)] <- 0 } obj1.outfile.bed.noselect.1 <- tempfile() obj2.outfile.txt.select.2 <- tempfile() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.1) glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.2, obj1.bed.noselect.1 <- read.table(obj1.outfile.bed.noselect.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, header = TRUE, as.is = TRUE) select = select, infile.header.print = c("SNP", "Allele1", obj1.outfile.bed.noselect.1.tmp <- tempfile() "Allele2")) expect_error(glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.1.tmp, obj2.txt.select.2 <- read.table(obj2.outfile.txt.select.2, ncores = 2), "Error: parallel computing currently not implemented for PLINK binary format genotypes.") header = TRUE, as.is = TRUE) unlink(obj1.outfile.bed.noselect.1.tmp) expect_equal(obj2.txt.select.1, obj2.txt.select.2) obj1.outfile.bed.select.1 <- tempfile() obj2.outfile.txt1.select.2 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.1) glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.2, obj1.bed.select.1 <- read.table(obj1.outfile.bed.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.select.1) select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj1.outfile.bgen.noselect.1 <- tempfile() obj2.txt1.select.2 <- read.table(obj2.outfile.txt1.select.2, glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, header = TRUE, as.is = TRUE) outfile = obj1.outfile.bgen.noselect.1) expect_equal(obj2.txt1.select.1, obj2.txt1.select.2) obj1.bgen.noselect.1 <- read.table(obj1.outfile.bgen.noselect.1, obj2.outfile.txt2.select.2 <- tempfile() header = TRUE, as.is = TRUE) glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.2, obj1.outfile.bgen.noselect.1.tmp <- tempfile() infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, "Allele2")) outfile = obj1.outfile.bgen.noselect.1.tmp, ncores = 2) obj2.txt2.select.2 <- read.table(obj2.outfile.txt2.select.2, obj1.bgen.noselect.1.tmp <- read.table(obj1.outfile.bgen.noselect.1.tmp, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) expect_equal(obj2.txt2.select.1, obj2.txt2.select.2) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.1.tmp) idx <- sample(nrow(kins)) unlink(obj1.outfile.bgen.noselect.1.tmp) kins <- kins[idx, idx] obj1.outfile.bgen.select.1 <- tempfile() obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, id = "id", family = binomial(link = "logit"), method = "REML", select = select, outfile = obj1.outfile.bgen.select.1) method.optim = "AI") obj1.bgen.select.1 <- read.table(obj1.outfile.bgen.select.1, select <- match(1:400, unique(obj1$id_include)) header = TRUE, as.is = TRUE) select[is.na(select)] <- 0 expect_equal(obj1.bgen.noselect.1, obj1.bgen.select.1) obj1.outfile.bed.noselect.3 <- tempfile() expect_equal(obj1.bed.select.1[, c("SNP", "CHR", "POS", "A1", glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.3) "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj1.bgen.select.1[, obj1.bed.noselect.3 <- read.table(obj1.outfile.bed.noselect.3, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", header = TRUE, as.is = TRUE) "VAR", "PVAL")]) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.3) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", obj1.outfile.bed.select.3 <- tempfile() quietly = TRUE)) { glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.3) obj1.outfile.gds.noselect.1 <- tempfile() obj1.bed.select.3 <- read.table(obj1.outfile.bed.select.3, glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1) header = TRUE, as.is = TRUE) obj1.gds.noselect.1 <- read.table(obj1.outfile.gds.noselect.1, expect_equal(obj1.bed.select.1, obj1.bed.select.3) header = TRUE, as.is = TRUE) obj1.outfile.bgen.noselect.3 <- tempfile() obj1.outfile.gds.noselect.1.tmp <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1.tmp, outfile = obj1.outfile.bgen.noselect.3) ncores = 2) obj1.bgen.noselect.3 <- read.table(obj1.outfile.bgen.noselect.3, obj1.gds.noselect.1.tmp <- read.table(obj1.outfile.gds.noselect.1.tmp, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.3) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.1.tmp) obj1.outfile.bgen.select.3 <- tempfile() unlink(obj1.outfile.gds.noselect.1.tmp) glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.3) obj1.outfile.gds.select.1 <- tempfile() obj1.bgen.select.3 <- read.table(obj1.outfile.bgen.select.3, glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.1) header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.select.1, obj1.bgen.select.3) obj1.gds.select.1 <- read.table(obj1.outfile.gds.select.1, if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", header = TRUE, as.is = TRUE) quietly = TRUE)) { expect_equal(obj1.gds.noselect.1, obj1.gds.select.1) obj1.outfile.gds.noselect.3 <- tempfile() expect_equal(obj1.bed.select.1$PVAL, signif(obj1.gds.select.1$PVAL)) glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.3) expect_equal(signif(range(obj1.gds.select.1$PVAL)), signif(c(0.003804942, obj1.gds.noselect.3 <- read.table(obj1.outfile.gds.noselect.3, 0.986534857))) header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.3) unlink(c(obj1.outfile.gds.noselect.1, obj1.outfile.gds.select.1)) obj1.outfile.gds.select.3 <- tempfile() } glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.3) obj1.outfile.txt.select.1 <- tempfile() obj1.gds.select.3 <- read.table(obj1.outfile.gds.select.3, glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1, header = TRUE, as.is = TRUE) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, expect_equal(obj1.gds.select.1, obj1.gds.select.3) select = select, infile.header.print = c("SNP", "Allele1", } "Allele2")) obj1.outfile.txt.select.3 <- tempfile() obj1.txt.select.1 <- read.table(obj1.outfile.txt.select.1, glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.3, header = TRUE, as.is = TRUE) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, expect_equal(obj1.bed.select.1$PVAL, obj1.txt.select.1$PVAL) select = select, infile.header.print = c("SNP", "Allele1", obj1.outfile.txt.select.1.tmp <- tempfile() expect_error(glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1.tmp, "Allele2")) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, obj1.txt.select.3 <- read.table(obj1.outfile.txt.select.3, select = select, infile.header.print = c("SNP", "Allele1", header = TRUE, as.is = TRUE) "Allele2"), ncores = 2), "Error: parallel computing currently not implemented for plain text format genotypes.") expect_equal(obj1.txt.select.1, obj1.txt.select.3) unlink(obj1.outfile.txt.select.1.tmp) obj1.outfile.txt1.select.3 <- tempfile() obj1.outfile.txt1.select.1 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.3, glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) "Allele2")) obj1.txt1.select.3 <- read.table(obj1.outfile.txt1.select.3, obj1.txt1.select.1 <- read.table(obj1.outfile.txt1.select.1, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) expect_equal(obj1.txt1.select.1, obj1.txt1.select.3) expect_equal(obj1.txt.select.1, obj1.txt1.select.1) obj1.outfile.txt2.select.3 <- tempfile() obj1.outfile.txt2.select.1 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.3, glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) "Allele2")) obj1.txt2.select.3 <- read.table(obj1.outfile.txt2.select.3, obj1.txt2.select.1 <- read.table(obj1.outfile.txt2.select.1, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) expect_equal(obj1.txt2.select.1, obj1.txt2.select.3) expect_equal(obj1.txt.select.1, obj1.txt2.select.1) obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, unlink(c(obj1.outfile.bed.noselect.1, obj1.outfile.bed.select.1, id = "id", family = binomial(link = "logit"), method = "REML", obj1.outfile.bgen.noselect.1, obj1.outfile.bgen.select.1, method.optim = "AI") obj1.outfile.txt.select.1, obj1.outfile.txt1.select.1, select <- match(1:400, unique(obj2$id_include)) obj1.outfile.txt2.select.1)) select[is.na(select)] <- 0 skip_on_cran() obj2.outfile.bed.noselect.3 <- tempfile() obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.3) id = "id", family = binomial(link = "logit"), method = "REML", obj2.bed.noselect.3 <- read.table(obj2.outfile.bed.noselect.3, method.optim = "AI") header = TRUE, as.is = TRUE) select <- match(1:400, unique(obj2$id_include)) expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.3) select[is.na(select)] <- 0 obj2.outfile.bed.select.3 <- tempfile() obj2.outfile.bed.noselect.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.3) glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.1) obj2.bed.select.3 <- read.table(obj2.outfile.bed.select.3, obj2.bed.noselect.1 <- read.table(obj2.outfile.bed.noselect.1, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1, obj2.bed.select.3) obj2.outfile.bed.select.1 <- tempfile() obj2.outfile.bgen.noselect.3 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.1) glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, obj2.bed.select.1 <- read.table(obj2.outfile.bed.select.1, outfile = obj2.outfile.bgen.noselect.3) header = TRUE, as.is = TRUE) obj2.bgen.noselect.3 <- read.table(obj2.outfile.bgen.noselect.3, expect_equal(obj2.bed.noselect.1, obj2.bed.select.1) header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.3) obj2.outfile.bgen.noselect.1 <- tempfile() obj2.outfile.bgen.select.3 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.1) select = select, outfile = obj2.outfile.bgen.select.3) obj2.bgen.noselect.1 <- read.table(obj2.outfile.bgen.noselect.1, obj2.bgen.select.3 <- read.table(obj2.outfile.bgen.select.3, header = TRUE, as.is = TRUE) header = TRUE, as.is = TRUE) obj2.outfile.bgen.select.1 <- tempfile() expect_equal(obj2.bgen.select.1, obj2.bgen.select.3) glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", select = select, outfile = obj2.outfile.bgen.select.1) quietly = TRUE)) { obj2.bgen.select.1 <- read.table(obj2.outfile.bgen.select.1, obj2.outfile.gds.noselect.3 <- tempfile() header = TRUE, as.is = TRUE) glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.3) expect_equal(obj2.bgen.noselect.1, obj2.bgen.select.1) obj2.gds.noselect.3 <- read.table(obj2.outfile.gds.noselect.3, expect_equal(obj2.bed.select.1[, c("SNP", "CHR", "POS", "A1", header = TRUE, as.is = TRUE) "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj2.bgen.select.1[, expect_equal(obj2.gds.noselect.1, obj2.gds.noselect.3) c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", obj2.outfile.gds.select.3 <- tempfile() "VAR", "PVAL")]) glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.3) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", obj2.gds.select.3 <- read.table(obj2.outfile.gds.select.3, quietly = TRUE)) { header = TRUE, as.is = TRUE) obj2.outfile.gds.noselect.1 <- tempfile() expect_equal(obj2.gds.select.1, obj2.gds.select.3) glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.1) } obj2.gds.noselect.1 <- read.table(obj2.outfile.gds.noselect.1, obj2.outfile.txt.select.3 <- tempfile() header = TRUE, as.is = TRUE) glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.3, obj2.outfile.gds.select.1 <- tempfile() infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.1) select = select, infile.header.print = c("SNP", "Allele1", obj2.gds.select.1 <- read.table(obj2.outfile.gds.select.1, "Allele2")) header = TRUE, as.is = TRUE) obj2.txt.select.3 <- read.table(obj2.outfile.txt.select.3, expect_equal(obj2.gds.noselect.1, obj2.gds.select.1) header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1$PVAL, signif(obj2.gds.select.1$PVAL)) expect_equal(obj2.txt.select.1, obj2.txt.select.3) expect_equal(signif(range(obj2.gds.select.1$PVAL)), signif(c(0.003738918, obj2.outfile.txt1.select.3 <- tempfile() 0.996996766))) glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.3, } infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, obj2.outfile.txt.select.1 <- tempfile() select = select, infile.header.print = c("SNP", "Allele1", glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.1, "Allele2")) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, obj2.txt1.select.3 <- read.table(obj2.outfile.txt1.select.3, select = select, infile.header.print = c("SNP", "Allele1", header = TRUE, as.is = TRUE) "Allele2")) obj2.txt.select.1 <- read.table(obj2.outfile.txt.select.1, expect_equal(obj2.txt1.select.1, obj2.txt1.select.3) header = TRUE, as.is = TRUE) obj2.outfile.txt2.select.3 <- tempfile() expect_equal(obj2.bed.select.1$PVAL, obj2.txt.select.1$PVAL) glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.3, obj2.outfile.txt1.select.1 <- tempfile() infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.1, select = select, infile.header.print = c("SNP", "Allele1", infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, "Allele2")) select = select, infile.header.print = c("SNP", "Allele1", obj2.txt2.select.3 <- read.table(obj2.outfile.txt2.select.3, "Allele2")) header = TRUE, as.is = TRUE) obj2.txt1.select.1 <- read.table(obj2.outfile.txt1.select.1, expect_equal(obj2.txt2.select.1, obj2.txt2.select.3) header = TRUE, as.is = TRUE) unlink(c(obj2.outfile.bed.noselect.1, obj2.outfile.bed.select.1, expect_equal(obj2.txt.select.1, obj2.txt1.select.1) obj2.outfile.bgen.noselect.1, obj2.outfile.bgen.select.1, obj2.outfile.txt2.select.1 <- tempfile() obj2.outfile.txt.select.1, obj2.outfile.txt1.select.1, glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, obj2.outfile.txt2.select.1)) unlink(c(obj1.outfile.bed.noselect.2, obj1.outfile.bed.select.2, select = select, infile.header.print = c("SNP", "Allele1", obj1.outfile.bgen.noselect.2, obj1.outfile.bgen.select.2, "Allele2")) obj1.outfile.txt.select.2, obj1.outfile.txt1.select.2, obj2.txt2.select.1 <- read.table(obj2.outfile.txt2.select.1, obj1.outfile.txt2.select.2)) header = TRUE, as.is = TRUE) unlink(c(obj2.outfile.bed.noselect.2, obj2.outfile.bed.select.2, expect_equal(obj2.txt.select.1, obj2.txt2.select.1) obj2.outfile.bgen.noselect.2, obj2.outfile.bgen.select.2, idx <- sample(nrow(pheno)) obj2.outfile.txt.select.2, obj2.outfile.txt1.select.2, pheno <- pheno[idx, ] obj2.outfile.txt2.select.2)) obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, unlink(c(obj1.outfile.bed.noselect.3, obj1.outfile.bed.select.3, id = "id", family = binomial(link = "logit"), method = "REML", obj1.outfile.bgen.noselect.3, obj1.outfile.bgen.select.3, method.optim = "AI") obj1.outfile.txt.select.3, obj1.outfile.txt1.select.3, select <- match(1:400, unique(obj1$id_include)) obj1.outfile.txt2.select.3)) select[is.na(select)] <- 0 unlink(c(obj2.outfile.bed.noselect.3, obj2.outfile.bed.select.3, obj2.outfile.bgen.noselect.3, obj2.outfile.bgen.select.3, obj1.outfile.bed.noselect.2 <- tempfile() obj2.outfile.txt.select.3, obj2.outfile.txt1.select.3, glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.2) obj2.outfile.txt2.select.3)) obj1.bed.noselect.2 <- read.table(obj1.outfile.bed.noselect.2, if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", header = TRUE, as.is = TRUE) quietly = TRUE)) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.2) unlink(c(obj2.outfile.gds.noselect.1, obj2.outfile.gds.select.1, obj1.outfile.bed.select.2 <- tempfile() obj1.outfile.gds.noselect.2, obj1.outfile.gds.select.2, glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.2) obj2.outfile.gds.noselect.2, obj2.outfile.gds.select.2, obj1.bed.select.2 <- read.table(obj1.outfile.bed.select.2, obj1.outfile.gds.noselect.3, obj1.outfile.gds.select.3, header = TRUE, as.is = TRUE) obj2.outfile.gds.noselect.3, obj2.outfile.gds.select.3)) expect_equal(obj1.bed.select.1, obj1.bed.select.2)}) obj1.outfile.bgen.noselect.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, 33: outfile = obj1.outfile.bgen.noselect.2)eval(code, test_env) obj1.bgen.noselect.2 <- read.table(obj1.outfile.bgen.noselect.2, header = TRUE, as.is = TRUE)34: expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.2)eval(code, test_env) obj1.outfile.bgen.select.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, 35: select = select, outfile = obj1.outfile.bgen.select.2)withCallingHandlers({ obj1.bgen.select.2 <- read.table(obj1.outfile.bgen.select.2, eval(code, test_env) header = TRUE, as.is = TRUE) new_expectations <- the$test_expectations > starting_expectations expect_equal(obj1.bgen.select.1, obj1.bgen.select.2) if (snapshot_skipped) { if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", skip("On CRAN") quietly = TRUE)) { } obj1.outfile.gds.noselect.2 <- tempfile() else if (!new_expectations && skip_on_empty) { glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.2) skip_empty() obj1.gds.noselect.2 <- read.table(obj1.outfile.gds.noselect.2, } header = TRUE, as.is = TRUE)}, expectation = handle_expectation, packageNotFoundError = function(e) { expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.2) if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) obj1.outfile.gds.select.2 <- tempfile() } glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.2)}, snapshot_on_cran = function(cnd) { obj1.gds.select.2 <- read.table(obj1.outfile.gds.select.2, snapshot_skipped <<- TRUE header = TRUE, as.is = TRUE) invokeRestart("muffle_cran_snapshot") expect_equal(obj1.gds.select.1, obj1.gds.select.2)}, skip = handle_skip, warning = handle_warning, message = handle_message, } error = handle_error, interrupt = handle_interrupt) obj1.outfile.txt.select.2 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.2, 36: infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, doTryCatch(return(expr), name, parentenv, handler) select = select, infile.header.print = c("SNP", "Allele1", "Allele2"))37: obj1.txt.select.2 <- read.table(obj1.outfile.txt.select.2, tryCatchOne(expr, names, parentenv, handlers[[1L]]) header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt.select.2)38: tryCatchList(expr, classes, parentenv, handlers) obj1.outfile.txt1.select.2 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.2, 39: infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, tryCatch(withCallingHandlers({ select = select, infile.header.print = c("SNP", "Allele1", eval(code, test_env) "Allele2")) new_expectations <- the$test_expectations > starting_expectations obj1.txt1.select.2 <- read.table(obj1.outfile.txt1.select.2, if (snapshot_skipped) { header = TRUE, as.is = TRUE) skip("On CRAN") expect_equal(obj1.txt1.select.1, obj1.txt1.select.2) } obj1.outfile.txt2.select.2 <- tempfile() else if (!new_expectations && skip_on_empty) { glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.2, skip_empty() infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, } select = select, infile.header.print = c("SNP", "Allele1", }, expectation = handle_expectation, packageNotFoundError = function(e) { "Allele2")) if (on_cran()) { obj1.txt2.select.2 <- read.table(obj1.outfile.txt2.select.2, skip(paste0("{", e$package, "} is not installed.")) header = TRUE, as.is = TRUE) } expect_equal(obj1.txt2.select.1, obj1.txt2.select.2)}, snapshot_on_cran = function(cnd) { obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, snapshot_skipped <<- TRUE id = "id", family = binomial(link = "logit"), method = "REML", invokeRestart("muffle_cran_snapshot") method.optim = "AI")}, skip = handle_skip, warning = handle_warning, message = handle_message, select <- match(1:400, unique(obj2$id_include)) error = handle_error, interrupt = handle_interrupt), error = handle_fatal) select[is.na(select)] <- 0 obj2.outfile.bed.noselect.2 <- tempfile()40: glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.2)doWithOneRestart(return(expr), restart) obj2.bed.noselect.2 <- read.table(obj2.outfile.bed.noselect.2, header = TRUE, as.is = TRUE)41: expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.2)withOneRestart(expr, restarts[[1L]]) obj2.outfile.bed.select.2 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.2)42: obj2.bed.select.2 <- read.table(obj2.outfile.bed.select.2, withRestarts(tryCatch(withCallingHandlers({ header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1, obj2.bed.select.2) eval(code, test_env) obj2.outfile.bgen.noselect.2 <- tempfile() new_expectations <- the$test_expectations > starting_expectations glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, if (snapshot_skipped) { outfile = obj2.outfile.bgen.noselect.2) skip("On CRAN") obj2.bgen.noselect.2 <- read.table(obj2.outfile.bgen.noselect.2, } header = TRUE, as.is = TRUE) else if (!new_expectations && skip_on_empty) { expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.2) skip_empty() obj2.outfile.bgen.select.2 <- tempfile() } glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, }, expectation = handle_expectation, packageNotFoundError = function(e) { select = select, outfile = obj2.outfile.bgen.select.2) if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) obj2.bgen.select.2 <- read.table(obj2.outfile.bgen.select.2, } header = TRUE, as.is = TRUE)}, snapshot_on_cran = function(cnd) { expect_equal(obj2.bgen.select.1, obj2.bgen.select.2) snapshot_skipped <<- TRUE if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", invokeRestart("muffle_cran_snapshot") quietly = TRUE)) {}, skip = handle_skip, warning = handle_warning, message = handle_message, obj2.outfile.gds.noselect.2 <- tempfile() error = handle_error, interrupt = handle_interrupt), error = handle_fatal), glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.2) end_test = function() { obj2.gds.noselect.2 <- read.table(obj2.outfile.gds.noselect.2, }) header = TRUE, as.is = TRUE) expect_equal(obj2.gds.noselect.1, obj2.gds.noselect.2)43: obj2.outfile.gds.select.2 <- tempfile()test_code(code = exprs, env = env, reporter = get_reporter() %||% glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.2) StopReporter$new()) obj2.gds.select.2 <- read.table(obj2.outfile.gds.select.2, 44: header = TRUE, as.is = TRUE)source_file(path, env = env(env), desc = desc, shuffle = shuffle, expect_equal(obj2.gds.select.1, obj2.gds.select.2) error_call = error_call) } obj2.outfile.txt.select.2 <- tempfile()45: glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.2, FUN(X[[i]], ...) infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", 46: "Allele2"))lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, obj2.txt.select.2 <- read.table(obj2.outfile.txt.select.2, error_call = error_call) header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt.select.2)47: obj2.outfile.txt1.select.2 <- tempfile()doTryCatch(return(expr), name, parentenv, handler) glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.2, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, 48: select = select, infile.header.print = c("SNP", "Allele1", tryCatchOne(expr, names, parentenv, handlers[[1L]]) "Allele2")) obj2.txt1.select.2 <- read.table(obj2.outfile.txt1.select.2, 49: header = TRUE, as.is = TRUE)tryCatchList(expr, classes, parentenv, handlers) expect_equal(obj2.txt1.select.1, obj2.txt1.select.2) obj2.outfile.txt2.select.2 <- tempfile()50: glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.2, tryCatch(code, testthat_abort_reporter = function(cnd) { infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, cat(conditionMessage(cnd), "\n") select = select, infile.header.print = c("SNP", "Allele1", NULL "Allele2"))}) obj2.txt2.select.2 <- read.table(obj2.outfile.txt2.select.2, header = TRUE, as.is = TRUE)51: expect_equal(obj2.txt2.select.1, obj2.txt2.select.2)with_reporter(reporters$multi, lapply(test_paths, test_one_file, idx <- sample(nrow(kins)) env = env, desc = desc, shuffle = shuffle, error_call = error_call)) kins <- kins[idx, idx] obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, 52: id = "id", family = binomial(link = "logit"), method = "REML", test_files_serial(test_dir = test_dir, test_package = test_package, method.optim = "AI") test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, select <- match(1:400, unique(obj1$id_include)) env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, select[is.na(select)] <- 0 desc = desc, load_package = load_package, shuffle = shuffle, obj1.outfile.bed.noselect.3 <- tempfile() error_call = error_call) glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.3) obj1.bed.noselect.3 <- read.table(obj1.outfile.bed.noselect.3, 53: header = TRUE, as.is = TRUE)test_files(test_dir = path, test_paths = test_paths, test_package = package, expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.3) reporter = reporter, load_helpers = load_helpers, env = env, obj1.outfile.bed.select.3 <- tempfile() stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.3) load_package = load_package, parallel = parallel, shuffle = shuffle) obj1.bed.select.3 <- read.table(obj1.outfile.bed.select.3, header = TRUE, as.is = TRUE)54: expect_equal(obj1.bed.select.1, obj1.bed.select.3)test_dir("testthat", package = package, reporter = reporter, obj1.outfile.bgen.noselect.3 <- tempfile() ..., load_package = "installed") glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, 55: outfile = obj1.outfile.bgen.noselect.3)test_check("GMMAT") obj1.bgen.noselect.3 <- read.table(obj1.outfile.bgen.noselect.3, An irrecoverable exception occurred. R is aborting now ... header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.3) obj1.outfile.bgen.select.3 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.3) obj1.bgen.select.3 <- read.table(obj1.outfile.bgen.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.select.1, obj1.bgen.select.3) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj1.outfile.gds.noselect.3 <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.3) obj1.gds.noselect.3 <- read.table(obj1.outfile.gds.noselect.3, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.3) obj1.outfile.gds.select.3 <- tempfile() glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.3) obj1.gds.select.3 <- read.table(obj1.outfile.gds.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.select.1, obj1.gds.select.3) } obj1.outfile.txt.select.3 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj1.txt.select.3 <- read.table(obj1.outfile.txt.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt.select.3) obj1.outfile.txt1.select.3 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj1.txt1.select.3 <- read.table(obj1.outfile.txt1.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.txt1.select.1, obj1.txt1.select.3) obj1.outfile.txt2.select.3 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj1.txt2.select.3 <- read.table(obj1.outfile.txt2.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.txt2.select.1, obj1.txt2.select.3) obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, id = "id", family = binomial(link = "logit"), method = "REML", method.optim = "AI") select <- match(1:400, unique(obj2$id_include)) select[is.na(select)] <- 0 obj2.outfile.bed.noselect.3 <- tempfile() glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.3) obj2.bed.noselect.3 <- read.table(obj2.outfile.bed.noselect.3, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.3) obj2.outfile.bed.select.3 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.3) obj2.bed.select.3 <- read.table(obj2.outfile.bed.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1, obj2.bed.select.3) obj2.outfile.bgen.noselect.3 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.3) obj2.bgen.noselect.3 <- read.table(obj2.outfile.bgen.noselect.3, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.3) obj2.outfile.bgen.select.3 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj2.outfile.bgen.select.3) obj2.bgen.select.3 <- read.table(obj2.outfile.bgen.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.select.1, obj2.bgen.select.3) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj2.outfile.gds.noselect.3 <- tempfile() glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.3) obj2.gds.noselect.3 <- read.table(obj2.outfile.gds.noselect.3, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.noselect.1, obj2.gds.noselect.3) obj2.outfile.gds.select.3 <- tempfile() glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.3) obj2.gds.select.3 <- read.table(obj2.outfile.gds.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.select.1, obj2.gds.select.3) } obj2.outfile.txt.select.3 <- tempfile() glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj2.txt.select.3 <- read.table(obj2.outfile.txt.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt.select.3) obj2.outfile.txt1.select.3 <- tempfile() glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj2.txt1.select.3 <- read.table(obj2.outfile.txt1.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.txt1.select.1, obj2.txt1.select.3) obj2.outfile.txt2.select.3 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.3, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj2.txt2.select.3 <- read.table(obj2.outfile.txt2.select.3, header = TRUE, as.is = TRUE) expect_equal(obj2.txt2.select.1, obj2.txt2.select.3) unlink(c(obj2.outfile.bed.noselect.1, obj2.outfile.bed.select.1, obj2.outfile.bgen.noselect.1, obj2.outfile.bgen.select.1, obj2.outfile.txt.select.1, obj2.outfile.txt1.select.1, obj2.outfile.txt2.select.1)) unlink(c(obj1.outfile.bed.noselect.2, obj1.outfile.bed.select.2, obj1.outfile.bgen.noselect.2, obj1.outfile.bgen.select.2, obj1.outfile.txt.select.2, obj1.outfile.txt1.select.2, obj1.outfile.txt2.select.2)) unlink(c(obj2.outfile.bed.noselect.2, obj2.outfile.bed.select.2, obj2.outfile.bgen.noselect.2, obj2.outfile.bgen.select.2, obj2.outfile.txt.select.2, obj2.outfile.txt1.select.2, obj2.outfile.txt2.select.2)) unlink(c(obj1.outfile.bed.noselect.3, obj1.outfile.bed.select.3, obj1.outfile.bgen.noselect.3, obj1.outfile.bgen.select.3, obj1.outfile.txt.select.3, obj1.outfile.txt1.select.3, obj1.outfile.txt2.select.3)) unlink(c(obj2.outfile.bed.noselect.3, obj2.outfile.bed.select.3, obj2.outfile.bgen.noselect.3, obj2.outfile.bgen.select.3, obj2.outfile.txt.select.3, obj2.outfile.txt1.select.3, obj2.outfile.txt2.select.3)) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) unlink(c(obj2.outfile.gds.noselect.1, obj2.outfile.gds.select.1, obj1.outfile.gds.noselect.2, obj1.outfile.gds.select.2, obj2.outfile.gds.noselect.2, obj2.outfile.gds.select.2, obj1.outfile.gds.noselect.3, obj1.outfile.gds.select.3, obj2.outfile.gds.noselect.3, obj2.outfile.gds.select.3))}) 33: eval(code, test_env) 34: eval(code, test_env) 35: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt) 36: doTryCatch(return(expr), name, parentenv, handler) 37: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 38: tryCatchList(expr, classes, parentenv, handlers) 39: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal) 40: doWithOneRestart(return(expr), restart) 41: withOneRestart(expr, restarts[[1L]]) 42: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) }}, snapshot_on_cran = function(cnd) { snapshot_skipped <<- TRUE invokeRestart("muffle_cran_snapshot")}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt), error = handle_fatal), end_test = function() { }) 43: test_code(code = exprs, env = env, reporter = get_reporter() %||% StopReporter$new()) 44: source_file(path, env = env(env), desc = desc, shuffle = shuffle, error_call = error_call) 45: FUN(X[[i]], ...) 46: lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call) 47: doTryCatch(return(expr), name, parentenv, handler) 48: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 49: tryCatchList(expr, classes, parentenv, handlers) 50: tryCatch(code, testthat_abort_reporter = function(cnd) { cat(conditionMessage(cnd), "\n") NULL}) 51: with_reporter(reporters$multi, lapply(test_paths, test_one_file, env = env, desc = desc, shuffle = shuffle, error_call = error_call)) 52: test_files_serial(test_dir = test_dir, test_package = test_package, test_paths = test_paths, load_helpers = load_helpers, reporter = reporter, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, desc = desc, load_package = load_package, shuffle = shuffle, error_call = error_call) 53: test_files(test_dir = path, test_paths = test_paths, test_package = package, reporter = reporter, load_helpers = load_helpers, env = env, stop_on_failure = stop_on_failure, stop_on_warning = stop_on_warning, load_package = load_package, parallel = parallel, shuffle = shuffle) 54: test_dir("testthat", package = package, reporter = reporter, ..., load_package = "installed") 55: test_check("GMMAT") An irrecoverable exception occurred. R is aborting now ... Saving _problems/test_glmm.score-37.R The following SNPs have been removed due to inconsistent alleles across studies: [1] "L10" "L12" "L15" [ FAIL 1 | WARN 2 | SKIP 30 | PASS 3 ] ══ Skipped tests (30) ══════════════════════════════════════════════════════════ • On CRAN (28): 'test_SMMAT.R:56:2', 'test_SMMAT.R:103:2', 'test_SMMAT.R:149:2', 'test_SMMAT.R:196:2', 'test_SMMAT.R:236:2', 'test_SMMAT.R:276:2', 'test_SMMAT.meta.R:45:2', 'test_SMMAT.meta.R:77:2', 'test_SMMAT.meta.R:108:2', 'test_SMMAT.meta.R:140:2', 'test_SMMAT.meta.R:165:2', 'test_glmm.score.R:317:2', 'test_glmm.score.R:616:2', 'test_glmm.score.R:914:2', 'test_glmm.score.R:1213:2', 'test_glmm.score.R:1505:2', 'test_glmm.score.R:1797:2', 'test_glmm.wald.R:2:2', 'test_glmm.wald.R:805:2', 'test_glmm.wald.R:1609:2', 'test_glmm.wald.R:1761:2', 'test_glmmkin.R:2:2', 'test_glmmkin.R:82:2', 'test_glmmkin.R:163:2', 'test_glmmkin.R:245:2', 'test_glmmkin.R:328:2', 'test_glmmkin.R:362:2', 'test_glmmkin.R:396:2' • {SeqArray} is not installed (2): 'test_SMMAT.R:2:9', 'test_SMMAT.meta.R:2:2' ══ Failed tests ════════════════════════════════════════════════════════════════ ── Error ('test_glmm.score.R:37:2'): cross-sectional id le 400 binomial ──────── Error in `file(outfile, "w")`: cannot open the connection Backtrace: ▆ 1. └─GMMAT::glmm.score(...) at test_glmm.score.R:37:9 2. └─base::file(outfile, "w") [ FAIL 1 | WARN 2 | SKIP 30 | PASS 3 ] Error: ! Test failures. Execution halted Flavor: r-oldrel-macos-arm64

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.