From 5f1abdf9bc39f84e84f54a8ec97e38afbce86958 Mon Sep 17 00:00:00 2001 From: xuewei cao <36172337+xueweic@users.noreply.github.com> Date: Tue, 22 Apr 2025 19:07:28 -0400 Subject: [PATCH 1/2] adding susieR --- DESCRIPTION | 3 ++- vignettes/Ambiguous_Colocalization.Rmd | 7 +++++++ vignettes/LD_Free_Colocalization.Rmd | 10 +--------- vignettes/Summary_Statistics_Colocalization.Rmd | 10 +--------- 4 files changed, 11 insertions(+), 19 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 72ab83e..b427df5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -29,7 +29,8 @@ Suggests: knitr, rmarkdown, ashr, - MASS + MASS, + susieR VignetteBuilder: knitr Roxygen: list(markdown = TRUE) Config/testthat/edition: 3 diff --git a/vignettes/Ambiguous_Colocalization.Rmd b/vignettes/Ambiguous_Colocalization.Rmd index c9b3995..b056ac8 100644 --- a/vignettes/Ambiguous_Colocalization.Rmd +++ b/vignettes/Ambiguous_Colocalization.Rmd @@ -105,6 +105,13 @@ susie_GWAS$sets$cs$L1 intersect(susie_eQTL$sets$cs$L1, susie_GWAS$sets$cs$L1) ``` +To visulize the fine-mapping results, + +```{r plot-susie} +susieR::susie_plot(susie_eQTL, y = "PIP") +susieR::susie_plot(susie_GWAS, y = "PIP") +``` + # 3. Get the ambiguous colocalization results and summary diff --git a/vignettes/LD_Free_Colocalization.Rmd b/vignettes/LD_Free_Colocalization.Rmd index ae67414..9cba14a 100644 --- a/vignettes/LD_Free_Colocalization.Rmd +++ b/vignettes/LD_Free_Colocalization.Rmd @@ -131,15 +131,7 @@ for (i in 1:length(X)){ x <- X[[i]] y <- Y[[i]] effect_n[i] <- length(y) - # simply use `rr <- susieR::univariate_regression(X = x, y = y)` - output = matrix(0,ncol(x),2) - for (i in 1:ncol(x)) { - fit = summary(lm(y ~ x[,i]))$coef - if (nrow(fit) == 2) - output[i,] = as.vector(fit[2,1:2]) - else - output[i,] = c(0,0) - } + output <- susieR::univariate_regression(X = x, y = y) effect_est <- cbind(effect_est, output[,1]) effect_se <- cbind(effect_se, output[,2]) } diff --git a/vignettes/Summary_Statistics_Colocalization.Rmd b/vignettes/Summary_Statistics_Colocalization.Rmd index 304b6bf..311916b 100644 --- a/vignettes/Summary_Statistics_Colocalization.Rmd +++ b/vignettes/Summary_Statistics_Colocalization.Rmd @@ -190,15 +190,7 @@ for (i in 1:length(X)){ x <- X[[i]] y <- Y[[i]] effect_n[i] <- length(y) - # simply use `rr <- susieR::univariate_regression(X = x, y = y)` - output = matrix(0,ncol(x),2) - for (i in 1:ncol(x)) { - fit = summary(lm(y ~ x[,i]))$coef - if (nrow(fit) == 2) - output[i,] = as.vector(fit[2,1:2]) - else - output[i,] = c(0,0) - } + output <- susieR::univariate_regression(X = x, y = y) effect_est <- cbind(effect_est, output[,1]) effect_se <- cbind(effect_se, output[,2]) } From 9e0cb6ea0e546da346202ca57c085ce2d2f5a48d Mon Sep 17 00:00:00 2001 From: xuewei cao <36172337+xueweic@users.noreply.github.com> Date: Tue, 22 Apr 2025 19:15:04 -0400 Subject: [PATCH 2/2] minor fix --- vignettes/LD_Free_Colocalization.Rmd | 4 ++-- vignettes/Summary_Statistics_Colocalization.Rmd | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vignettes/LD_Free_Colocalization.Rmd b/vignettes/LD_Free_Colocalization.Rmd index 9cba14a..75aaf81 100644 --- a/vignettes/LD_Free_Colocalization.Rmd +++ b/vignettes/LD_Free_Colocalization.Rmd @@ -132,8 +132,8 @@ for (i in 1:length(X)){ y <- Y[[i]] effect_n[i] <- length(y) output <- susieR::univariate_regression(X = x, y = y) - effect_est <- cbind(effect_est, output[,1]) - effect_se <- cbind(effect_se, output[,2]) + effect_est <- cbind(effect_est, output$beta) + effect_se <- cbind(effect_se, output$sebeta) } colnames(effect_est) <- colnames(effect_se) <- c("Y1", "Y2", "Y3", "Y4", "Y5") rownames(effect_est) <- rownames(effect_se) <- colnames(X[[1]]) diff --git a/vignettes/Summary_Statistics_Colocalization.Rmd b/vignettes/Summary_Statistics_Colocalization.Rmd index 311916b..4e4f8da 100644 --- a/vignettes/Summary_Statistics_Colocalization.Rmd +++ b/vignettes/Summary_Statistics_Colocalization.Rmd @@ -191,8 +191,8 @@ for (i in 1:length(X)){ y <- Y[[i]] effect_n[i] <- length(y) output <- susieR::univariate_regression(X = x, y = y) - effect_est <- cbind(effect_est, output[,1]) - effect_se <- cbind(effect_se, output[,2]) + effect_est <- cbind(effect_est, output$beta) + effect_se <- cbind(effect_se, output$sebeta) } colnames(effect_est) <- colnames(effect_se) <- c("Y1", "Y2", "Y3", "Y4", "Y5") rownames(effect_est) <- rownames(effect_se) <- colnames(X[[1]])