moloc: multiple co-localization
Claudia Giambartolomei
2020-02-13
Package Info
The moloc package is an extension of coloc (see Giambartolomei et al. 2014) that can be used to perform genetic
co-localization analysis of multiple phenotypes, to understand whether they share common genetic causal
variant(s) in a given region.
These examples will guide through how to run moloc using three traits on:
A single locus
Genome-wide/multiple loci analysis
Usage
moloc on single locus
The main function is called moloc_test and outputs posterior probabilities for each combination of datasets used
in the input list. The default is to average the Bayes Factors across three prior variances, 0.01, 0.1, 0.5, as
suggested in Wakefield (see Wakefield 2009).
Input
* The summary statistics for each dataset must be in a list (e.g. list(gwas, eqtl, mqtl)).
Must have columns `SNP`, `BETA`, `SE`.
SNP BETA SE z PVAL N MAF
rs1 0.02 0.02 1.13 0.26 10000 0.12
rs2 0.00 0.03 0.14 0.89 10000 0.08
rs3 -0.02 0.03 -0.85 0.40 10000 0.07
rs4 -0.01 0.02 -0.38 0.70 10000 0.13
rs5 -0.01 0.02 -0.53 0.60 10000 0.13
SNP BETA SE z PVAL N MAF
rs1 -0.02 0.07 -0.24 0.81 1000 0.12
rs2 0.10 0.08 1.23 0.22 1000 0.09
rs3 -0.07 0.09 -0.79 0.43 1000 0.07
rs4 -0.07 0.07 -1.00 0.32 1000 0.14
rs5 -0.06 0.07 -0.93 0.35 1000 0.14
SNP BETA SE z PVAL N M
rs1 -0.07 0.10 -0.69 0.49 500 0
rs2 -0.03 0.12 -0.23 0.82 500 0
rs3 -0.16 0.13 -1.27 0.20 500 0
rs4 0.06 0.10 0.62 0.53 500 0
rs5 0.10 0.10 1.01 0.31 500 0
Output
The output is a list with three elements:
1. First element is a data frame containing the priors, likelihoods and Posteriors for each locus and each
combination. We usually care about the last columns, the posterior probability of a shared variant for each
model;
2. Second element is the number of SNPs analyzed, in common across all datasets;
3. Third element of the output is a data frame with the posterior probability of the most likely SNP.
## prior sumbf logBF_locus PPA
## a 1e-04 43 36 1.6e-29
## a,b 1e-08 93 80 1.1e-11
## a,c 1e-08 61 48 2.0e-25
## a,bc 1e-10 114 101 2.1e-04
## a,b,c 1e-12 114 101 2.1e-06
## b 1e-04 52 46 2.4e-25
## b,c 1e-08 72 59 1.2e-20
## ac,b 1e-10 115 101 3.1e-04
## c 1e-04 21 14 4.7e-39
## ab,c 1e-10 115 101 3.2e-04
## ab 1e-06 95 88 6.9e-09
## ac 1e-06 63 57 1.4e-22
## bc 1e-06 73 67 3.5e-18
options(scipen = 1, digits = 2)
library(moloc)
moloc <- moloc_test(data_single, prior_var=c(0.01, 0.1, 0.5), priors=c(1e-04, 1e-06, 1e-07))
# Posteriors
print(moloc[[1]])