R: 1-df and 2-df tests for genetic associations with SNPs
single.snp.tests
R Documentation
1-df and 2-df tests for genetic associations with SNPs
Description
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).
Usage
single.snp.tests(phenotype, stratum, data = sys.parent(), snp.data, subset, snp.subset)
Arguments
phenotype
A vector containing the values of the phenotype
stratum
Optionally, a factor defining strata for the analysis
data
A dataframe containing the phenotype and
stratum data. The row names of this are linked with the row
names of the snps argument to establish correspondence of
phenotype and genotype data. If this argument is not supplied,
phenotype and stratum are evaluated in the calling
environment and should be in the same order as rows of snps
snp.data
An object of class "snp.matrix" containing the SNP
genotypes to be tested
subset
A vector or expression describing the subset of subjects
to be used in teh analysis. This is evaluated in the same
environment as the phenotype and stratum arguments
snp.subset
A vector describing the subset of SNPs to be
considered. Default action is to test all SNPs.
Details
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.
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.
Value
A dataframe, with columns
chi2.1df
Cochran-Armitage type test for additive genetic component
chi2.2df
Chi-squared test for both additive and dominance
components
N
The number of valid data points used
Note
The behaviour of this function for objects of class
X.snp.matrix is as described by Clayton (2008). Males are
treated as homozygous females and corrected variance estimates are
used.
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
> library(chopsticks)
Loading required package: survival
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/chopsticks/single.snp.tests.Rd_%03d_medium.png", width=480, height=480)
> ### Name: single.snp.tests
> ### Title: 1-df and 2-df tests for genetic associations with SNPs
> ### Aliases: single.snp.tests
> ### Keywords: htest
>
> ### ** Examples
>
> data(testdata)
> results <- single.snp.tests(cc, stratum=region, data=subject.data,
+ snp.data=Autosomes, snp.subset=1:10)
> summary(results)
chi2.1df chi2.2df p.1df p.2df
Min. :0.0963 Min. :0.8189 Min. :0.08984 Min. :0.1136
1st Qu.:0.7577 1st Qu.:1.0972 1st Qu.:0.23253 1st Qu.:0.2190
Median :1.0000 Median :1.5847 Median :0.31731 Median :0.4536
Mean :1.1903 Mean :2.1849 Mean :0.33322 Mean :0.4082
3rd Qu.:1.4253 3rd Qu.:3.2740 3rd Qu.:0.38406 3rd Qu.:0.5809
Max. :2.8773 Max. :4.3497 Max. :0.75631 Max. :0.6640
NA's :1 NA's :4 NA's :1 NA's :4
N
Min. :378.0
1st Qu.:396.2
Median :398.5
Mean :395.6
3rd Qu.:400.0
Max. :400.0
> # QQ plot - see code{qq.chisq}
> qq.chisq(results$chi2.1df)
N omitted lambda
9.000000 0.000000 4.867221
> qq.chisq(results$chi2.2df)
N omitted lambda
6.00000 0.00000 6.69583
>
>
>
>
>
> dev.off()
null device
1
>