Nothing
test_that("cross-sectional gaussian", {
skip_if_not_installed("SeqArray")
skip_if_not_installed("SeqVarTools")
gdsfile <- system.file("extdata", "geno.gds", package = "MAGEE")
bgenfile <- system.file("extdata", "geno.bgen", package = "MAGEE")
samplefile <- system.file("extdata", "geno.sample", package = "MAGEE")
group.file <- system.file("extdata", "SetID.withweights.txt", package = "MAGEE")
data(example)
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
### single thread with kins
obj1 <- glmmkin(trait ~ age + sex, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
out1 <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out1_bgen <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out1$MV.pval)), signif(c(0.1223048, 0.9724113)))
expect_equal(signif(range(out1$MF.pval)), signif(c(0.1898314, 0.9978167)))
expect_equal(signif(range(out1$IV.pval)), signif(c(0.06457353, 0.97197688)))
expect_equal(signif(range(out1$IF.pval)), signif(c(0.07154824, 0.98409911)))
expect_equal(signif(range(out1$JV.pval)), signif(c(0.0461317, 0.9581358)))
expect_equal(signif(range(out1$JF.pval)), signif(c(0.09825523, 0.99174298)))
expect_equal(signif(range(out1$JD.pval)), signif(c(0.1060679, 0.9862423)))
expect_equal(out1, out1_bgen)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- SMMAT(null.obj=obj1, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out1$MV.pval, tmpout$S.pval)
expect_equal(out1$MF.pval, tmpout$E.pval)
### single thread without kins
obj2 <- glmmkin(trait ~ age + sex, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
out2 <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out2_bgen <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out2$MV.pval)), signif(c(0.1137967, 0.7420214)))
expect_equal(signif(range(out2$MF.pval)), signif(c(0.1332550, 0.8844902)))
expect_equal(signif(range(out2$IV.pval)), signif(c(0.07857723, 0.98642152)))
expect_equal(signif(range(out2$IF.pval)), signif(c(0.1068216, 0.9959352)))
expect_equal(signif(range(out2$JV.pval)), signif(c(0.08249361, 0.89005467)))
expect_equal(signif(range(out2$JF.pval)), signif(c(0.1584977, 0.9820383)))
expect_equal(signif(range(out2$JD.pval)), signif(c(0.1740379, 0.9845512)))
expect_equal(out2, out2_bgen)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- SMMAT(null.obj=obj2, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out2$MV.pval, tmpout$S.pval)
expect_equal(out2$MF.pval, tmpout$E.pval)
### multi-thread
skip_on_cran()
out1.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1.tmp)
out1.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out1, out1.lowmem.tmp)
out1_bgen.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1_bgen.tmp)
out2.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2.tmp)
out2.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out2, out2.lowmem.tmp)
out2_bgen.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2_bgen.tmp)
### re-order id
idx <- sample(nrow(pheno))
pheno <- pheno[idx, ]
obj1 <- glmmkin(trait ~ age + sex, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(trait ~ age + sex, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
### re-order id
idx <- sample(nrow(kins))
kins <- kins[idx, idx]
obj1 <- glmmkin(trait ~ age + sex, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(trait ~ age + sex, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
})
test_that("cross-sectional binomial", {
skip_on_cran()
skip_if_not_installed("SeqArray")
skip_if_not_installed("SeqVarTools")
gdsfile <- system.file("extdata", "geno.gds", package = "MAGEE")
bgenfile <- system.file("extdata", "geno.bgen", package = "MAGEE")
samplefile <- system.file("extdata", "geno.sample", package = "MAGEE")
group.file <- system.file("extdata", "SetID.withweights.txt", package = "MAGEE")
data(example)
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
### single thread with kins
obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, id = "id", family = binomial(link = "logit"))
out1 <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out1_bgen <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out1$MV.pval)), signif(c(0.04569696, 0.66545029)))
expect_equal(signif(range(out1$MF.pval)), signif(c(0.0717664, 0.8372688)))
expect_equal(signif(range(out1$IV.pval)), signif(c(0.2310993, 0.9260350)))
expect_equal(signif(range(out1$IF.pval)), signif(c(0.1028281, 0.9835639)))
expect_equal(signif(range(out1$JV.pval)), signif(c(0.1126746, 0.8547623)))
expect_equal(signif(range(out1$JF.pval),5), signif(c(0.1228627, 0.9610125),5))
expect_equal(signif(range(out1$JD.pval)), signif(c(0.1362456, 0.9498088)))
expect_equal(out1, out1_bgen)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- SMMAT(null.obj=obj1, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out1$MV.pval, tmpout$S.pval)
expect_equal(out1$MF.pval, tmpout$E.pval)
### single thread without kins
obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, id = "id", family = binomial(link = "logit"))
out2 <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out2_bgen <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out2$MV.pval)), signif(c(0.01958317, 0.83039453)))
expect_equal(signif(range(out2$MF.pval)), signif(c(0.03165378, 0.89714953)))
expect_equal(signif(range(out2$IV.pval)), signif(c(0.1862096, 0.9224659)))
expect_equal(signif(range(out2$IF.pval)), signif(c(0.07000326, 0.98470603)))
expect_equal(signif(range(out2$JV.pval),5), signif(c(0.05232525, 0.91036406),5))
expect_equal(signif(range(out2$JF.pval)), signif(c(0.06796507, 0.98442573)))
expect_equal(signif(range(out2$JD.pval)), signif(c(0.06984052, 0.98116516)))
expect_equal(out2, out2_bgen)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- SMMAT(null.obj=obj2, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out2$MV.pval, tmpout$S.pval)
expect_equal(out2$MF.pval, tmpout$E.pval)
### multi-thread
out1.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1.tmp)
out1.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out1, out1.lowmem.tmp)
out1_bgen.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1_bgen.tmp)
out2.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2.tmp)
out2.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out2, out2.lowmem.tmp)
out2_bgen.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2_bgen.tmp)
### re-order id
idx <- sample(nrow(pheno))
pheno <- pheno[idx, ]
obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, id = "id", family = binomial(link = "logit"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, id = "id", family = binomial(link = "logit"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
### re-order id
idx <- sample(nrow(kins))
kins <- kins[idx, idx]
obj1 <- glmmkin(disease ~ age + sex, data = pheno, kins = kins, id = "id", family = binomial(link = "logit"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(disease ~ age + sex, data = pheno, kins = NULL, id = "id", family = binomial(link = "logit"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
})
### multi-phenotype MAGEE
test_that("multiple phenotypes gaussian", {
skip_on_cran()
skip_if_not_installed("SeqArray")
skip_if_not_installed("SeqVarTools")
gdsfile <- system.file("extdata", "geno.gds", package = "MAGEE")
bgenfile <- system.file("extdata", "geno.bgen", package = "MAGEE")
samplefile <- system.file("extdata", "geno.sample", package = "MAGEE")
group.file <- system.file("extdata", "SetID.withweights.txt", package = "MAGEE")
data(example)
set.seed(103)
kins <- example$GRM
tau1 <- matrix(c(3,0.5,0,0.5,2.5,-0.1,0,-0.1,3),3,3)
tau2 <- matrix(c(2.5,0.8,0.2,0.8,4.8,-0.1,0.2,-0.1,2.8),3,3)
kins.chol <- chol(tau1 %x% kins + tau2 %x% diag(400))
tmp <- as.vector(crossprod(kins.chol, rnorm(1200)))
x1 <- rnorm(400)
x2 <- rbinom(400,1,0.5)
pheno <- data.frame(id = 1:400, x1 = x1, x2 = x2, y1 = 0.5*x1+0.8*x2+tmp[1:400], y2 = x1-0.3*x2+tmp[401:800], y3 = x2+tmp[801:1200])
### single thread with kins
obj1 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
out1 <- MAGEE(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out1_bgen <- MAGEE(null.obj=obj1, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out1$MV.pval)), signif(c(0.1689182, 0.9277765)))
expect_equal(signif(range(out1$MF.pval)), signif(c(0.1290289, 0.8907589)))
expect_equal(signif(range(out1$IV.pval)), signif(c(0.1060731, 0.9129642)))
expect_equal(signif(range(out1$IF.pval)), signif(c(0.1785101, 0.9041499)))
expect_equal(signif(range(out1$JV.pval)), signif(c(0.261298, 0.940976)))
expect_equal(signif(range(out1$JF.pval),5), signif(c(0.2591923, 0.9611525),5))
expect_equal(signif(range(out1$JD.pval),5), signif(c(0.2641673, 0.9661435),5))
expect_equal(out1, out1_bgen)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- SMMAT(null.obj=obj1, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out1$MV.pval, tmpout$S.pval)
expect_equal(out1$MF.pval, tmpout$E.pval)
### single thread without kins
obj2 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
out2 <- MAGEE(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out2_bgen <- MAGEE(null.obj=obj2, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out2$MV.pval)), signif(c(0.0005204763, 0.7454647180)))
expect_equal(signif(range(out2$MF.pval)), signif(c(0.0004170892, 0.6362776242)))
expect_equal(signif(range(out2$IV.pval)), signif(c(0.1830878, 0.9157741)))
expect_equal(signif(range(out2$IF.pval)), signif(c(0.2745413, 0.8634707)))
expect_equal(signif(range(out2$JV.pval)), signif(c(0.003123721, 0.803773857)))
expect_equal(signif(range(out2$JF.pval)), signif(c(0.004704365, 0.737300921)))
expect_equal(signif(range(out2$JD.pval)), signif(c(0.002961206, 0.761153895)))
expect_equal(out2, out2_bgen)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- SMMAT(null.obj=obj2, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out2$MV.pval, tmpout$S.pval)
expect_equal(out2$MF.pval, tmpout$E.pval)
### multi-thread
out1.tmp <- MAGEE(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1.tmp)
out1.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out1, out1.lowmem.tmp)
out1_bgen.tmp <- MAGEE(null.obj=obj1, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1_bgen.tmp)
out2.tmp <- MAGEE(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2.tmp)
out2.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out2, out2.lowmem.tmp)
out2_bgen.tmp <- MAGEE(null.obj=obj2, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2_bgen.tmp)
### re-order id
idx <- sample(nrow(pheno))
pheno <- pheno[idx, ]
obj1 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
### re-order id
idx <- sample(nrow(kins))
kins <- kins[idx, idx]
obj1 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = kins, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
obj2 <- glmmkin(cbind(y1,y2,y3)~x1+x2, data = pheno, kins = NULL, id = "id", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="x1", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="x1", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
})
### longitudinal MAGEE
test_that("longitudinal random time trend gaussian", {
skip_on_cran()
skip_if_not_installed("SeqArray")
skip_if_not_installed("SeqVarTools")
gdsfile <- system.file("extdata", "geno.gds", package = "MAGEE")
bgenfile <- system.file("extdata", "geno.bgen", package = "MAGEE")
samplefile <- system.file("extdata", "geno.sample", package = "MAGEE")
group.file <- system.file("extdata", "SetID.withweights.txt", package = "MAGEE")
data(example)
set.seed(123)
pheno <- example$pheno2
pheno$y.trend[sample(1:2000,20)] <- NA
pheno$sex[sample(1:2000,20)] <- NA
pheno$time[sample(1:2000,20)] <- NA
pheno <- pheno[sample(1:2000,1950), ]
kins <- example$GRM
### single thread with kins
obj1 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = kins, id = "id",random.slope = "time", family = gaussian(link = "identity"))
out1 <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out1_bgen <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out1$MV.pval)), signif(c(0.1323623, 0.9703559)))
expect_equal(signif(range(out1$MF.pval)), signif(c(0.1329606, 0.9956268)))
expect_equal(signif(range(out1$IV.pval)), signif(c(0.01062191, 0.97955979)))
expect_equal(signif(range(out1$IF.pval)), signif(c(0.02570341, 0.98928108)))
expect_equal(signif(range(out1$JV.pval)), signif(c(0.02309769, 0.98493272)))
expect_equal(signif(range(out1$JF.pval)), signif(c(0.08378947, 0.98091932)))
expect_equal(signif(range(out1$JD.pval)), signif(c(0.07804338, 0.97458040)))
expect_equal(out1, out1_bgen)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
tmpout <- SMMAT(null.obj=obj1, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out1$MV.pval, tmpout$S.pval)
expect_equal(out1$MF.pval, tmpout$E.pval)
out1.time <- MAGEE(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out1_bgen.time <- MAGEE(null.obj=obj1, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1$MV.pval, out1.time$MV.pval)
expect_equal(out1$MF.pval, out1.time$MF.pval)
expect_equal(signif(range(out1.time$IV.pval)), signif(c(0.05622821, 0.94626695)))
expect_equal(signif(range(out1.time$IF.pval)), signif(c(0.1249703, 0.9084682)))
expect_equal(signif(range(out1.time$JV.pval)), signif(c(0.06361535, 0.95186442)))
expect_equal(signif(range(out1.time$JF.pval)), signif(c(0.1537416, 0.9730217)))
expect_equal(signif(range(out1.time$JD.pval)), signif(c(0.1703858, 0.9771715)))
expect_equal(out1.time, out1_bgen.time)
obj1.time.tmp <- MAGEE.prep(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1.time, out1.time.lowmem)
### single thread without kins
obj2 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = NULL, id = "id",random.slope = "time", family = gaussian(link = "identity"))
out2 <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out2_bgen <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(signif(range(out2$MV.pval),5), signif(c(0.1566921, 0.9585805),5))
expect_equal(signif(range(out2$MF.pval),5), signif(c(0.08264715, 0.98670558),5))
expect_equal(signif(range(out2$IV.pval)), signif(c(0.01311423, 0.98538422)))
expect_equal(signif(range(out2$IF.pval)), signif(c(0.03240826, 0.99806234)))
expect_equal(signif(range(out2$JV.pval)), signif(c(0.01476963, 0.98448481)))
expect_equal(signif(range(out2$JF.pval)), signif(c(0.06253546, 0.95890641)))
expect_equal(signif(range(out2$JD.pval)), signif(c(0.06456337, 0.94498937)))
expect_equal(out2, out2_bgen)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
tmpout <- SMMAT(null.obj=obj2, geno.file=gdsfile, group.file=group.file, tests = c("S", "E"), use.minor.allele = T, auto.flip = T)
expect_equal(out2$MV.pval, tmpout$S.pval)
expect_equal(out2$MF.pval, tmpout$E.pval)
out2.time <- MAGEE(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
out2_bgen.time <- MAGEE(null.obj=obj2, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2$MV.pval, out2.time$MV.pval)
expect_equal(out2$MF.pval, out2.time$MF.pval)
expect_equal(signif(range(out2.time$IV.pval)), signif(c(0.05766038, 0.98830210)))
expect_equal(signif(range(out2.time$IF.pval)), signif(c(0.1213767, 0.9923014)))
expect_equal(signif(range(out2.time$JV.pval)), signif(c(0.1108438, 0.9985899)))
expect_equal(signif(range(out2.time$JF.pval)), signif(c(0.1110868, 0.9997269)))
expect_equal(signif(range(out2.time$JD.pval)), signif(c(0.1201406, 0.9997803)))
expect_equal(out2.time, out2_bgen.time)
obj2.time.tmp <- MAGEE.prep(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2.time, out2.time.lowmem)
### multi-thread
out1.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1.tmp)
out1.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out1, out1.lowmem.tmp)
out1_bgen.tmp <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1, out1_bgen.tmp)
out1.time.tmp <- MAGEE(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1.time, out1.time.tmp)
out1.time.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj1.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out1.time, out1.time.lowmem.tmp)
out1_bgen.time.tmp <- MAGEE(null.obj=obj1, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out1.time, out1_bgen.time.tmp)
out2.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2.tmp)
out2.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out2, out2.lowmem.tmp)
out2_bgen.tmp <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2, out2_bgen.tmp)
out2.time.tmp <- MAGEE(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2.time, out2.time.tmp)
out2.time.lowmem.tmp <- MAGEE.lowmem(MAGEE.prep.obj=obj2.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T, ncores = 2)
expect_equal(out2.time, out2.time.lowmem.tmp)
out2_bgen.time.tmp <- MAGEE(null.obj=obj2, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T, ncores = 2)
expect_equal(out2.time, out2_bgen.time.tmp)
### re-order id
idx <- sample(nrow(pheno))
pheno <- pheno[idx, ]
obj1 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = kins, id = "id",random.slope = "time", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
tmpout <- MAGEE(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1.time, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
obj1.time.tmp <- MAGEE.prep(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1.time, out1.time.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
tmpout <- MAGEE(null.obj=obj1, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen.time, tmpout)
obj2 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = NULL, id = "id",random.slope = "time", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
tmpout <- MAGEE(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2.time, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
obj2.time.tmp <- MAGEE.prep(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2.time, out2.time.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
tmpout <- MAGEE(null.obj=obj2, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen.time, tmpout)
### re-order id
idx <- sample(nrow(kins))
kins <- kins[idx, idx]
obj1 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = kins, id = "id",random.slope = "time", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1, tmpout)
tmpout <- MAGEE(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1.time, tmpout)
obj1.tmp <- MAGEE.prep(null.obj=obj1, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1, out1.lowmem)
obj1.time.tmp <- MAGEE.prep(null.obj=obj1, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out1.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj1.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out1.time, out1.time.lowmem)
tmpout <- MAGEE(null.obj=obj1, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen, tmpout)
tmpout <- MAGEE(null.obj=obj1, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out1_bgen.time, tmpout)
obj2 <- glmmkin(y.trend ~ sex + time, data = pheno, kins = NULL, id = "id",random.slope = "time", family = gaussian(link = "identity"))
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2, tmpout)
tmpout <- MAGEE(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2.time, tmpout)
obj2.tmp <- MAGEE.prep(null.obj=obj2, interaction="sex", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2, out2.lowmem)
obj2.time.tmp <- MAGEE.prep(null.obj=obj2, interaction="time", geno.file=gdsfile, group.file=group.file, auto.flip = T)
out2.time.lowmem <- MAGEE.lowmem(MAGEE.prep.obj=obj2.time.tmp, tests = c("JV", "JF", "JD"), use.minor.allele = T)
expect_equal(out2.time, out2.time.lowmem)
tmpout <- MAGEE(null.obj=obj2, interaction="sex", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen, tmpout)
tmpout <- MAGEE(null.obj=obj2, interaction="time", geno.file=bgenfile, bgen.samplefile = samplefile, group.file=group.file, tests = c("JV", "JF", "JD"), use.minor.allele = T, auto.flip = T)
expect_equal(out2_bgen.time, tmpout)
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.