marginal.assoc.tests: Marginal association tests

Description Usage Arguments Details Value Note Author(s) References See Also Examples

Description

Tests for association of single SNP locus and a binary phenotype in case-control, case-population, and case-control-population designs, under various assumptions.

Usage

1
2
3
4
5
6
  marginal.assoc.test.unconstrained.chisq(t0, t1)
  marginal.assoc.test.unconstrained.gsq(t0, t1)
  marginal.assoc.test.hwe.in.controls(t0, t1)
  marginal.assoc.test.pop.hwe.kpy(t0, t1, tp, prevalence, 
    pen.initial = NULL, f.initial = NULL)
  marginal.assoc.test.kpx.kpy(t0, t1, prevalence, px, pen.initial = NULL)

Arguments

t0

A 3-component vector of genotype counts in the controls cohort

t1

A 3-component vector of genotype counts in the cases cohort

tp

A 3-component vector of genotype counts in the population cohort

prevalence

The population prevalence of the phenotype Pr(y=1) < 0.5

px

A 3-component vector of known genotypic distribution in the population Pr(x)

pen.initial

A 3-component vector of initial guess for phenotypic penetrance Pr(y=1|x)

f.initial

Initial guess for the SNP's minor allele frequency (MAF)

Details

marginal.assoc.test.unconstrained.chisq – Pearson's chi-squared test for the 2x3 contingency table of a standard case-control design.

marginal.assoc.test.unconstrained.gsq – Likelihood ratio ("G") test for the 2x3 contingency table of a standard case-control design.

marginal.assoc.test.hwe.in.controls – A test for association in a standard case-control design, assuming HWE among the controls (Chen and Chatterjee, 2007).

marginal.assoc.test.pop.hwe.kpy – GLRT based on constrained maximum likelihood estimation assuming HWE in the general population, and that disease prevalence is known.

marginal.assoc.test.kpx.kpy – GLRT based on constrained maximum likelihood estimation assuming the marginal genotypic and phenotypic distributions are known.

Value

p.value

P-value indicating significance of the association

statistic

Value of the relevant test statistic

pen

The estimated case-control peneterance Pr(y=1|x,ascertained)

Note

The implementation assumes that contingency tables are provided with homozygote major allele as the first element.

In order to perform case-population testing, the user may set t0 to a vector of zeros.

An inferior alternative to case-control-population analysis which may be desirable in the interest of analysis speed and can be acceptable for low prevalence phenotypes is to extend the controls cohort with any population samples. This can be achieved by providing t0.new = t0.old + tp.old and using one of the case-control tests.

Tests based on the 2x9 contingency table treat the two SNPs as one 9-category variable.

Author(s)

Shachar Kaufman

References

Chen J., & Chatterjee, N. (2007). Exploiting hardy-weinberg equilibrium for effcient screening of single SNP associations from case-control studies. Human heredity, 63(3-4), 196-204.

Kaufman, S., & Rosset, S. (2014). Exploiting Population Samples To Enhance Genome-Wide Association Studies of Disease. Genetics, 114 (early electronic).

See Also

pairwise.assoc.tests,

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  ## An example marginal/pairwise association
  
  # Controls
  t0 = matrix(c(375,  240,   46,
                640,  405,   62,
                300,  169,   19), nrow = 3, byrow = TRUE)
                
  # Cases
  t1 = matrix(c(317,  162,   15,
                459,  209,   22,
                120,   76,   13), nrow = 3, byrow = TRUE)
  
  # Independent population sample, marginalized for SNP1 and SNP2
  tp1 = c(2410, 4253, 1945)
  tp2 = c(4972, 3140,  496)
  
  ## The prevalence of the studied disease in the population
  prevalence = 0.001

  marginal.assoc.test.pop.hwe.kpy(t0 = rowSums(t0), t1 = rowSums(t1), tp = tp1, prevalence)
  marginal.assoc.test.pop.hwe.kpy(t0 = colSums(t0), t1 = colSums(t1), tp = tp2, prevalence)
  pairwise.assoc.test.pop.hwe.le.kpy(t0, t1, tp1, tp2, prevalence)  
  conditional.assoc.test.pure.pop.hwe.le.kpy(t0, t1, tp1, tp2, prevalence)

Example output

Loading required package: nloptr
$pen
[1] 0.0012653534 0.0009941329 0.0006774466

$statistic
[1] 54.86703

$p.value
[1] 1.21836e-12

$pen
[1] 0.0011115798 0.0008813761 0.0006267568

$statistic
[1] 26.73425

$p.value
[1] 1.565783e-06

$pen
             [,1]         [,2]         [,3]
[1,] 0.0014033346 0.0011397123 0.0006703782
[2,] 0.0011427526 0.0008270668 0.0005537271
[3,] 0.0006722005 0.0006768101 0.0007364398

$statistic
[1] 89.73377

$p.value
[1] 5.266646e-16

$statistic
[1] 34.86674

$p.value
[1] 4.573408e-06

CCpop documentation built on May 2, 2019, 3:25 a.m.