• using R version 4.5.2 (2025-10-31)
  • using platform: aarch64-apple-darwin20
  • R was compiled by     Apple clang version 16.0.0 (clang-1600.0.26.6)     GNU Fortran (GCC) 14.2.0
  • running under: macOS Ventura 13.7.8
  • using session charset: UTF-8
  • checking for file ‘GMMAT/DESCRIPTION’ ... OK
  • this is package ‘GMMAT’ version ‘1.5.0’
  • package encoding: UTF-8
  • checking package namespace information ... OK
  • checking package dependencies ... INFO Packages suggested but not available for checking:   'SeqArray', 'SeqVarTools'
  • checking if this is a source package ... OK
  • checking if there is a namespace ... OK
  • checking for executable files ... OK
  • checking for hidden files and directories ... OK
  • checking for portable file names ... OK
  • checking for sufficient/correct file permissions ... OK
  • checking whether package ‘GMMAT’ can be installed ... [11s/14s] OK See the install log for details.
  • used C compiler: ‘Apple clang version 14.0.3 (clang-1403.0.22.14.1)’
  • used C++ compiler: ‘Apple clang version 14.0.3 (clang-1403.0.22.14.1)’
  • used SDK: ‘MacOSX11.3.1.sdk’
  • checking installed package size ... INFO   installed size is 7.6Mb   sub-directories of 1Mb or more:     libs 5.7Mb
  • checking package directory ... OK
  • checking ‘build’ directory ... OK
  • checking DESCRIPTION meta-information ... OK
  • checking top-level files ... OK
  • checking for left-over files ... OK
  • checking index information ... OK
  • checking package subdirectories ... OK
  • checking code files for non-ASCII characters ... OK
  • checking R files for syntax errors ... OK
  • checking whether the package can be loaded ... [0s/0s] OK
  • checking whether the package can be loaded with stated dependencies ... [0s/0s] OK
  • checking whether the package can be unloaded cleanly ... [0s/0s] OK
  • checking whether the namespace can be loaded with stated dependencies ... [0s/0s] OK
  • checking whether the namespace can be unloaded cleanly ... [0s/0s] OK
  • checking loading without being on the library search path ... [0s/1s] OK
  • checking dependencies in R code ... OK
  • checking S3 generic/method consistency ... OK
  • checking replacement functions ... OK
  • checking foreign function calls ... OK
  • checking R code for possible problems ... [3s/3s] OK
  • checking Rd files ... [0s/0s] OK
  • checking Rd metadata ... OK
  • checking Rd cross-references ... OK
  • checking for missing documentation entries ... OK
  • checking for code/documentation mismatches ... OK
  • checking Rd \usage sections ... OK
  • checking Rd contents ... OK
  • checking for unstated dependencies in examples ... OK
  • checking contents of ‘data’ directory ... OK
  • checking data for non-ASCII characters ... [0s/0s] OK
  • checking data for ASCII and uncompressed saves ... OK
  • checking line endings in shell scripts ... OK
  • checking line endings in C/C++/Fortran sources/headers ... OK
  • checking line endings in Makefiles ... OK
  • checking compilation flags in Makevars ... OK
  • checking for GNU extensions in Makefiles ... OK
  • checking for portable use of $(BLAS_LIBS) and $(LAPACK_LIBS) ... OK
  • checking use of PKG_*FLAGS in Makefiles ... OK
  • checking compiled code ... OK
  • checking sizes of PDF files under ‘inst/doc’ ... OK
  • checking installed files from ‘inst/doc’ ... OK
  • checking files in ‘vignettes’ ... OK
  • checking examples ... [1s/1s] OK
  • checking for unstated dependencies in ‘tests’ ... OK
  • checking tests ... [2s/1s] ERROR   Running ‘testthat.R’ [2s/1s] 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,   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: mc.silent = silent, mc.cores = cores)   18: e$fun(obj, substitute(ex), parent.frame(), e$data)   19: 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: 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], try(lapply(X = S, FUN = FUN, ...), silent = TRUE)   14: sendMaster(try(lapply(X = S, FUN = FUN, ...), silent = TRUE)) threadInfo$pos[i], bgenInfo$N, bgenInfo$CompressionFlag, 1) } } else {   15: FUN(X[[i]], ...)           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], 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)                   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) }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, }}   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)                   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, 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() 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, }}, 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") 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 {}, skip = handle_skip, warning = handle_warning, message = handle_message, error = handle_error, interrupt = handle_interrupt)   24: doTryCatch(return(expr), name, parentenv, handler)   25: .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) } }tryCatchOne(expr, names, parentenv, handlers[[1L]])   26: tryCatchList(expr, classes, parentenv, handlers)   27: }   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_expectationstryCatch(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() } 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) { }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) { skip(paste0("{", e$package, "} is not installed.")) } 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]])}, 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) {   26: tryCatchList(expr, classes, parentenv, handlers)   27: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations 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") 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)       txtfile1 <- system.file("extdata", "geno.txt.gz", package = "GMMAT") txtfile2 <- system.file("extdata", "geno.txt.bz2", package = "GMMAT") data(example)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) { 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)) 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())       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, 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 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) obj1.bgen.select.1 <- read.table(obj1.outfile.bgen.select.1, 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) header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.select.1) expect_equal(obj1.bed.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj1.bgen.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")]) 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) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj1.outfile.gds.noselect.1 <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1) obj1.gds.noselect.1 <- read.table(obj1.outfile.gds.noselect.1, header = TRUE, as.is = TRUE) obj1.outfile.gds.noselect.1.tmp <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1.tmp, ncores = 2) obj1.gds.noselect.1.tmp <- read.table(obj1.outfile.gds.noselect.1.tmp, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.1.tmp) unlink(obj1.outfile.gds.noselect.1.tmp) obj1.outfile.gds.select.1 <- tempfile() glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.1) obj1.gds.select.1 <- read.table(obj1.outfile.gds.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) header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.select.1) 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, 0.986534857))) unlink(c(obj1.outfile.gds.noselect.1, obj1.outfile.gds.select.1)) } 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) obj1.bgen.select.1 <- read.table(obj1.outfile.bgen.select.1, obj1.outfile.txt.select.1 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1, 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.1 <- read.table(obj1.outfile.txt.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1$PVAL, obj1.txt.select.1$PVAL) obj1.outfile.txt.select.1.tmp <- tempfile() expect_error(glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1.tmp, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", "Allele2"), ncores = 2), "Error: parallel computing currently not implemented for plain text format genotypes.") unlink(obj1.outfile.txt.select.1.tmp) obj1.outfile.txt1.select.1 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.select.1) expect_equal(obj1.bed.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj1.bgen.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")]) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj1.outfile.gds.noselect.1 <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1) obj1.gds.noselect.1 <- read.table(obj1.outfile.gds.noselect.1, header = TRUE, as.is = TRUE) obj1.outfile.gds.noselect.1.tmp <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.1.tmp, ncores = 2) obj1.gds.noselect.1.tmp <- read.table(obj1.outfile.gds.noselect.1.tmp, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.1.tmp) unlink(obj1.outfile.gds.noselect.1.tmp) obj1.outfile.gds.select.1 <- tempfile() glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.1) 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.1 <- read.table(obj1.outfile.txt1.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt1.select.1) obj1.outfile.txt2.select.1 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, obj1.gds.select.1 <- read.table(obj1.outfile.gds.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.select.1) 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, 0.986534857))) unlink(c(obj1.outfile.gds.noselect.1, obj1.outfile.gds.select.1)) } obj1.outfile.txt.select.1 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1, 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.1 <- read.table(obj1.outfile.txt.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1$PVAL, obj1.txt.select.1$PVAL) obj1.outfile.txt.select.1.tmp <- tempfile() expect_error(glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.1.tmp, 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.1 <- read.table(obj1.outfile.txt2.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt2.select.1) unlink(c(obj1.outfile.bed.noselect.1, obj1.outfile.bed.select.1, obj1.outfile.bgen.noselect.1, obj1.outfile.bgen.select.1, obj1.outfile.txt.select.1, obj1.outfile.txt1.select.1, obj1.outfile.txt2.select.1)) skip_on_cran() 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.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.1) obj2.bed.noselect.1 <- read.table(obj2.outfile.bed.noselect.1, header = TRUE, as.is = TRUE) obj2.outfile.bed.select.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.1) obj2.bed.select.1 <- read.table(obj2.outfile.bed.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.noselect.1, obj2.bed.select.1) obj2.outfile.bgen.noselect.1 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.1) obj2.bgen.noselect.1 <- read.table(obj2.outfile.bgen.noselect.1, header = TRUE, as.is = TRUE) obj2.outfile.bgen.select.1 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, infile.header.print = c("SNP", "Allele1", "Allele2"), ncores = 2), "Error: parallel computing currently not implemented for plain text format genotypes.") unlink(obj1.outfile.txt.select.1.tmp) obj1.outfile.txt1.select.1 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.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")) obj1.txt1.select.1 <- read.table(obj1.outfile.txt1.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt1.select.1) obj1.outfile.txt2.select.1 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.1, 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.1 <- read.table(obj1.outfile.txt2.select.1, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt2.select.1) unlink(c(obj1.outfile.bed.noselect.1, obj1.outfile.bed.select.1, obj1.outfile.bgen.noselect.1, obj1.outfile.bgen.select.1, obj1.outfile.txt.select.1, obj1.outfile.txt1.select.1, obj1.outfile.txt2.select.1)) select = select, outfile = obj2.outfile.bgen.select.1) obj2.bgen.select.1 <- read.table(obj2.outfile.bgen.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.select.1) expect_equal(obj2.bed.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj2.bgen.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")]) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj2.outfile.gds.noselect.1 <- tempfile() skip_on_cran() 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.1 <- tempfile() glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.1) obj2.gds.noselect.1 <- read.table(obj2.outfile.gds.noselect.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, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.noselect.1, obj2.gds.select.1) expect_equal(obj2.bed.select.1$PVAL, signif(obj2.gds.select.1$PVAL)) glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.1) obj2.bed.noselect.1 <- read.table(obj2.outfile.bed.noselect.1, header = TRUE, as.is = TRUE) obj2.outfile.bed.select.1 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.1) obj2.bed.select.1 <- read.table(obj2.outfile.bed.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.noselect.1, obj2.bed.select.1) obj2.outfile.bgen.noselect.1 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.1) obj2.bgen.noselect.1 <- read.table(obj2.outfile.bgen.noselect.1, expect_equal(signif(range(obj2.gds.select.1$PVAL)), signif(c(0.003738918, 0.996996766))) } obj2.outfile.txt.select.1 <- tempfile() glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.1, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, header = TRUE, as.is = TRUE) obj2.outfile.bgen.select.1 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj2.outfile.bgen.select.1) obj2.bgen.select.1 <- read.table(obj2.outfile.bgen.select.1, header = TRUE, as.is = TRUE) select = select, infile.header.print = c("SNP", "Allele1", "Allele2")) obj2.txt.select.1 <- read.table(obj2.outfile.txt.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1$PVAL, obj2.txt.select.1$PVAL) 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, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt1.select.1) obj2.outfile.txt2.select.1 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.1, expect_equal(obj2.bgen.noselect.1, obj2.bgen.select.1) expect_equal(obj2.bed.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")], obj2.bgen.select.1[, c("SNP", "CHR", "POS", "A1", "A2", "N", "AF", "SCORE", "VAR", "PVAL")]) 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.1 <- read.table(obj2.outfile.txt2.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt2.select.1) idx <- sample(nrow(pheno)) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj2.outfile.gds.noselect.1 <- tempfile() glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.1) obj2.gds.noselect.1 <- read.table(obj2.outfile.gds.noselect.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, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.noselect.1, obj2.gds.select.1) expect_equal(obj2.bed.select.1$PVAL, signif(obj2.gds.select.1$PVAL)) expect_equal(signif(range(obj2.gds.select.1$PVAL)), signif(c(0.003738918, 0.996996766))) } obj2.outfile.txt.select.1 <- tempfile() glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.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.txt.select.1 <- read.table(obj2.outfile.txt.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1$PVAL, obj2.txt.select.1$PVAL) 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, header = TRUE, as.is = TRUE) pheno <- pheno[idx, ] 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.2 <- tempfile() expect_equal(obj2.txt.select.1, obj2.txt1.select.1) obj2.outfile.txt2.select.1 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.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.txt2.select.1 <- read.table(obj2.outfile.txt2.select.1, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt2.select.1) idx <- sample(nrow(pheno)) pheno <- pheno[idx, ] obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.2) obj1.bed.noselect.2 <- read.table(obj1.outfile.bed.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.2) obj1.outfile.bed.select.2 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.2) 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.2 <- tempfile() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.2) obj1.bed.noselect.2 <- read.table(obj1.outfile.bed.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.2) obj1.outfile.bed.select.2 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.2) obj1.bed.select.2 <- read.table(obj1.outfile.bed.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1, obj1.bed.select.2) obj1.outfile.bgen.noselect.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.2) obj1.bgen.noselect.2 <- read.table(obj1.outfile.bgen.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.2) obj1.outfile.bgen.select.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.2) obj1.bgen.select.2 <- read.table(obj1.outfile.bgen.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.select.1, obj1.bgen.select.2) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj1.outfile.gds.noselect.2 <- tempfile() obj1.bed.select.2 <- read.table(obj1.outfile.bed.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1, obj1.bed.select.2) obj1.outfile.bgen.noselect.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.2) obj1.bgen.noselect.2 <- read.table(obj1.outfile.bgen.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.2) obj1.outfile.bgen.select.2 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj1.outfile.bgen.select.2) obj1.bgen.select.2 <- read.table(obj1.outfile.bgen.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bgen.select.1, obj1.bgen.select.2) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.2) obj1.gds.noselect.2 <- read.table(obj1.outfile.gds.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.2) obj1.outfile.gds.select.2 <- tempfile() quietly = TRUE)) { obj1.outfile.gds.noselect.2 <- tempfile() glmm.score(obj1, infile = gdsfile, outfile = obj1.outfile.gds.noselect.2) obj1.gds.noselect.2 <- read.table(obj1.outfile.gds.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.noselect.1, obj1.gds.noselect.2) obj1.outfile.gds.select.2 <- tempfile() glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.2) obj1.gds.select.2 <- read.table(obj1.outfile.gds.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.select.1, obj1.gds.select.2) } obj1.outfile.txt.select.2 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.2, glmm.score(obj1, infile = gdsfile, select = select, outfile = obj1.outfile.gds.select.2) obj1.gds.select.2 <- read.table(obj1.outfile.gds.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.gds.select.1, obj1.gds.select.2) } obj1.outfile.txt.select.2 <- tempfile() glmm.score(obj1, infile = txtfile, outfile = obj1.outfile.txt.select.2, 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.2 <- read.table(obj1.outfile.txt.select.2, header = TRUE, as.is = TRUE) 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.2 <- read.table(obj1.outfile.txt.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.txt.select.1, obj1.txt.select.2) obj1.outfile.txt1.select.2 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.2, expect_equal(obj1.txt.select.1, obj1.txt.select.2) obj1.outfile.txt1.select.2 <- tempfile() glmm.score(obj1, infile = txtfile1, outfile = obj1.outfile.txt1.select.2, 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.2 <- read.table(obj1.outfile.txt1.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.txt1.select.1, obj1.txt1.select.2) obj1.outfile.txt2.select.2 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.2, infile.nrow.skip = 5, infile.ncol.skip = 3, infile.ncol.print = 1:3, select = select, infile.header.print = c("SNP", "Allele1", 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.2 <- read.table(obj1.outfile.txt1.select.2, header = TRUE, as.is = TRUE) "Allele2")) obj1.txt2.select.2 <- read.table(obj1.outfile.txt2.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.txt2.select.1, obj1.txt2.select.2) obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, id = "id", family = binomial(link = "logit"), method = "REML", method.optim = "AI") expect_equal(obj1.txt1.select.1, obj1.txt1.select.2) obj1.outfile.txt2.select.2 <- tempfile() glmm.score(obj1, infile = txtfile2, outfile = obj1.outfile.txt2.select.2, 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.2 <- read.table(obj1.outfile.txt2.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.txt2.select.1, obj1.txt2.select.2) select <- match(1:400, unique(obj2$id_include)) select[is.na(select)] <- 0 obj2.outfile.bed.noselect.2 <- tempfile() glmm.score(obj2, infile = plinkfiles, outfile = obj2.outfile.bed.noselect.2) 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.2 <- tempfile() obj2.bed.noselect.2 <- read.table(obj2.outfile.bed.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.2) obj2.outfile.bed.select.2 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.2) obj2.bed.select.2 <- read.table(obj2.outfile.bed.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1, obj2.bed.select.2) obj2.outfile.bgen.noselect.2 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.2) obj2.bgen.noselect.2 <- read.table(obj2.outfile.bgen.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.2) obj2.outfile.bgen.select.2 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj2.outfile.bgen.select.2) obj2.bgen.select.2 <- read.table(obj2.outfile.bgen.select.2, 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) expect_equal(obj2.bed.noselect.1, obj2.bed.noselect.2) obj2.outfile.bed.select.2 <- tempfile() glmm.score(obj2, infile = plinkfiles, select = select, outfile = obj2.outfile.bed.select.2) obj2.bed.select.2 <- read.table(obj2.outfile.bed.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bed.select.1, obj2.bed.select.2) obj2.outfile.bgen.noselect.2 <- tempfile() glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj2.outfile.bgen.noselect.2) obj2.bgen.noselect.2 <- read.table(obj2.outfile.bgen.noselect.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.noselect.1, obj2.bgen.noselect.2) header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.select.1, obj2.bgen.select.2) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj2.outfile.gds.noselect.2 <- tempfile() glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.2) 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) obj2.outfile.gds.select.2 <- tempfile() glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.2) obj2.gds.select.2 <- read.table(obj2.outfile.gds.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.select.1, obj2.gds.select.2) } obj2.outfile.txt.select.2 <- tempfile() glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.2, 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.2 <- read.table(obj2.outfile.txt.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt.select.2) obj2.outfile.txt1.select.2 <- tempfile() glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.2, 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.2 <- read.table(obj2.outfile.txt1.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.txt1.select.1, obj2.txt1.select.2) obj2.outfile.txt2.select.2 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.2, 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.2 <- read.table(obj2.outfile.txt2.select.2, obj2.outfile.bgen.select.2 <- tempfile() header = TRUE, as.is = TRUE) expect_equal(obj2.txt2.select.1, obj2.txt2.select.2) idx <- sample(nrow(kins)) kins <- kins[idx, idx] glmm.score(obj2, infile = bgenfile, BGEN.samplefile = samplefile, select = select, outfile = obj2.outfile.bgen.select.2) obj2.bgen.select.2 <- read.table(obj2.outfile.bgen.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.bgen.select.1, obj2.bgen.select.2) if (requireNamespace("SeqArray", quietly = TRUE) && requireNamespace("SeqVarTools", quietly = TRUE)) { obj2.outfile.gds.noselect.2 <- tempfile() glmm.score(obj2, infile = gdsfile, outfile = obj2.outfile.gds.noselect.2) 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) obj2.outfile.gds.select.2 <- tempfile() glmm.score(obj2, infile = gdsfile, select = select, outfile = obj2.outfile.gds.select.2) obj2.gds.select.2 <- read.table(obj2.outfile.gds.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.gds.select.1, obj2.gds.select.2) } obj2.outfile.txt.select.2 <- tempfile() glmm.score(obj2, infile = txtfile, outfile = obj2.outfile.txt.select.2, 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.2 <- read.table(obj2.outfile.txt.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.txt.select.1, obj2.txt.select.2) obj2.outfile.txt1.select.2 <- tempfile() glmm.score(obj2, infile = txtfile1, outfile = obj2.outfile.txt1.select.2, 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.2 <- read.table(obj2.outfile.txt1.select.2, header = TRUE, as.is = TRUE) expect_equal(obj2.txt1.select.1, obj2.txt1.select.2) 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.3 <- tempfile() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.3) obj1.bed.noselect.3 <- read.table(obj1.outfile.bed.noselect.3, header = TRUE, as.is = TRUE) obj2.outfile.txt2.select.2 <- tempfile() glmm.score(obj2, infile = txtfile2, outfile = obj2.outfile.txt2.select.2, 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.2 <- read.table(obj2.outfile.txt2.select.2, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.3) obj1.outfile.bed.select.3 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.3) obj1.bed.select.3 <- read.table(obj1.outfile.bed.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1, obj1.bed.select.3) expect_equal(obj2.txt2.select.1, obj2.txt2.select.2) idx <- sample(nrow(kins)) kins <- kins[idx, idx] 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.3 <- tempfile() glmm.score(obj1, infile = plinkfiles, outfile = obj1.outfile.bed.noselect.3) obj1.bed.noselect.3 <- read.table(obj1.outfile.bed.noselect.3, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.noselect.1, obj1.bed.noselect.3) obj1.outfile.bed.select.3 <- tempfile() glmm.score(obj1, infile = plinkfiles, select = select, outfile = obj1.outfile.bed.select.3) obj1.bed.select.3 <- read.table(obj1.outfile.bed.select.3, header = TRUE, as.is = TRUE) expect_equal(obj1.bed.select.1, obj1.bed.select.3) obj1.outfile.bgen.noselect.3 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.3) obj1.bgen.noselect.3 <- read.table(obj1.outfile.bgen.noselect.3, header = TRUE, as.is = TRUE) obj1.outfile.bgen.noselect.3 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, outfile = obj1.outfile.bgen.noselect.3) obj1.bgen.noselect.3 <- read.table(obj1.outfile.bgen.noselect.3, 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)) { expect_equal(obj1.bgen.noselect.1, obj1.bgen.noselect.3) obj1.outfile.bgen.select.3 <- tempfile() glmm.score(obj1, infile = bgenfile, BGEN.samplefile = samplefile, 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() 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) 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, 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) 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)) 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) 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) 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.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", 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) 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) 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) 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() 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) 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, 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.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, 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")) 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, 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() 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, 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() 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, 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, 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, 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.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.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.gds.noselect.3, obj2.outfile.gds.select.3))})   33: 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))eval(code, test_env)   34: eval(code, test_env)   35: withCallingHandlers({ eval(code, test_env)})   33: eval(code, test_env)   34: 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) {eval(code, test_env)   35: withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") 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) } else if (!new_expectations && skip_on_empty) { skip_empty() }}, expectation = handle_expectation, packageNotFoundError = function(e) { if (on_cran()) {   36: doTryCatch(return(expr), name, parentenv, handler)   37: tryCatchOne(expr, names, parentenv, handlers[[1L]]) 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,   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]]) 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)42: withRestarts(tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations   39: tryCatch(withCallingHandlers({ eval(code, test_env) new_expectations <- the$test_expectations > starting_expectations if (snapshot_skipped) { skip("On CRAN") if (snapshot_skipped) { skip("On CRAN") } else if (!new_expectations && skip_on_empty) { } 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_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)   }, skip = handle_skip, warning = handle_warning, message = handle_message, 45: error = handle_error, interrupt = handle_interrupt), error = handle_fatal)   40: doWithOneRestart(return(expr), restart)   41: 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, withOneRestart(expr, restarts[[1L]])   42: 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")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)An irrecoverable exception occurred. R is aborting now ...      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
  • checking for unstated dependencies in vignettes ... OK
  • checking package vignettes ... OK
  • checking re-building of vignette outputs ... [38s/25s] OK
  • checking PDF version of manual ... [2s/2s] OK
  • DONE Status: 1 ERROR
  • using check arguments '--no-clean-on-error '