Title: | Replicability Analysis of High-Throughput Experiments |
---|---|
Description: | Implementing a computationally scalable false discovery rate control procedure for replicability analysis based on maximum of p-values. Please cite the manuscript corresponding to this package [Lyu, P. et al., (2023), <https://www.biorxiv.org/content/10.1101/2023.02.13.528417v2>]. |
Authors: | Pengfei Lyu [aut, ctb], Yan Li [aut, cre, cph], Xiaoquan Wen [aut], Hongyuan Cao [aut, ctb] |
Maintainer: | Yan Li <[email protected]> |
License: | GPL-3 |
Version: | 1.0.1 |
Built: | 2024-12-05 06:46:04 UTC |
Source: | CRAN |
Replicability Analysis of High-Throughput Experiments
JUMP(pvals1, pvals2, alpha = 0.05, lambda = seq(0.01, 0.8, 0.01))
JUMP(pvals1, pvals2, alpha = 0.05, lambda = seq(0.01, 0.8, 0.01))
pvals1 |
A numeric vector of p-values from study 1. |
pvals2 |
A numeric vector of p-values from study 2. |
alpha |
The FDR level to control, default is 0.05. |
lambda |
The values of the tuning parameter to estimate pi_0. Must be in [0,1), default is seq(0.01, 0.8, 0.01). |
a list with the following elements:
p.max |
The maximum of p-values across two studies. |
jump.thr |
The estimated threshold of p.max to control FDR at level alpha. |
# Simulate p-values in two studies m = 10000 h = sample(0:3, m, replace = TRUE, prob = c(0.9, 0.025, 0.025, 0.05)) states1 = rep(0, m); states2 = rep(0, m) states1[which(h==2|h==3)] = 1; states2[which(h==1|h==3)] = 1 z1 = rnorm(m, states1*2, 1) z2 = rnorm(m, states2*3, 1) p1 = 1 - pnorm(z1); p2 = 1 - pnorm(z2) # Run JUMP to identify replicable signals res.jump = JUMP(p1, p2, alpha = 0.05) sig.idx = which(res.jump$p.max <= res.jump$jump.thr)
# Simulate p-values in two studies m = 10000 h = sample(0:3, m, replace = TRUE, prob = c(0.9, 0.025, 0.025, 0.05)) states1 = rep(0, m); states2 = rep(0, m) states1[which(h==2|h==3)] = 1; states2[which(h==1|h==3)] = 1 z1 = rnorm(m, states1*2, 1) z2 = rnorm(m, states2*3, 1) p1 = 1 - pnorm(z1); p2 = 1 - pnorm(z2) # Run JUMP to identify replicable signals res.jump = JUMP(p1, p2, alpha = 0.05) sig.idx = which(res.jump$p.max <= res.jump$jump.thr)
Estimate threshold of maximum p-values across two studies to control FDR.
jump_cutoff(pa_in, pb_in, xi_in, alpha_in)
jump_cutoff(pa_in, pb_in, xi_in, alpha_in)
pa_in |
A numeric vector of p-values from study 1. |
pb_in |
A numeric vector of p-values from study 2. |
xi_in |
The estimates of proportions of three null components. |
alpha_in |
The FDR level to control, default is 0.05. |
A list including the maximum of p-values and estimated threshold for FDR control.