Extra Information

knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  dev = 'png'
)

This vignette contains additional details for the fcfdr R package.

Contents

  1. Genomic control
  2. Auxiliary data
  3. Finding independent SNPs
  4. Applying cFDR iteratively

Genomic control {#GC}

A key assumption in the cFDR methodology is that the $p$-values are uniformly distributed under the null hypothesis of no association. Therefore, prior to applying cFDR, users should check that this assumption is satisfied by calculating the genomic inflation factor, $\lambda$, and applying genomic control if necessary.


Auxiliary data {#AD}

The distinguishing feature of fcfdr compared to earlier cFDR methods is that it can leverage auxiliary data from any arbitrary distribution. Some examples of auxiliary covariates to leverage include:


Finding independent subsets of SNPs {#ind}

The flexible_cfdr() function requires the indices of an independent subset of the GWAS SNPs to ensure non-biased bandwidth estimation for the KDE. In practice, we use SNPs allocated a non-zero LDAK weight as our subset of independent SNPs. Instructions to generate LDAK weights can be found in this vignette. Alternatively, PLINK can also be used (see here).

The binary cFDR method does not fit a KDE and instead uses empirical CDFs. For this reason, a leave-one-chromosome-out procedure is implemented intrinsically in the binary_cfdr() function. Therefore, the binary_cfdr() function requires per-SNP chromosomes as input.


Applying cFDR iteratively {#iter}

Our cFDR method can be applied iteratively, whereby the $v$-values from the previous iteration are used as the $p$-values in the next iteration. This allows additional layers of information to be incorporated into the analysis.

An example of this is shown in the type 1 diabetes vignette.



Try the fcfdr package in your browser

Any scripts or data that you put into this service are public.

fcfdr documentation built on Feb. 7, 2022, 9:07 a.m.