Description Usage Arguments Details Value Note Author(s) References See Also Examples
This function carries out tests for association between phenotype and a series of single nucleotide polymorphisms (SNPs), within strata defined by a possibly confounding factor. SNPs are considered one at a time and both 1-df and 2-df tests are calculated. For a binary phenotype, the 1-df test is the Cochran-Armitage test (or, when stratified, the Mantel-extension test). The function will also calculate the same tests for SNPs imputed by regression analysis.
1 2 | single.snp.tests(phenotype, stratum, data = sys.parent(), snp.data,
rules=NULL, subset, snp.subset, uncertain = FALSE, score=FALSE)
|
phenotype |
A vector containing the values of the phenotype |
stratum |
Optionally, a factor defining strata for the analysis |
data |
A dataframe containing the |
snp.data |
An object of class |
rules |
An object of class
|
subset |
A vector or expression describing the subset of subjects
to be used in the analysis. This is evaluated in the same
environment as the |
snp.subset |
A vector describing the subset of SNPs to be
considered. Default action is to test all SNPs in |
uncertain |
If TRUE, uncertain genotypes are handled by replacing
score contributions by their posterior expectations. Otherwise they
are treated as missing. Setting this option authomatically invokes
use of |
score |
If |
Formally, the test statistics are score tests for generalized linear models with canonical link. That is, they are inner products between genotype indicators and the deviations of phenotypes from their stratum means. Variances (and covariances) are those of the permutation distribution obtained by randomly permuting phenotype within stratum.
When the function is used to calculate tests for imputed SNPs, the test is still a score test. The score statistics are calculated from the expected value, given observed SNPs, of the score statistic if the SNP to be tested were itself observed.
The subset
argument can either be a logical vector of length
equal to the length of the vector of phenotypes, an integer vector
specifying positions in the data
frame, or a character vector
containing names of the selected rows in the data
frame. Similarly, the snp.subset
argument can be a logical,
integer, or character vector.
An object of class
"SingleSnpTests"
.
If score
is set to TRUE
,
the output object will be of the extended class
"SingleSnpTestsScore"
containing additional slots holding the score statistics and their
variances (and covariances). This allows meta-analysis using the
pool
function.
The 1 df imputation tests are described by Chapman et al. (2008)
and the 2 df imputation tests are a simple extension of these.
The behaviour of this function for objects of class
XSnpMatrix
is as described by Clayton (2008). Males are
treated as homozygous females and corrected variance estimates are
used.
David Clayton dc208@cam.ac.uk
Chapman J.M., Cooper J.D., Todd J.A. and Clayton D.G. (2003)
Human Heredity, 56:18-31.
Clayton (2008) Testing for association on the X chromosome
Biostatistics, 9:593-600.)
snp.lhs.tests
, snp.rhs.tests
,
impute.snps
, ImputationRules-class
,
pool
,
SingleSnpTests-class
,
SingleSnpTestsScore-class
1 2 3 4 5 6 7 8 9 10 11 12 | data(testdata)
results <- single.snp.tests(cc, stratum=region, data=subject.data,
snp.data=Autosomes, snp.subset=1:10)
print(summary(results))
# writing to an (anonymous and temporary) csv file
csvfile <- tempfile()
write.csv(file=csvfile, as(results, 'data.frame'))
unlink(csvfile)
# QQ plot
qq.chisq(chi.squared(results, 1), 1)
qq.chisq(chi.squared(results, 2), 2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.