Description Details Author(s) References See Also Examples
This package provides functions for fitting GPA, a statistical approach to prioritizing GWAS results by integrating pleiotropy information and annotation data, along with ShinyGPA, a visualization toolkit to investigate the pleiotropic architecture using GWAS results.
Package: | GPA |
Type: | Package |
Version: | 0.99.9 |
Date: | 2020-04-14 |
License: | GPL (>= 2) |
LazyLoad: | yes |
This package contains a main class, GPA
, which represents GPA model fit.
This package contains four main methods for the GPA framework (Chung et al., 2014),
GPA
, assoc
, pTest
, and aTest
.
GPA
method fits the GPA model
and assoc
method implements association mapping.
pTest
and aTest
methods implement hypothesis testing
for pleiotropy and annotation enrichment, respectively.
This package contains two main methods for the ShinyGPA visualization toolkit (Kortemeier et al., 2017), fitAll
and shinyGPA
. fitAll
function generates all the intermediate results needed to run shinyGPA
. shinyGPA
opens the ShinyGPA interface, which takes the results generated from fitAll
as input.
Dongjun Chung, Emma Kortemeier
Maintainer: Dongjun Chung <dongjun.chung@gmail.com>
Chung D*, Yang C*, Li C, Gelernter J, and Zhao H (2014), "GPA: A statistical approach to prioritizing GWAS results by integrating pleiotropy information and annotation data," PLoS Genetics, 10: e1004787. (* joint first authors)
Kortemeier E, Ramos PS, Hunt KJ, Kim HJ, Hardiman G, and Chung D (2018), "ShinyGPA: An interactive and dynamic visualization toolkit for genetic studies," PLOS One, 13(1): e0190949.
GPA
, assoc
, pTest
, aTest
,
GPA
, fitAll
, shinyGPA
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | ## Not run:
# simulation setting
nBin <- 1000
pi1 <- 0.2
common <- 0.5
betaAlpha <- c( 0.6, 0.6 )
annP <- c( 0.2, 0.4, 0.4, 0.4 )
seed <- 12345
# simulation setting
nCommon <- round( pi1 * common * nBin )
nUniq <- round( pi1 * ( 1 - common ) * nBin )
nBg <- nBin - 2 * nUniq - nCommon
# M * K matrix of GWAS p-value
set.seed( seed )
pvec1 <- c( rbeta( nCommon, betaAlpha[1], 1 ), rbeta( nUniq, betaAlpha[1], 1 ),
runif( nUniq ), runif( nBg ) )
pvec2 <- c( rbeta( nCommon, betaAlpha[2], 1 ), runif( nUniq ),
rbeta( nUniq, betaAlpha[2], 1 ), runif( nBg ) )
pmat <- cbind( pvec1, pvec2 )
# M * D matrix of annotation
ann <- c(
sample( c(1,0), nCommon, replace=TRUE, prob = c( annP[4], 1 - annP[4] ) ),
sample( c(1,0), nUniq, replace=TRUE, prob = c( annP[2], 1 - annP[2] ) ),
sample( c(1,0), nUniq, replace=TRUE, prob = c( annP[3], 1 - annP[3] ) ),
sample( c(1,0), nBg, replace=TRUE, prob = c( annP[1], 1 - annP[1] ) ) )
# GPA without annotation data
fit.GPA.noAnn <- GPA( pmat, NULL )
cov.GPA.noAnn <- cov( fit.GPA.noAnn )
# GPA with annotation data
fit.GPA.wAnn <- GPA( pmat, ann )
cov.GPA.wAnn <- cov( fit.GPA.wAnn )
# GPA under pleiotropy H0
fit.GPA.pleiotropy.H0 <- GPA( pmat, NULL, pleiotropyH0=TRUE )
# association mapping
assoc.GPA.wAnn <- assoc( fit.GPA.wAnn, FDR=0.05, fdrControl="global" )
# hypothesis testing for pleiotropy
test.pleiotropy <- pTest( fit.GPA.noAnn, fit.GPA.pleiotropy.H0 )
# hypothesis testing for annotation enrichment
test.annotation <- aTest( fit.GPA.noAnn, fit.GPA.wAnn )
# simulator function
simulator <- function( risk.ind, nsnp=20000, alpha=0.6 ) {
m <- length(risk.ind)
p.sig <- rbeta( m, alpha, 1 )
pvec <- runif(nsnp)
pvec[ risk.ind ] <- p.sig
return(pvec)
}
# run simulation
set.seed(12345)
nsnp <- 1000
alpha <- 0.4
pmat <- matrix( NA, nsnp, 5 )
pmat[,1] <- simulator( c(1:200), nsnp=nsnp, alpha=alpha )
pmat[,2] <- simulator( c(51:250), nsnp=nsnp, alpha=alpha )
pmat[,3] <- simulator( c(401:600), nsnp=nsnp, alpha=alpha )
pmat[,4] <- simulator( c(451:750), nsnp=nsnp, alpha=alpha )
pmat[,5] <- simulator( c(801:1000), nsnp=nsnp, alpha=alpha )
# Fit GPA for all possible pairs of GWAS datasets
out <- fitAll( pmat )
# Run the ShinyGPA app using the ouput from fitAll()
shinyGPA(out)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.