Package 'GGPA'

Title: graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture
Description: Genome-wide association studies (GWAS) is a widely used tool for identification of genetic variants associated with phenotypes and diseases, though complex diseases featuring many genetic variants with small effects present difficulties for traditional these studies. By leveraging pleiotropy, the statistical power of a single GWAS can be increased. This package provides functions for fitting graph-GPA, a statistical framework to prioritize GWAS results by integrating pleiotropy. 'GGPA' package provides user-friendly interface to fit graph-GPA models, implement association mapping, and generate a phenotype graph.
Authors: Dongjun Chung, Hang J. Kim, Carter Allen
Maintainer: Dongjun Chung <[email protected]>
License: GPL (>= 2)
Version: 1.19.0
Built: 2024-12-21 05:57:19 UTC
Source: https://github.com/bioc/GGPA

Help Index


graph-GPA

Description

This package provides functions for fitting graph-GPA, a statistical framework to prioritize GWAS results by integrating pleiotropy.

Details

Package: GGPA
Type: Package
Version: 0.99.11
Date: 2018-01-15
License: GPL (>= 2)
LazyLoad: yes

This package contains a main class, GGPA, which represents graph-GPA model fit. This package contains four main methods, GGPA, assoc, and plot. GGPA method fits the graph-GPA model and assoc method implements association mapping. plot method provides a graph representing genetic relationship among phenotypes.

Author(s)

Hang J. Kim and Dongjun Chung

Maintainer: Hang J. Kim <[email protected]>, Dongjun Chung <[email protected]>

References

Chung D, Kim H, and Zhao H (2016), "graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture," 13(2): e1005388

Kim H, Yu Z, Lawson A, Zhao H, and Chung D (2018), "Improving SNP prioritization and pleiotropic architecture estimation by incorporating prior knowledge using graph-GPA," Bioinformatics, bty061.

See Also

GGPA, assoc, plot, GGPA.

Examples

# load simulation data

data(simulation)
		
# fit graph-GPA model

fit <- GGPA( simulation$pmat, nBurnin=200, nMain=200 )
fit

# fit graph-GPA model using a prior phenotype graph
# as an example, edge 6-7 added & edge 2-3 removed in pgraph

pgraph <- matrix( 0, ncol(simulation$pmat), ncol(simulation$pmat) )
pgraph[1,2] <- pgraph[1,3] <- pgraph[6,7] <- pgraph[4,5] <- 1
fit.pg <- GGPA( simulation$pmat, pgraph, nBurnin=200, nMain=200 )
fit.pg

# association mapping for each phenotype

head(assoc( fit, FDR=0.1, fdrControl="global" ))

# hypothesis testing for 1st and 2nd phenotype pair

head(assoc( fit, FDR=0.1, fdrControl="global", i=1, j=2 ))

# plot phenotype graph

plot(fit)
plot(fit.pg)

Association mapping

Description

Association mapping.

Usage

assoc( object, ... )
## S4 method for signature 'GGPA'
assoc( object, FDR=0.05, fdrControl="global", i=NULL, j=NULL )

Arguments

object

A GGPA model fit as obtained by GGPA().

FDR

The desired FDR level.

fdrControl

Method to control FDR. Possible values are "global" (global FDR control) and "local" (local FDR control). Default is "global".

i

Index for the first phenotype used in association mapping. See the details about how users can specify the pattern.

j

Index for the second phenotype used in association mapping. See the details about how users can specify the pattern.

...

Other parameters to be passed through to generic assoc.

Details

assoc uses the direct posterior probability approach of Newton et al. (2004) to control global FDR in association mapping.

By default (i.e., i=NULL, j=NULL), assoc implements association mapping for each phenotype. If users are interested in identifying SNPs associated with a pair of phenotypes, users can specify indices of phenotypes of interest using the arguments i and j. Note that both i and j should be either NULL or numeric.

Value

If i=NULL, j=NULL, returns a binary matrix indicating association of SNPs for each phenotype, where its rows and columns match those of input p-value matrix for function GGPA. Otherwise, returns a binary vector indicating association of SNPs for i-th and j-th phenotype pair.

Author(s)

Hang J. Kim and Dongjun Chung

References

Chung D, Kim H, and Zhao H (2016), "graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture," 13(2): e1005388

Kim H, Yu Z, Lawson A, Zhao H, and Chung D (2017), "Improving SNP prioritization and pleiotropic architecture estimation by incorporating prior knowledge using graph-GPA."

Newton MA, Noueiry A, Sarkar D, and Ahlquist P (2004), "Detecting differential gene expression with a semiparametric hierarchical mixture method," Biostatistics, Vol. 5, pp. 155-176.

See Also

GGPA, GGPA.

Examples

# Load the included simulation data
data(simulation)

# fit GGPA model with 200 iterations and a burn-in of 200 iterations
# Note that we recommend more than 200 iterations in practice
fit <- GGPA( simulation$pmat, nMain = 200, nBurnin = 200)

# Association mapping with FDR of 0.1 and global control
head(assoc( fit, FDR=0.1, fdrControl="global" ))

