assoc {GPA} | R Documentation |
Association mapping.
assoc( object, ... ) ## S4 method for signature 'GPA' assoc( object, FDR=0.05, fdrControl="global", pattern=NULL )
object |
GPA model fit. |
FDR |
FDR level. |
fdrControl |
Method to control FDR. Possible values are "global" (global FDR control) and "local" (local FDR control). Default is "global". |
pattern |
Pattern for association mapping.
By default (i.e., |
... |
Other parameters to be passed through to generic |
assoc
uses the direct posterior probability approach of Newton et al. (2004)
to control global FDR in association mapping.
Users can specify the pattern using 1 and * in pattern
argument,
where 1 and * indicate phenotypes of interest and phenotypes that are not of interest, respectively.
For example, when there are three phenotypes,
pattern="111"
means a SNP associated with all of three phenotypes,
while pattern="11*"
means a SNP associated with the first two phenotypes
(i.e., association with the third phenotype is ignored (averaged out)).
If pattern=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 GPA
.
Otherwise, returns a binary vector indicating association of SNPs for the phenotype combination of interest.
Dongjun Chung
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)
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.
# 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.3 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 ) ann <- rbinom(n = nrow(pmat), size = 1, prob = 0.15) ann <- as.matrix(ann,ncol = 1) fit.GPA.wAnn <- GPA( pmat, ann , maxIter = 100 ) cov.GPA.wAnn <- cov( fit.GPA.wAnn ) assoc.GPA.wAnn <- assoc( fit.GPA.wAnn, FDR=0.05, fdrControl="global" )