Learn R Programming

pweight (version 0.0.1)

iGWAS: informed Genome-Wide Association Study

Description

Perform an informed Genome-Wide Association Study (iGWAS). This is based on a current study and a prior study. The goal is to discover significant SNPs in the current study using hypothesis testing. The prior study is used to improve power. P-values and sample sizes are used for both the current and the prior studies.

Usage

iGWAS(P_current, N_current, P_prior, N_prior, q = 0.05, weighting_method = "bayes", p_adjust_method = "genome-wide", sides = 2, phi = 1, beta = 2, UB_exp = Inf, figure = "FALSE", GWAS_data_frame = NA)

Arguments

P_current
P-values in the current study, a numeric vector of length J, with entries between 0 and 1
N_current
sample size in the current study, a positive integer (or vector of length J)
P_prior
P-values in the prior study, a numeric vector of length J, with entries between 0 and 1
N_prior
sample size in the current study, a positive integer (or vector of length J)
q
(optional) uncorrected level at which tests should be performed. Default q = 0.05
weighting_method
(optional) weighting method used. Available methods: c("unweighted", "bayes", "spjotvoll", "exponential"). The default is "bayes".
p_adjust_method
(optional) adjustment method for multiple testing used. The available methods are "genome-wide" and those from the p.adjust function in the stats package.: c("holm", "hochberg", "hommel", "bonferroni", "BH", "BY", "fdr", "none"). "genome-wide" tests all hypotheses at the genome-wide level 5*10^-8. The default is "genome-wide".
sides
(optional) The prior p-values must be one or two-sided: sides = 1 or 2. Default sides = 2
phi
(optional) dispersion factor used to multiply all standard errors. Default phi = 1. Used only for Bayes weights.
beta
(optional) weights are proportional to exp(mu*beta), default beta=2. Used only for Exponential weights.
UB_exp
(optional) upper bound on the weights (default UB = Inf). Used only for Exponential weights.
figure
(optional) figure = "TRUE" creates a manhattan plot of the weighted and unweighted p-values. Possible values c("TRUE","FALSE"), default "FALSE"
GWAS_data_frame
(optional) when figure = "TRUE", this is the parameter used to create a Manattan plot. it must be a data frame with columns containing c("CHR","BP"). These parameters are passed to the qqman package for plotting manhattan plots. Default is NA.

Value

A list containing:sig_ind: A vector of 0-1s indicating the significant tests (1-s)num_sig: The number of significant tests. Equals sum(sig_ind)w: The computed p-value weightsP_w: The weighted p-values. These equal P_current/w

Details

This method computes the p-value weights based on the prior p-values, and uses them in multiple testing (p-value weighting) for the current p-values. The p-value weighting method (e.g. Unweighted, Bayes) and the multiple testing adjustment (e.g. Bonferroni, Benjamini-Hochberg) can be specified independently.

For more details, see the paper "Optimal Multiple Testing Under a Gaussian Prior on the Effect Sizes", by Dobriban, Fortney, Kim and Owen, http://arxiv.org/abs/1504.02935

See Also

Other p.value.weighting: bayes_weights; exp_weights; spjotvoll_weights