# We may specift i = 1 and j = 2 if we are interested in that specific phenotype
head(assoc( fit, FDR=0.1, fdrControl="global", i=1, j=2 ))

Fit graph-GPA model

Description

Fit graph-GPA model.

Usage

GGPA( gwasPval, pgraph=NULL, nBurnin=10000, nMain=40000, lbPval=1e-10, verbose=1 )

Arguments

gwasPval

p-value matrix from GWAS data, where row and column correspond to SNP and phenotype, respectively.

pgraph

A binary matrix representing the prior phenotype graph, where its rows and columns match the columns of gwasPval.

nBurnin

Number of burn-in iterations. Default is 10000.

nMain

Number of main MCMC iterations. Default is 40000.

lbPval

Lower bound for GWAS p-value. Any GWAS p-values smaller than lbPval are set to lbPval. Default is 1e-10.

verbose

Amount of progress report during the fitting procedure. Possible values are 0 (minimal output), 1, 2, or 3 (maximal output). Default is 1.

Details

GGPA fits the graph-GPA model. It requires to provide GWAS p-value to gwasPval. If a phenotype graph is provided in pgraph, it is utilized to guide the phenotype graph estimation. Based on this GGPA fit, assoc implements association mapping and plot provides a phenotype graph.

Value

Construct GGPA class object.

Author(s)

Hang J. Kim and Dongjun Chung

References

Chung D, Kim H, and Zhao H (2016), "graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture," 13(2): e1005388

Kim H, Yu Z, Lawson A, Zhao H, and Chung D (2018), "Improving SNP prioritization and pleiotropic architecture estimation by incorporating prior knowledge using graph-GPA," Bioinformatics, bty061.

See Also

assoc, GGPA.

Examples

# Load the included simulation data
data(simulation)

# fit GGPA model with 200 iterations and a burn-in of 200 iterations
# Note that we recommend more than 200 iterations in practice
fit <- GGPA( simulation$pmat, nMain = 200, nBurnin = 200)


# Association mapping with FDR of 0.1 and global control
head(assoc( fit, FDR=0.1, fdrControl="global" ))

# We may specift i = 1 and j = 2 if we are interested in that specific phenotype
head(assoc( fit, FDR=0.1, fdrControl="global", i=1, j=2 )) 

# plot the GGPA model fit
plot(fit)

Class "GGPA"

Description

This class represents graph-GPA model fit.

Objects from the Class

Objects can be created by calls of the form new("GGPA", ...).

Slots

fit:

Object of class "list", representing the MCMC draws.

summary:

Object of class "list", representing the summary statistics.

setting:

Object of class "list", representing the setting for graph-GPA model fitting.

gwasPval:

Object of class "matrix", representing the p-value matrix from GWAS data.

pgraph:

Object of class "matrix", representing the prior phenotype graph.

Methods

show

signature(object = "GGPA"): provide brief summary of the object.

plot

signature(x = "GGPA", y = "missing", pCutoff = 0.5, betaCI = 0.95): plot a phenotype graph. Nodes i and j are connected if the posterior probability of E_ij > pCutoff and the posterior probability of beta_ij > betaCI.

fdr

signature(object = "GGPA", i=NULL, j=NULL): provide local FDR. By default (i.e., i=NULL, j=NULL), it returns a matrix of local FDR that a SNP is not associated with each phenotype (i.e., marginal FDR), where the order of columns is same as that in input GWAS data. If phenotype indices i and j are specified, a vector of corresponding local FDR is provided.

estimates

signature(object = "GGPA"): extract parameter estimates from graph-GPA model fit.

Author(s)

Hang J. Kim, Dongjun Chung

References

Chung D, Kim H, and Zhao H (2016), "graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture," 13(2): e1005388

Kim H, Yu Z, Lawson A, Zhao H, and Chung D (2018), "Improving SNP prioritization and pleiotropic architecture estimation by incorporating prior knowledge using graph-GPA," Bioinformatics, bty061.

See Also

GGPA.

Examples

showClass("GGPA")

# Load the included simulation data
data(simulation)

# fit GGPA model with 200 iterations and a burn-in of 200 iterations
# Note that we recommend more than 200 iterations in practice
fit <- GGPA( simulation$pmat, nMain = 200, nBurnin = 200)

# Plot GGPA model fit
plot(fit)

head(fdr( fit ))
head(fdr( fit, i=1, j=2 ))
str(estimates( fit ))

Simulation dataa for graph-GPA

Description

This is an simulation dataset.

Usage

data(simulation)

Format

simulation list object containing simulation data (element Y) and its simulation setting (the remaining elements).

Author(s)

Hang J. Kim, Dongjun Chung

References

Chung D, Kim H, and Zhao H (2016), "graph-GPA: A graphical model for prioritizing GWAS results and investigating pleiotropic architecture," 13(2): e1005388

Kim H, Yu Z, Lawson A, Zhao H, and Chung D (2017), "Improving SNP prioritization and pleiotropic architecture estimation by incorporating prior knowledge using graph-GPA."

Examples

# The simulation data set is included with the GGPA package
data(simulation)
head(t(simulation$pmat))