| 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: | 2.0.0 |
| Built: | 2026-05-24 07:15:26 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, pval = NULL, alpha = NULL, clump = NULL, J = NULL, figs = NULL, traits = NULL, seed = 100 )prop.coloc( b1, se1, b2, se2, n, ld, tau = NULL, pval = NULL, alpha = NULL, clump = 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. Set tau=0 if 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 for a two-sample analysis, then this should be set to 0 (default value is 0) |
pval |
(optional) nominal size of LM test for determining non-zero proportionality constant; if unspecified the default is pval = 0.05 |
alpha |
(optional) tested significance levels for determining p-value of the conditional proportional colocalization test; if unspecified the default is alpha = seq(0.01,0.99,0.01) |
clump |
(optional) R^2 clumping threshold for variant correlations; if unspecified the 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
p_eta
p-value of Lagrange Multiplier test for a non-zero proportionality constant
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
p_naive
naive p-value of prop-coloc-cond test statistic
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; a failure to converge may indicate a lack of support for a model of proportional colocalization
top
two most relevant variants selected for the prop-coloc-cond test
variants
set of variants used for the prop-coloc-full test
gamma
the variant associations with each trait adjusted for all other variants included in a multivariable model
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$stomach$beta, se1=GLP1R$stomach$se, b2=GLP1R$pancreas$beta, se2=GLP1R$pancreas$se, n=GLP1R$n$n_donors[c(8,7)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[8,7],figs=TRUE,traits=c("stomach","pancreas"),clump=0.8) # here the LM test is rejected (p<0.01; see \code{res1$p_eta}), so there is a non-zero slope in the scatterplot of genetic associations \code{res1$fig_multi} # the proportionality test is rejected in the prop-coloc-full method (p<0.01; see \code{res1$p_full}), and in the prop-coloc-cond method (p=0.01) # hence there is evidence for failure to colocalize res2 <- prop.coloc(b1=GLP1R$stomach$beta, se1=GLP1R$stomach$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, n=GLP1R$n$n_donors[c(8,4)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[8,4],figs=TRUE,traits=c("stomach","left_ventricle"),clump=0.8) # here the LM test is not rejected, so there is no clear evidence for a non-zero slope in the scatterplot of genetic associations \code{res2$fig_multi} # hence the proportional colocalization hypothesis cannot be assessed since trait 1 may not have a causal variant res3 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, n=GLP1R$n$n_donors[c(2,4)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[2,4],figs=TRUE,traits=c("atrial appendage","left_ventricle"),clump=0.8) # 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 the prop-coloc-cond test (p=0.38) # hence there is no evidence against proportional colocalizationres3$fig_uni# scatterplot of univariable associations (beta coefficients)res3$fig_multi# scatterplot of multivariable associationsres1 <- prop.coloc(b1=GLP1R$stomach$beta, se1=GLP1R$stomach$se, b2=GLP1R$pancreas$beta, se2=GLP1R$pancreas$se, n=GLP1R$n$n_donors[c(8,7)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[8,7],figs=TRUE,traits=c("stomach","pancreas"),clump=0.8) # here the LM test is rejected (p<0.01; see \code{res1$p_eta}), so there is a non-zero slope in the scatterplot of genetic associations \code{res1$fig_multi} # the proportionality test is rejected in the prop-coloc-full method (p<0.01; see \code{res1$p_full}), and in the prop-coloc-cond method (p=0.01) # hence there is evidence for failure to colocalize res2 <- prop.coloc(b1=GLP1R$stomach$beta, se1=GLP1R$stomach$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, n=GLP1R$n$n_donors[c(8,4)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[8,4],figs=TRUE,traits=c("stomach","left_ventricle"),clump=0.8) # here the LM test is not rejected, so there is no clear evidence for a non-zero slope in the scatterplot of genetic associations \code{res2$fig_multi} # hence the proportional colocalization hypothesis cannot be assessed since trait 1 may not have a causal variant res3 <- prop.coloc(b1=GLP1R$atrial_appendage$beta, se1=GLP1R$atrial_appendage$se, b2=GLP1R$left_ventricle$beta, se2=GLP1R$left_ventricle$se, n=GLP1R$n$n_donors[c(2,4)], ld=GLP1R$ld, tau=GLP1R$trait_correlations[2,4],figs=TRUE,traits=c("atrial appendage","left_ventricle"),clump=0.8) # 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 the prop-coloc-cond test (p=0.38) # hence there is no evidence against proportional colocalization res3$fig_uni # scatterplot of univariable associations (beta coefficients) res3$fig_multi # scatterplot of multivariable associations