I am hoping to use the results from a previous test (Z1) to re-weight the p-values from a new-related test (Z2). However, when I run FDRreg (as shown below), I end up with FDRreg-corrected results that do not seem to incorporate the information from the covariate Z1 distribution. For example, a result that was significant at Q < 0.05 had a very large Z stat in Z2 and a large but NEGATIVE Z stat in Z1. In fact, it seems like the Q-values are in the same order as the original p-values from Z2. This leads me to believe that the info from Z1 isn't being incorporated properly.
The main file is attached:
library(FDRreg)
dat=read.table("independent_aligned_effects.txt",header=T)
#convert p to z
dat$Z1 = (1 - qnorm(dat$P1)) * sign(dat$BETA1)
dat$Z2 = (1 - qnorm(dat$P2)) * sign(dat$BETA2)
dat2=dat[complete.cases(dat),]
fdr1 = FDRreg(dat2$Z2, as.matrix(dat2$Z1), nulltype="theoretical")
#get the subset of significant SNPs
Q=0.05
fdrout=fdr1$FDR
tmp=cbind(dat2,fdrout)
outmat=subset(tmp, fdrout < Q)
nrow(outmat) #8403
write.table(outmat, file="fdrreg_corrected.txt", quote=F, row.names=F)
Many of the test declared significant at Q have Z-scores in the opposite direction. For example:
subset(outmat, SNP == "rs35238445", select=c(Z1,Z2,fdrout))
Z1 Z2 fdrout
33471 -0.3448948 5.183861 0.001698456
sessionInfo()
R version 3.2.4 (2016-03-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Red Hat Enterprise Linux Server release 6.3 (Santiago)
I am hoping to use the results from a previous test (Z1) to re-weight the p-values from a new-related test (Z2). However, when I run FDRreg (as shown below), I end up with FDRreg-corrected results that do not seem to incorporate the information from the covariate Z1 distribution. For example, a result that was significant at Q < 0.05 had a very large Z stat in Z2 and a large but NEGATIVE Z stat in Z1. In fact, it seems like the Q-values are in the same order as the original p-values from Z2. This leads me to believe that the info from Z1 isn't being incorporated properly.
The main file is attached:
Many of the test declared significant at Q have Z-scores in the opposite direction. For example:
33471 -0.3448948 5.183861 0.001698456
sessionInfo() R version 3.2.4 (2016-03-10) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Red Hat Enterprise Linux Server release 6.3 (Santiago)
locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages: [1] splines stats graphics grDevices utils datasets methods
[8] base
other attached packages: [1] FDRreg_0.2-1 mvtnorm_1.0-5 BayesLogit_0.5.1 fda_2.4.4
[5] Matrix_1.2-4
loaded via a namespace (and not attached): [1] Rcpp_0.12.4 magrittr_1.5 MASS_7.3-45 munsell_0.4.3
[5] colorspace_1.2-6 lattice_0.20-33 R6_2.1.2 ggdendro_0.1-18
[9] minqa_1.2.4 mosaicData_0.13.0 stringr_1.0.0 car_2.1-2
independent_aligned_effects.txt