Score tests with SNP genotypes as dependent variable
Description
Under the assumption of HardyWeinberg equilibrium, a SNP genotype is
a binomial variate with two trials for an autosomal SNP or with one or
two trials (depending on sex) for a SNP on the X chromosome.
With each SNP in an input
"SnpMatrix"
as dependent variable, this function first fits a
"base" logistic regression model and then carries out a score test for
the addition of further term(s). The HardyWeinberg
assumption can be relaxed by use of a "robust" option.
Usage
1 2 3  snp.lhs.tests(snp.data, base.formula, add.formula, subset, snp.subset,
data = sys.parent(), robust = FALSE, uncertain = FALSE,
control=glm.test.control(), score=FALSE)

Arguments
snp.data 
The SNP data, as an object of class

base.formula 
A 
add.formula 
A 
subset 
An array describing the subset of observations to be considered 
snp.subset 
An array describing the subset of SNPs to be considered. Default action is to test all SNPs. 
data 
The data frame in which 
robust 
If 
uncertain 
If 
control 
An object giving parameters for the IRLS algorithm
fitting of the base model and for the acceptable aliasing amongst
new terms to be tested. See 
score 
Is extended score information to be returned? 
Details
The tests used are asymptotic chisquared tests based on the vector of
first and second derivatives of the loglikelihood with respect to the
parameters of the additional model. The "robust" form is a generalized
score test in the sense discussed by Boos(1992).
If a data
argument is supplied, the snp.data
and
data
objects are aligned by rowname. Otherwise all variables in
the model formulae are assumed to be stored in the same order as the
columns of the snp.data
object.
Value
An object of class snp.tests.glm
or GlmTests.score
depending on whether score
is set to FALSE
or TRUE
in the call.
Note
A factor (or
several factors) may be included as arguments to the function
strata(...)
in the base.formula
. This fits all
interactions of the factors so included, but leads to faster
computation than fitting these in the normal way. Additionally, a
cluster(...)
call may be included in the base model
formula. This identifies clusters of potentially correlated
observations (e.g. for members of the same family); in this case, an
appropriate robust estimate of the variance of the score test is used.
No more than one
strata()
call may be used, and neither strata(...)
or
cluster(...)
calls may appear in the add.formula
.
A known bug is that the function fails when no data
argument is
supplied and the base model formula contains no variables
(~1
). A workround is to create a data frame to hold the
variables in the models and pass this as data=
.
Author(s)
David Clayton dc208@cam.ac.uk
References
Boos, Dennis D. (1992) On generalized score tests. The American Statistician, 46:327333.
See Also
GlmTestsclass
,
GlmTestsScoreclass
,
glm.test.control
,snp.rhs.tests
single.snp.tests
, SnpMatrixclass
,
XSnpMatrixclass
Examples
1 2 3 4  data(testdata)
snp.lhs.tests(Autosomes[,1:10], ~cc, ~region, data=subject.data)
snp.lhs.tests(Autosomes[,1:10], ~strata(region), ~cc,
data=subject.data)
