corrcov_nvar.Rd
Obtain corrected coverage estimate using Z-scores and mafs (limiting simulations used for estimation to those with correct nvar)
corrcov_nvar(z, f, N0, N1, Sigma, nvar, thr, W = 0.2, nrep = 10000, pp0min = 0.001)
z | Marginal Z-scores |
---|---|
f | Minor allele frequencies |
N0 | Number of controls |
N1 | Number of cases |
Sigma | SNP correlation matrix |
nvar | The number of variants that simulated credible sets used for estimation should contain |
thr | Minimum threshold for fine-mapping experiment |
W | Prior for the standard deviation of the effect size parameter, beta (default 0.2) |
nrep | The number of simulated posterior probability systems to consider for the corrected coverage estimate (nrep = 10000 default due to trimming) |
pp0min | Only average over SNPs with pp0 > pp0min |
Corrected coverage estimate
This function requires the marginal summary statistics from GWAS and an nvar value. It should only be used when nvar is very low (<3) and there is some evidence to suggest that only simulated credible sets with this nvar value should be used to derive the corrected coverage estimate.
set.seed(1) nsnps = 100 N0 = 5000 N1 = 5000 z_scores <- rnorm(nsnps, 0, 3) # simulate a vector of Z-scores ## generate example LD matrix library(mvtnorm) nsamples = 1000 simx <- function(nsnps, nsamples, S, maf=0.1) { mu <- rep(0,nsnps) rawvars <- rmvnorm(n=nsamples, mean=mu, sigma=S) pvars <- pnorm(rawvars) x <- qbinom(1-pvars, 1, maf) } S <- (1 - (abs(outer(1:nsnps,1:nsnps,`-`))/nsnps))^4 X <- simx(nsnps,nsamples,S) LD <- cor2(X) maf <- colMeans(X) corrcov_nvar(z = z_scores, f = maf, N0, N1, Sigma = LD, thr = 0.95, nvar = 1, nrep = 100)#> [1] 1# note that nrep should be at least the default value (nrep = 10000) but is # lower here for speed of computation