corrcov_nvar {corrcoverage} | R Documentation |
Corrected coverage estimate using Z-scores and MAFs (fixing nvar)
Description
Obtain corrected coverage estimate using Z-scores and mafs (limiting simulations used for estimation to those with correct nvar)
Usage
corrcov_nvar(
z,
f,
N0,
N1,
Sigma,
nvar,
thr,
W = 0.2,
nrep = 10000,
pp0min = 0.001
)
Arguments
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 |
Details
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.
Value
Corrected coverage estimate
Author(s)
Anna Hutchinson
Examples
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)
# note that nrep should be at least the default value (nrep = 10000) but is
# lower here for speed of computation