Title: | A frequentist test of proportional colocalization after selecting relevant genetic variants |
---|---|
Description: | A proportional colocalization test that accounts for uncertainty in variant selection using summary data. |
Authors: | Ashish Patel [cre, aut], Stephen Burgess [aut] |
Maintainer: | Ashish Patel <[email protected]> |
License: | use_mit_license() |
Version: | 1.1.0 |
Built: | 2024-12-17 05:12:25 UTC |
Source: | https://github.com/ash-res/prop-coloc |
GLP1R summary data included in the package
https://gtexportal.org/home/tissueSummaryPage
A proportional colocalization test that accounts for uncertainty in variant selection using summary data.
prop.coloc( b1, se1, b2, se2, n, ld, tau = NULL, alpha = NULL, prune = NULL, J = NULL, figs = NULL, traits = NULL, seed = 100 )
prop.coloc( b1, se1, b2, se2, n, ld, tau = NULL, alpha = NULL, prune = NULL, J = NULL, figs = NULL, traits = NULL, seed = 100 )
b1 |
beta coefficients for trait 1 |
se1 |
standard errors for trait 1 |
b2 |
beta coefficients for trait 2 |
se2 |
standard errors for trait 2 |
n |
sample size; a one-sample analysis is performed if only one sample size is entered. If two sample sizes are entered, then a two-sample analysis is performed under the assumption that genetic associations with traits 1 and 2 are measured from non-overlapping samples |
ld |
genetic variant correlation matrix |
tau |
(optional) correlation between trait 1 and trait 2; if traits are measured in separate samples, then this should be set to 0 (default value is 0) |
alpha |
(optional) nominal size of the conditional proportional colocalization test; if unspecified, p-value is reported to 2 decimal places |
prune |
(optional) R^2 pruning threshold for variant correlations; if unspecified (default value is R^2 = 0.6) |
J |
(optional) the top J variants for at least one trait are used to fit multivariable trait-variant linear models (default value is J=10) |
figs |
(optional) logical: if |
traits |
(optional) a character vector of the two trait names |
seed |
(optional) the seed for random sampling involved in computing conditional critical values for the prop-coloc-cond p-value (default value is 100) |
The method computes two different proportional colocalization tests. Each test is a frequentist hypothesis test where the null hypothesis is colocalization (i.e. the genetic associations with traits 1 and 2 are proportional), and the alternative hypothesis is failure to colocalize (the genetic associations are not proportional).
First, prop-coloc-cond is a conditional test based on lead variants for each trait that accounts for uncertainty in variant selection. By contrast, prop-coloc-full tests the proportional colocalization hypothesis using a larger set of variant associations (by default, the top 10 strongest variant associations for each trait).
Compared with prop-coloc-full, the prop-coloc-cond test is shown to achieve good type I error control, and be less sensitive to measurement errors in estimated genetic correlations. However, prop-coloc-cond and prop-coloc-full test slightly different null hypotheses; whereas prop-coloc-cond focuses on the evidence from lead variants, prop-coloc-full considers the evidence across more variants.
We note that an optional input of "tau", which is the correlation between the two traits, is typically not provided in usual genetic association summary data. Therefore, sensitivity of analyses to the choice of tau is recommended.
Both proportional colocalization tests require specification of the variant correlation matrix. This is a signed matrix, and the correlations must be provided with respect to the same effect alleles as the beta coefficients for each trait.
Output is a list containing:
p_cond
p-value of prop-coloc-cond test to two decimal places. Null hypothesis is that the beta-coefficients are proportional (this represents proportional colocalization), rejection indicates failure to proportionately colocalize.
If alpha
is specified, then p_cond
is logical TRUE
if the proportional colocalization null hypothesis is rejected or FALSE
if the proportional colocalization null hypothesis is not rejected at the specified alpha
significance threshold.
eta_cond
proportionality constant based on lead variants for each trait
LM_cond
p-value of Lagrange Multiplier test based on lead variants for each trait. Null hypothesis is that the proportionality constant is zero, rejection indicates proportionality constant is non-zero. Colocalization is only meaningful if the proportionality constant is non-zero.
p_full
p-value of prop-coloc-full test based on top J variants for each trait. Null hypothesis is that the beta-coefficients are proportional (this represents proportional colocalization), rejection indicates failure to colocalize.
eta_full
proportionality constant based on top J variants for each trait
LM_full
p-value of Lagrange Multiplier test based on top J variants for each trait. Null hypothesis is that the proportionality constant is zero, rejection indicates proportionality constant is non-zero. Colocalization is only meaningful if the proportionality constant is non-zero.
Q
naive test statistic for proportional colocalization hypothesis from prop-coloc-cond
alpha
nominal size of the conditional proportional colocalization test (if specified)
convergence
whether uniroot function converged to find a conditional critical value for the prop-coloc-cond test
top
two most relevant variants selected for the prop-coloc-cond test
variants
set of variants used for the prop-coloc-full test
fig_uni
plot of the univariable variant–trait associations of top J variants for each trait (if figs
is specified and TRUE
)
fig_multi
plot of the fitted multivariable variant–trait associations of top J variants for each trait (if figs
is specified and TRUE
)
Stephen Burgess and Ashish Patel
A frequentist test of proportional colocalization after selecting relevant genetic variants. Preprint. https://arxiv.org/abs/2402.12171
res1 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$pancreas$beta, se2=GLP1R$pancreas$se, ld=GLP1R$ld, n=838) # here the LM test is rejected for both methods (p<0.01), so there is a non-zero slope in the scatterplot of genetic associations # the proportionality test is rejected in the prop-coloc-full method (p<0.01), but not in the prop-coloc-cond method (p=0.10) # hence there is evidence for failure to colocalize # note that when alpha is not specified, the code takes much longer to run res2 <- prop.coloc(b1=GLP1R$thyroid$beta, se1=GLP1R$thyroid$se, b2=GLP1R$lung$beta, se2=GLP1R$lung$se, ld=GLP1R$ld, n=838, alpha=0.05) # here the LM test is not rejected, so there is no clear evidence for a non-zero slope in the scatterplot of genetic associations # additionally, the proportionality test is rejected in both methods # hence there is evidence for failure to colocalize res3 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, ld=GLP1R$ld, n=838, alpha=0.05, figs=TRUE) # here the LM test is rejected for both methods (p<0.01), so there is a non-zero slope in the scatterplot of genetic associations # the proportionality test is not rejected by either method: p>0.05 for prop-coloc-cond and p=0.72 for prop-coloc-full # hence there is no evidence against colocalization res3$fig_uni # scatterplot of univariable associations (beta coefficients) res3$fig_multi # scatterplot of multivariable associations
res1 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$pancreas$beta, se2=GLP1R$pancreas$se, ld=GLP1R$ld, n=838) # here the LM test is rejected for both methods (p<0.01), so there is a non-zero slope in the scatterplot of genetic associations # the proportionality test is rejected in the prop-coloc-full method (p<0.01), but not in the prop-coloc-cond method (p=0.10) # hence there is evidence for failure to colocalize # note that when alpha is not specified, the code takes much longer to run res2 <- prop.coloc(b1=GLP1R$thyroid$beta, se1=GLP1R$thyroid$se, b2=GLP1R$lung$beta, se2=GLP1R$lung$se, ld=GLP1R$ld, n=838, alpha=0.05) # here the LM test is not rejected, so there is no clear evidence for a non-zero slope in the scatterplot of genetic associations # additionally, the proportionality test is rejected in both methods # hence there is evidence for failure to colocalize res3 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, ld=GLP1R$ld, n=838, alpha=0.05, figs=TRUE) # here the LM test is rejected for both methods (p<0.01), so there is a non-zero slope in the scatterplot of genetic associations # the proportionality test is not rejected by either method: p>0.05 for prop-coloc-cond and p=0.72 for prop-coloc-full # hence there is no evidence against colocalization res3$fig_uni # scatterplot of univariable associations (beta coefficients) res3$fig_multi # scatterplot of multivariable associations