###################################################
### chunk number 1: init
###################################################
#line 65 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
require(snpMatrix)
require(hexbin)
data(for.exercise)


###################################################
### chunk number 2: 
###################################################
#line 95 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
show(snps.10)


###################################################
### chunk number 3: 
###################################################
#line 102 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
summary(snp.support)


###################################################
### chunk number 4: 
###################################################
#line 114 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
summary(subject.support)


###################################################
### chunk number 5: 
###################################################
#line 136 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
summary(snps.10)


###################################################
### chunk number 6: 
###################################################
#line 142 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
snpsum <- col.summary(snps.10)
summary(snpsum)


###################################################
### chunk number 7: plot-snpsum
###################################################
#line 150 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
par(mfrow = c(1, 2))
hist(snpsum$MAF)
hist(snpsum$z.HWE)


###################################################
### chunk number 8: sample-qc
###################################################
#line 165 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
sample.qc <- row.summary(snps.10)
summary(sample.qc)


###################################################
### chunk number 9: plot-outliners-qc
###################################################
#line 173 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
par(mfrow = c(1, 1))
plot(sample.qc)


###################################################
### chunk number 10: outliers
###################################################
#line 182 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
use <- sample.qc$Heterozygosity>0
snps.10 <- snps.10[use, ]
subject.support <- subject.support[use, ]


###################################################
### chunk number 11: if-case-control
###################################################
#line 194 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
if.case <- subject.support$cc == 1
if.control <- subject.support$cc == 0


###################################################
### chunk number 12: sum-case-control
###################################################
#line 200 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
sum.cases <- col.summary(snps.10[if.case, ])
sum.controls <- col.summary(snps.10[if.control, ])


###################################################
### chunk number 13: plot-summaries
###################################################
#line 206 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
hb <- hexbin(sum.controls$Call.rate, sum.cases$Call.rate, xbin=50)
sp <- plot(hb)
hexVP.abline(sp$plot.vp, 0, 1, col="black")


###################################################
### chunk number 14: plot-freqs
###################################################
#line 215 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
sp <- plot(hexbin(sum.controls$MAF, sum.cases$MAF, xbin=50))
hexVP.abline(sp$plot.vp, 0, 1, col="white")


###################################################
### chunk number 15: tests
###################################################
#line 234 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
tests <- single.snp.tests(cc, data = subject.support, snp.data = snps.10)


###################################################
### chunk number 16: sum-tests
###################################################
#line 249 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
summary(tests)


###################################################
### chunk number 17: use
###################################################
#line 265 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
use <- snpsum$MAF > 0.01 & snpsum$z.HWE^2 < 200


###################################################
### chunk number 18: sum-use
###################################################
#line 272 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
sum(use)


###################################################
### chunk number 19: subset-tests
###################################################
#line 277 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
tests <- tests[use]
position <- snp.support[use, "position"]


###################################################
### chunk number 20: plot-tests
###################################################
#line 285 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
p1 <- p.value(tests, df=1)
plot(hexbin(position, -log10(p1), xbin=50))


###################################################
### chunk number 21: qqplot
###################################################
#line 292 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
chi2 <- chi.squared(tests, df=1)
qq.chisq(chi2,  df = 1)


###################################################
### chunk number 22: more-tests
###################################################
#line 317 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
tests <- single.snp.tests(cc, stratum, data = subject.support,
     snp.data = snps.10)
tests <- tests[use]
p1 <- p.value(tests, df = 1)
plot(hexbin(position, -log10(p1), xbin=50))


###################################################
### chunk number 23: more-tests-qq
###################################################
#line 324 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
chi2 <- chi.squared(tests, df=1)
qq.chisq(chi2, df = 1)


###################################################
### chunk number 24: ord
###################################################
#line 337 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
ord <- order(p1)
top10 <- ord[1:10]
top10


###################################################
### chunk number 25: top-10
###################################################
#line 346 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
names <- tests@snp.names
p1[top10]
names[top10]
position[top10]


###################################################
### chunk number 26: top10-local
###################################################
#line 359 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
posord <- order(position)
position <- position[posord]
names <- names[posord]
local <- names[position > 9.6e+07 & position < 9.8e+07]


###################################################
### chunk number 27: ld-2mb
###################################################
#line 372 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
snps.2mb <- snps.10[, local]
ld.2mb <- ld.snp(snps.2mb)


###################################################
### chunk number 28: top1
###################################################
#line 398 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
cc <- subject.support$cc
stratum <- subject.support$stratum
top <- as(snps.10[, "rs870041"], "numeric")
glm(cc ~ top + stratum, family = "binomial")


###################################################
### chunk number 29: top2
###################################################
#line 407 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
top2 <- as(snps.10[, "rs10882596"], "numeric")
glm(cc ~ top2 + stratum, family = "binomial")


###################################################
### chunk number 30: blocks
###################################################
#line 439 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
blocks <- split(posord, cut(position, seq(100000, 135300000, 20000)))
bsize <- sapply(blocks, length)
table(bsize)
blocks <- blocks[bsize>0]


###################################################
### chunk number 31: twentyfive
###################################################
#line 448 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
posord[1:20]
blocks[1:5]


###################################################
### chunk number 32: blocks-use
###################################################
#line 458 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
snps.use <- snps.10[, use]
remove(snps.10)


###################################################
### chunk number 33: mtests
###################################################
#line 465 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
mtests <- snp.rhs.tests(cc ~ stratum, family = "binomial",
     data = subject.support, snp.data = snps.use, tests = blocks)
summary(mtests)


###################################################
### chunk number 34: plot-mtests
###################################################
#line 478 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
pm <- p.value(mtests)
plot(hexbin(-log10(pm), xbin=50))


###################################################
### chunk number 35: qqplot-mtests
###################################################
#line 491 "vignettes/snpMatrix/inst/doc/snpMatrix-vignette.Rnw"
qq.chisq(-2 * log(pm), df = 2)