Last updated: 2023-04-11
Checks: 6 1
Knit directory: ctwas_applied/
This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
The R Markdown file has unstaged changes. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish
to commit the R Markdown file and build the HTML.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20210726)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version 712ed61. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: analysis/figure/
Untracked files:
Untracked: HPR_locus_image.RData
Untracked: HPR_locus_image_2.RData
Untracked: POLK_locus_image.RData
Untracked: POLK_locus_image_2.RData
Untracked: gwas.RData
Untracked: ld_R_info.RData
Untracked: temp.regionlist.RDS
Untracked: temp.regions.txt
Untracked: temp.susieIrss.txt
Untracked: temp.temp.susieIrssres.Rd
Untracked: temp_LDR/
Untracked: temp_ld_R_chr1.txt
Untracked: temp_ld_R_chr10.txt
Untracked: temp_ld_R_chr11.txt
Untracked: temp_ld_R_chr12.txt
Untracked: temp_ld_R_chr13.txt
Untracked: temp_ld_R_chr14.txt
Untracked: temp_ld_R_chr15.txt
Untracked: temp_ld_R_chr16.txt
Untracked: temp_ld_R_chr17.txt
Untracked: temp_ld_R_chr18.txt
Untracked: temp_ld_R_chr19.txt
Untracked: temp_ld_R_chr2.txt
Untracked: temp_ld_R_chr20.txt
Untracked: temp_ld_R_chr21.txt
Untracked: temp_ld_R_chr22.txt
Untracked: temp_ld_R_chr3.txt
Untracked: temp_ld_R_chr4.txt
Untracked: temp_ld_R_chr5.txt
Untracked: temp_ld_R_chr6.txt
Untracked: temp_ld_R_chr7.txt
Untracked: temp_ld_R_chr8.txt
Untracked: temp_ld_R_chr9.txt
Untracked: temp_reg.txt
Untracked: z_snp_pos_ebi-a-GCST004131.RData
Untracked: z_snp_pos_ebi-a-GCST004132.RData
Untracked: z_snp_pos_ebi-a-GCST004133.RData
Untracked: z_snp_pos_scz-2018.RData
Untracked: z_snp_pos_ukb-a-360.RData
Untracked: z_snp_pos_ukb-d-30780_irnt.RData
Unstaged changes:
Modified: analysis/ukb-d-30780_irnt_Liver_nolnc_corrected_known.Rmd
Modified: output/LDL_ACVR1C_plot.pdf
Modified: output/LDL_ACVR1C_plot_genetrack.pdf
Modified: output/LDL_GO_nonredundant.pdf
Modified: output/LDL_HPR_plot.pdf
Modified: output/LDL_HPR_plot_genetrack.pdf
Modified: output/LDL_PRKD2_plot.pdf
Modified: output/LDL_PRKD2_plot_genetrack.pdf
Modified: output/LDL_TWAS_false_positive.pdf
Modified: output/LDL_false_negative.pdf
Modified: output/LDL_manhattan_plot.pdf
Modified: output/LDL_manhattan_plot_annotated.pdf
Modified: output/LDL_parameters.pdf
Modified: output/LDL_silver_standard_precision.pdf
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the repository in which changes were made to the R Markdown (analysis/ukb-d-30780_irnt_Liver_nolnc_corrected_known.Rmd
) and HTML (docs/ukb-d-30780_irnt_Liver_nolnc_corrected_known.html
) files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view the files as they were in that past version.
File | Version | Author | Date | Message |
---|---|---|---|---|
Rmd | 712ed61 | wesleycrouse | 2023-04-06 | comparison with other methods at selected loci |
html | 712ed61 | wesleycrouse | 2023-04-06 | comparison with other methods at selected loci |
Rmd | 551627f | wesleycrouse | 2023-04-04 | genotype code and coloc analysis |
Rmd | eb3c5bf | wesleycrouse | 2022-09-27 | regenerating tables |
Rmd | 3349d12 | wesleycrouse | 2022-09-16 | maybe final tables |
html | 3349d12 | wesleycrouse | 2022-09-16 | maybe final tables |
Rmd | 6a57156 | wesleycrouse | 2022-09-14 | regenerating tables |
html | 6a57156 | wesleycrouse | 2022-09-14 | regenerating tables |
Rmd | 6d10cf7 | wesleycrouse | 2022-09-09 | additional results tables |
html | 6d10cf7 | wesleycrouse | 2022-09-09 | additional results tables |
Rmd | 220ba1d | wesleycrouse | 2022-09-09 | figure revisions |
html | 220ba1d | wesleycrouse | 2022-09-09 | figure revisions |
Rmd | 2af4567 | wesleycrouse | 2022-09-02 | working on supplemental figures |
Rmd | c5e5360 | wesleycrouse | 2022-08-31 | supplemental figure of parameters |
html | c5e5360 | wesleycrouse | 2022-08-31 | supplemental figure of parameters |
Rmd | 049be5b | wesleycrouse | 2022-08-30 | adding annotations to manhattan plot |
html | 049be5b | wesleycrouse | 2022-08-30 | adding annotations to manhattan plot |
Rmd | 7593421 | wesleycrouse | 2022-08-29 | regenerating table |
Rmd | 437d453 | wesleycrouse | 2022-08-29 | updating compact results summmary |
html | 437d453 | wesleycrouse | 2022-08-29 | updating compact results summmary |
Rmd | 691375a | wesleycrouse | 2022-08-24 | Updates for multi-panel figures |
html | 691375a | wesleycrouse | 2022-08-24 | Updates for multi-panel figures |
Rmd | f0129f0 | wesleycrouse | 2022-08-12 | testing new gene track |
html | f0129f0 | wesleycrouse | 2022-08-12 | testing new gene track |
Rmd | 81ec4fd | wesleycrouse | 2022-08-10 | plots |
html | 81ec4fd | wesleycrouse | 2022-08-10 | plots |
Rmd | f9f87d9 | wesleycrouse | 2022-08-10 | updating silver standard plots round 2 |
html | f9f87d9 | wesleycrouse | 2022-08-10 | updating silver standard plots round 2 |
Rmd | 314ab69 | wesleycrouse | 2022-08-10 | adjust silver standard figure |
html | 314ab69 | wesleycrouse | 2022-08-10 | adjust silver standard figure |
Rmd | f26dabe | wesleycrouse | 2022-07-29 | LDL compact results table |
html | f26dabe | wesleycrouse | 2022-07-29 | LDL compact results table |
Rmd | 755127a | wesleycrouse | 2022-07-28 | venn and updated false negatives |
html | 755127a | wesleycrouse | 2022-07-28 | venn and updated false negatives |
Rmd | 96e4b26 | wesleycrouse | 2022-07-28 | GO visualization for IBD |
Rmd | 0b519f1 | wesleycrouse | 2022-07-28 | relaxing GO silver threshold for SBP and SCZ |
Rmd | b915293 | wesleycrouse | 2022-07-28 | starting new false negative analysis |
html | b915293 | wesleycrouse | 2022-07-28 | starting new false negative analysis |
Rmd | 2b06ddd | wesleycrouse | 2022-07-28 | non-redundant GO |
html | 2b06ddd | wesleycrouse | 2022-07-28 | non-redundant GO |
Rmd | b8de6bf | wesleycrouse | 2022-07-26 | LDL MAGMA output |
html | b8de6bf | wesleycrouse | 2022-07-26 | LDL MAGMA output |
Rmd | 6d451ae | wesleycrouse | 2022-07-11 | tagging novel genes |
html | 6d451ae | wesleycrouse | 2022-07-11 | tagging novel genes |
Rmd | 0d6eac4 | wesleycrouse | 2022-07-06 | fixed mistakes while tinkering |
html | 0d6eac4 | wesleycrouse | 2022-07-06 | fixed mistakes while tinkering |
Rmd | 81aa4a9 | wesleycrouse | 2022-07-06 | tinkering with ldl plots |
html | 81aa4a9 | wesleycrouse | 2022-07-06 | tinkering with ldl plots |
Rmd | d5102c3 | wesleycrouse | 2022-07-01 | updating LDL FP analysis |
html | d5102c3 | wesleycrouse | 2022-07-01 | updating LDL FP analysis |
Rmd | b48afdd | wesleycrouse | 2022-06-30 | false positive analysis |
html | b48afdd | wesleycrouse | 2022-06-30 | false positive analysis |
Rmd | 1436530 | wesleycrouse | 2022-06-30 | plot labels |
html | 1436530 | wesleycrouse | 2022-06-30 | plot labels |
Rmd | e31acf9 | wesleycrouse | 2022-06-29 | LDL plots |
html | e31acf9 | wesleycrouse | 2022-06-29 | LDL plots |
Rmd | 063e6e6 | wesleycrouse | 2022-06-28 | adjustments to LDL results |
html | 063e6e6 | wesleycrouse | 2022-06-28 | adjustments to LDL results |
Rmd | 25b795b | wesleycrouse | 2022-06-24 | Results after correction to predictiondb weights |
html | 25b795b | wesleycrouse | 2022-06-24 | Results after correction to predictiondb weights |
These are the results of a ctwas
analysis of the UK Biobank trait LDL direct
using Liver
gene weights.
The GWAS was conducted by the Neale Lab, and the biomarker traits we analyzed are discussed here. Summary statistics were obtained from IEU OpenGWAS using GWAS ID: ukb-d-30780_irnt
. Results were obtained from from IEU rather than Neale Lab because they are in a standardard format (GWAS VCF). Note that 3 of the 34 biomarker traits were not available from IEU and were excluded from analysis.
The weights are mashr GTEx v8 models on Liver
eQTL obtained from PredictDB. We performed a full harmonization of the variants, including recovering strand ambiguous variants. This procedure is discussed in a separate document. (TO-DO: add report that describes harmonization)
LD matrices were computed from a 10% subset of Neale lab subjects. Subjects were matched using the plate and well information from genotyping. We included only biallelic variants with MAF>0.01 in the original Neale Lab GWAS. (TO-DO: add more details [number of subjects, variants, etc])
TO-DO: add enhanced QC reporting (total number of weights, why each variant was missing for all genes)
qclist_all <- list()
qc_files <- paste0(results_dir, "/", list.files(results_dir, pattern="exprqc.Rd"))
for (i in 1:length(qc_files)){
load(qc_files[i])
chr <- unlist(strsplit(rev(unlist(strsplit(qc_files[i], "_")))[1], "[.]"))[1]
qclist_all[[chr]] <- cbind(do.call(rbind, lapply(qclist,unlist)), as.numeric(substring(chr,4)))
}
qclist_all <- data.frame(do.call(rbind, qclist_all))
colnames(qclist_all)[ncol(qclist_all)] <- "chr"
rm(qclist, wgtlist, z_gene_chr)
#load information for all genes
sqlite <- RSQLite::dbDriver("SQLite")
#db = RSQLite::dbConnect(sqlite, paste0("/project2/compbio/predictdb/mashr_models/mashr_", weight, ".db"))
db = RSQLite::dbConnect(sqlite, "/project2/mstephens/wcrouse/predictdb/mashr_Liver_nolnc.db")
query <- function(...) RSQLite::dbGetQuery(db, ...)
gene_info <- query("select gene, genename, gene_type from extra")
RSQLite::dbDisconnect(db)
#number of weights in database
nrow(gene_info)
[1] 11502
#number of imputed weights
nrow(qclist_all)
[1] 9881
#number of imputed weights by chromosome
table(qclist_all$chr)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
988 679 612 373 438 554 501 359 370 397 595 561 163 329 313 480 601 133
19 20 21 22
816 270 92 257
#proportion of imputed weights without missing variants
mean(qclist_all$nmiss==0)
[1] 0.8344297
library(ggplot2)
library(cowplot)
load(paste0(results_dir, "/", analysis_id, "_ctwas.s2.susieIrssres.Rd"))
group_size <- c(nrow(ctwas_gene_res), n_snps)
#estimated group prior (all iterations)
estimated_group_prior_all <- group_prior_rec
rownames(estimated_group_prior_all) <- c("gene", "snp")
estimated_group_prior_all["snp",] <- estimated_group_prior_all["snp",]*thin #adjust parameter to account for thin argument
#estimated group prior variance (all iterations)
estimated_group_prior_var_all <- group_prior_var_rec
rownames(estimated_group_prior_var_all) <- c("gene", "snp")
#estimated group PVE (all iterations)
estimated_group_pve_all <- estimated_group_prior_var_all*estimated_group_prior_all*group_size/sample_size #check PVE calculation
rownames(estimated_group_pve_all) <- c("gene", "snp")
#estimated enrichment of genes (all iterations)
estimated_enrichment_all <- estimated_group_prior_all["gene",]/estimated_group_prior_all["snp",]
title_size <- 12
df <- data.frame(niter = rep(1:ncol(estimated_group_prior_all), 2),
value = c(estimated_group_prior_all["gene",], estimated_group_prior_all["snp",]),
group = rep(c("Gene", "SNP"), each = ncol(estimated_group_prior_all)))
df$group <- as.factor(df$group)
p_pi <- ggplot(df, aes(x=niter, y=value, group=group)) +
geom_line(aes(color=group)) +
geom_point(aes(color=group)) +
xlab("Iteration") + ylab(bquote(pi)) +
ggtitle("Proportion Causal") +
theme_cowplot()
p_pi <- p_pi + theme(plot.title=element_text(size=title_size)) +
expand_limits(y=0) +
guides(color = guide_legend(title = "Group")) + theme (legend.title = element_text(size=12, face="bold"))
df <- data.frame(niter = rep(1:ncol(estimated_group_prior_var_all ), 2),
value = c(estimated_group_prior_var_all["gene",], estimated_group_prior_var_all["snp",]),
group = rep(c("Gene", "SNP"), each = ncol(estimated_group_prior_var_all)))
df$group <- as.factor(df$group)
p_sigma2 <- ggplot(df, aes(x=niter, y=value, group=group)) +
geom_line(aes(color=group)) +
geom_point(aes(color=group)) +
xlab("Iteration") + ylab(bquote(sigma^2)) +
ggtitle("Effect Size") +
theme_cowplot()
p_sigma2 <- p_sigma2 + theme(plot.title=element_text(size=title_size)) +
expand_limits(y=0) +
guides(color = guide_legend(title = "Group")) + theme (legend.title = element_text(size=12, face="bold"))
df <- data.frame(niter = rep(1:ncol(estimated_group_pve_all ), 2),
value = c(estimated_group_pve_all["gene",], estimated_group_pve_all["snp",]),
group = rep(c("Gene", "SNP"), each = ncol(estimated_group_pve_all)))
df$group <- as.factor(df$group)
p_pve <- ggplot(df, aes(x=niter, y=value, group=group)) +
geom_line(aes(color=group)) +
geom_point(aes(color=group)) +
xlab("Iteration") + ylab(bquote(h^2[G])) +
ggtitle("PVE") +
theme_cowplot()
p_pve <- p_pve + theme(plot.title=element_text(size=title_size)) +
expand_limits(y=0) +
guides(color = guide_legend(title = "Group")) + theme (legend.title = element_text(size=12, face="bold"))
df <- data.frame(niter = 1:length(estimated_enrichment_all),
value = estimated_enrichment_all,
group = rep("Gene", length(estimated_enrichment_all)))
df$group <- as.factor(df$group)
p_enrich <- ggplot(df, aes(x=niter, y=value, group=group)) +
geom_line(aes(color=group)) +
geom_point(aes(color=group)) +
xlab("Iteration") + ylab(bquote(pi[G]/pi[S])) +
ggtitle("Enrichment") +
theme_cowplot()
p_enrich <- p_enrich + theme(plot.title=element_text(size=title_size)) +
expand_limits(y=0) +
guides(color = guide_legend(title = "Group")) + theme (legend.title = element_text(size=12, face="bold"))
plot_grid(p_pi, p_sigma2, p_enrich, p_pve)
####################
pdf(file = "output/LDL_parameters.pdf", width = 6, height = 4)
plot_grid(p_pi, p_sigma2, p_enrich, p_pve)
dev.off()
png
2
####################
#estimated group prior
estimated_group_prior <- estimated_group_prior_all[,ncol(group_prior_rec)]
print(estimated_group_prior)
gene snp
0.0107220302 0.0001715896
#estimated group prior variance
estimated_group_prior_var <- estimated_group_prior_var_all[,ncol(group_prior_var_rec)]
print(estimated_group_prior_var)
gene snp
41.327666 9.977841
#estimated enrichment
estimated_enrichment <- estimated_enrichment_all[ncol(group_prior_var_rec)]
print(estimated_enrichment)
[1] 62.48649
#report sample size
print(sample_size)
[1] 343621
#report group size
print(group_size)
[1] 9881 8696600
#estimated group PVE
estimated_group_pve <- estimated_group_pve_all[,ncol(group_prior_rec)] #check PVE calculation
print(estimated_group_pve)
gene snp
0.01274204 0.04333086
#compare sum(PIP*mu2/sample_size) with above PVE calculation
#c(sum(ctwas_gene_res$PVE),sum(ctwas_snp_res$PVE))
#total PVE
sum(estimated_group_pve)
[1] 0.0560729
#PVE attributable to gene expression
estimated_group_pve["gene"]/sum(estimated_group_pve)
gene
0.2272407
#distribution of PIPs
hist(ctwas_gene_res$susie_pip, xlim=c(0,1), main="Distribution of Gene PIPs")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#genes with PIP>0.8 or 20 highest PIPs
head(ctwas_gene_res[order(-ctwas_gene_res$susie_pip),report_cols], max(sum(ctwas_gene_res$susie_pip>0.8), 20))
genename region_tag susie_pip mu2 PVE z
4433 PSRC1 1_67 1.0000000 1667.48423 4.852684e-03 -41.687336
11327 HPR 16_38 0.9999997 162.98924 4.743284e-04 -17.962770
3720 INSIG2 2_69 0.9999957 68.37263 1.989760e-04 -8.982702
5561 ABCG8 2_27 0.9999453 312.10767 9.082407e-04 -20.293982
5988 FADS1 11_34 0.9998404 163.46291 4.756311e-04 12.926351
10612 TRIM39 6_24 0.9985885 71.89752 2.089396e-04 8.840164
7405 ABCA1 9_53 0.9955314 70.13575 2.031958e-04 7.982017
8523 TNKS 8_12 0.9910883 76.13390 2.195891e-04 11.038564
9365 GAS6 13_62 0.9883382 71.11508 2.045444e-04 -8.923688
1597 PLTP 20_28 0.9883283 61.28528 1.762697e-04 -5.732491
1999 PRKD2 19_33 0.9871587 29.99928 8.618229e-05 5.072217
7036 INHBB 2_70 0.9825109 73.79864 2.110115e-04 -8.518936
5542 CNIH4 1_114 0.9789702 40.69262 1.159326e-04 6.145535
2092 SP4 7_19 0.9759456 101.98305 2.896502e-04 10.693191
6090 CSNK1G3 5_75 0.9745191 83.85862 2.378255e-04 9.116291
11257 CYP2A6 19_28 0.9650551 31.87939 8.953286e-05 5.407028
8853 FUT2 19_33 0.9641649 104.43211 2.930257e-04 -11.927107
3247 KDSR 18_35 0.9602264 24.59603 6.873200e-05 -4.526287
233 NPC1L1 7_32 0.9515004 86.82732 2.404283e-04 -10.761931
4702 DDX56 7_32 0.9495892 59.83144 1.653429e-04 9.641861
6387 TTC39B 9_13 0.9450026 23.14602 6.365459e-05 -4.334495
1114 SRRT 7_62 0.9405116 32.60063 8.922992e-05 5.424996
6774 PKN3 9_66 0.9380390 47.46054 1.295609e-04 -6.620563
3300 C10orf88 10_77 0.9371487 37.07672 1.011184e-04 -6.787850
6217 PELO 5_31 0.9363014 70.56030 1.922633e-04 8.288398
8571 STAT5B 17_25 0.9336311 30.56463 8.304523e-05 5.426252
3562 ACVR1C 2_94 0.9320372 25.78698 6.994458e-05 -4.687370
6953 USP1 1_39 0.8941255 252.81074 6.578309e-04 16.258211
9046 KLHDC7A 1_13 0.8393363 22.17420 5.416319e-05 4.124187
8918 CRACR2B 11_1 0.8274447 21.52123 5.182346e-05 -3.989585
9054 SPTY2D1 11_13 0.8251281 33.41511 8.023883e-05 -5.557123
8411 POP7 7_62 0.8234854 40.37437 9.675691e-05 -5.845258
5413 SYTL1 1_19 0.8163154 22.15199 5.262488e-05 -3.962854
6097 ALLC 2_2 0.8133753 28.04053 6.637393e-05 4.919066
3212 CCND2 12_4 0.8041948 22.63603 5.297633e-05 -4.065830
num_eqtl
4433 1
11327 2
3720 3
5561 1
5988 2
10612 3
7405 1
8523 2
9365 1
1597 1
1999 2
7036 1
5542 2
2092 1
6090 1
11257 1
8853 1
3247 1
233 1
4702 2
6387 3
1114 2
6774 1
3300 2
6217 2
8571 2
3562 2
6953 1
9046 1
8918 1
9054 1
8411 1
5413 1
6097 1
3212 1
#plot PIP vs effect size
plot(ctwas_gene_res$susie_pip, ctwas_gene_res$mu2, xlab="PIP", ylab="mu^2", main="Gene PIPs vs Effect Size")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#genes with 20 largest effect sizes
head(ctwas_gene_res[order(-ctwas_gene_res$mu2),report_cols],20)
genename region_tag susie_pip mu2 PVE z
4433 PSRC1 1_67 1.000000e+00 1667.4842 4.852684e-03 -41.687336
5434 PSMA5 1_67 9.264375e-03 1162.0701 3.133060e-05 -34.708299
4560 SRPK2 7_65 0.000000e+00 543.0079 0.000000e+00 -1.462246
6966 ATXN7L2 1_67 1.119268e-02 324.7808 1.057900e-05 -18.080287
5561 ABCG8 2_27 9.999453e-01 312.1077 9.082407e-04 -20.293982
5375 GEMIN7 19_32 0.000000e+00 281.9838 0.000000e+00 14.093217
6953 USP1 1_39 8.941255e-01 252.8107 6.578309e-04 16.258211
4315 ANGPTL3 1_39 1.167594e-01 248.5948 8.447035e-05 16.132229
3441 POLK 5_45 4.653312e-03 218.9507 2.965028e-06 17.515765
781 PVR 19_32 0.000000e+00 165.8301 0.000000e+00 -6.112699
5988 FADS1 11_34 9.998404e-01 163.4629 4.756311e-04 12.926351
11327 HPR 16_38 9.999997e-01 162.9892 4.743284e-04 -17.962770
5238 NLRC5 16_31 9.529543e-02 158.4125 4.393207e-05 11.860211
538 ZNF112 19_32 0.000000e+00 146.1105 0.000000e+00 10.386054
7950 FEN1 11_34 6.053442e-03 144.3035 2.542140e-06 12.072635
4505 FADS2 11_34 6.053442e-03 144.3035 2.542140e-06 12.072635
9948 ANKDD1B 5_45 3.581713e-03 144.2852 1.503948e-06 15.121324
2465 APOA5 11_70 3.587081e-02 144.1726 1.505027e-05 -11.359910
1930 PPP1R37 19_32 0.000000e+00 141.9752 0.000000e+00 -13.375359
4112 ATG4D 19_9 1.354472e-13 133.9495 5.279971e-17 -9.701891
num_eqtl
4433 1
5434 2
4560 1
6966 2
5561 1
5375 2
6953 1
4315 1
3441 1
781 2
5988 2
11327 2
5238 1
538 1
7950 1
4505 1
9948 2
2465 1
1930 2
4112 1
#genes with 20 highest pve
head(ctwas_gene_res[order(-ctwas_gene_res$PVE),report_cols],20)
genename region_tag susie_pip mu2 PVE z
4433 PSRC1 1_67 1.0000000 1667.48423 0.0048526843 -41.687336
5561 ABCG8 2_27 0.9999453 312.10767 0.0009082407 -20.293982
6953 USP1 1_39 0.8941255 252.81074 0.0006578309 16.258211
5988 FADS1 11_34 0.9998404 163.46291 0.0004756311 12.926351
11327 HPR 16_38 0.9999997 162.98924 0.0004743284 -17.962770
8853 FUT2 19_33 0.9641649 104.43211 0.0002930257 -11.927107
2092 SP4 7_19 0.9759456 101.98305 0.0002896502 10.693191
233 NPC1L1 7_32 0.9515004 86.82732 0.0002404283 -10.761931
6090 CSNK1G3 5_75 0.9745191 83.85862 0.0002378255 9.116291
8523 TNKS 8_12 0.9910883 76.13390 0.0002195891 11.038564
7036 INHBB 2_70 0.9825109 73.79864 0.0002110115 -8.518936
10612 TRIM39 6_24 0.9985885 71.89752 0.0002089396 8.840164
9365 GAS6 13_62 0.9883382 71.11508 0.0002045444 -8.923688
7405 ABCA1 9_53 0.9955314 70.13575 0.0002031958 7.982017
3720 INSIG2 2_69 0.9999957 68.37263 0.0001989760 -8.982702
6217 PELO 5_31 0.9363014 70.56030 0.0001922633 8.288398
1597 PLTP 20_28 0.9883283 61.28528 0.0001762697 -5.732491
4702 DDX56 7_32 0.9495892 59.83144 0.0001653429 9.641861
6774 PKN3 9_66 0.9380390 47.46054 0.0001295609 -6.620563
5542 CNIH4 1_114 0.9789702 40.69262 0.0001159326 6.145535
num_eqtl
4433 1
5561 1
6953 1
5988 2
11327 2
8853 1
2092 1
233 1
6090 1
8523 2
7036 1
10612 3
9365 1
7405 1
3720 3
6217 2
1597 1
4702 2
6774 1
5542 2
#genes with 20 largest z scores
head(ctwas_gene_res[order(-abs(ctwas_gene_res$z)),report_cols],20)
genename region_tag susie_pip mu2 PVE z
4433 PSRC1 1_67 1.000000e+00 1667.48423 4.852684e-03 -41.68734
5434 PSMA5 1_67 9.264375e-03 1162.07005 3.133060e-05 -34.70830
5561 ABCG8 2_27 9.999453e-01 312.10767 9.082407e-04 -20.29398
6966 ATXN7L2 1_67 1.119268e-02 324.78078 1.057900e-05 -18.08029
11327 HPR 16_38 9.999997e-01 162.98924 4.743284e-04 -17.96277
3441 POLK 5_45 4.653312e-03 218.95073 2.965028e-06 17.51576
6953 USP1 1_39 8.941255e-01 252.81074 6.578309e-04 16.25821
4315 ANGPTL3 1_39 1.167594e-01 248.59480 8.447035e-05 16.13223
9948 ANKDD1B 5_45 3.581713e-03 144.28516 1.503948e-06 15.12132
5375 GEMIN7 19_32 0.000000e+00 281.98379 0.000000e+00 14.09322
1930 PPP1R37 19_32 0.000000e+00 141.97523 0.000000e+00 -13.37536
5988 FADS1 11_34 9.998404e-01 163.46291 4.756311e-04 12.92635
11479 ZNF229 19_32 0.000000e+00 120.88406 0.000000e+00 12.62710
4505 FADS2 11_34 6.053442e-03 144.30348 2.542140e-06 12.07264
7950 FEN1 11_34 6.053442e-03 144.30348 2.542140e-06 12.07264
4111 YIPF2 19_9 2.864533e-09 127.22135 1.060557e-12 11.94206
8853 FUT2 19_33 9.641649e-01 104.43211 2.930257e-04 -11.92711
5381 CARM1 19_9 2.526279e-10 110.54593 8.127265e-14 -11.86474
5238 NLRC5 16_31 9.529543e-02 158.41245 4.393207e-05 11.86021
1053 APOB 2_13 1.750222e-11 62.37857 3.177232e-15 -11.72589
num_eqtl
4433 1
5434 2
5561 1
6966 2
11327 2
3441 1
6953 1
4315 1
9948 2
5375 2
1930 2
5988 2
11479 2
4505 1
7950 1
4111 1
8853 1
5381 2
5238 1
1053 1
#set nominal signifiance threshold for z scores
alpha <- 0.05
#bonferroni adjusted threshold for z scores
sig_thresh <- qnorm(1-(alpha/nrow(ctwas_gene_res)/2), lower=T)
#Q-Q plot for z scores
obs_z <- ctwas_gene_res$z[order(ctwas_gene_res$z)]
exp_z <- qnorm((1:nrow(ctwas_gene_res))/nrow(ctwas_gene_res))
plot(exp_z, obs_z, xlab="Expected z", ylab="Observed z", main="Gene z score Q-Q plot")
abline(a=0,b=1)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#plot z score vs PIP
plot(abs(ctwas_gene_res$z), ctwas_gene_res$susie_pip, xlab="abs(z)", ylab="PIP")
abline(v=sig_thresh, col="red", lty=2)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#number of significant z scores
sum(abs(ctwas_gene_res$z) > sig_thresh)
[1] 215
#proportion of significant z scores
mean(abs(ctwas_gene_res$z) > sig_thresh)
[1] 0.02175893
#genes with most significant z scores
head(ctwas_gene_res[order(-abs(ctwas_gene_res$z)),report_cols],20)
genename region_tag susie_pip mu2 PVE z
4433 PSRC1 1_67 1.000000e+00 1667.48423 4.852684e-03 -41.68734
5434 PSMA5 1_67 9.264375e-03 1162.07005 3.133060e-05 -34.70830
5561 ABCG8 2_27 9.999453e-01 312.10767 9.082407e-04 -20.29398
6966 ATXN7L2 1_67 1.119268e-02 324.78078 1.057900e-05 -18.08029
11327 HPR 16_38 9.999997e-01 162.98924 4.743284e-04 -17.96277
3441 POLK 5_45 4.653312e-03 218.95073 2.965028e-06 17.51576
6953 USP1 1_39 8.941255e-01 252.81074 6.578309e-04 16.25821
4315 ANGPTL3 1_39 1.167594e-01 248.59480 8.447035e-05 16.13223
9948 ANKDD1B 5_45 3.581713e-03 144.28516 1.503948e-06 15.12132
5375 GEMIN7 19_32 0.000000e+00 281.98379 0.000000e+00 14.09322
1930 PPP1R37 19_32 0.000000e+00 141.97523 0.000000e+00 -13.37536
5988 FADS1 11_34 9.998404e-01 163.46291 4.756311e-04 12.92635
11479 ZNF229 19_32 0.000000e+00 120.88406 0.000000e+00 12.62710
4505 FADS2 11_34 6.053442e-03 144.30348 2.542140e-06 12.07264
7950 FEN1 11_34 6.053442e-03 144.30348 2.542140e-06 12.07264
4111 YIPF2 19_9 2.864533e-09 127.22135 1.060557e-12 11.94206
8853 FUT2 19_33 9.641649e-01 104.43211 2.930257e-04 -11.92711
5381 CARM1 19_9 2.526279e-10 110.54593 8.127265e-14 -11.86474
5238 NLRC5 16_31 9.529543e-02 158.41245 4.393207e-05 11.86021
1053 APOB 2_13 1.750222e-11 62.37857 3.177232e-15 -11.72589
num_eqtl
4433 1
5434 2
5561 1
6966 2
11327 2
3441 1
6953 1
4315 1
9948 2
5375 2
1930 2
5988 2
11479 2
4505 1
7950 1
4111 1
8853 1
5381 2
5238 1
1053 1
#snps with PIP>0.8 or 20 highest PIPs
head(ctwas_snp_res[order(-ctwas_snp_res$susie_pip),report_cols_snps],
max(sum(ctwas_snp_res$susie_pip>0.8), 20))
id region_tag susie_pip mu2 PVE
14015 rs2495502 1_34 1.0000000 286.99710 8.352141e-04
56552 rs6663780 1_121 1.0000000 106.62747 3.103055e-04
68385 rs1042034 2_13 1.0000000 234.09703 6.812652e-04
68391 rs934197 2_13 1.0000000 415.32914 1.208684e-03
70121 rs780093 2_16 1.0000000 161.13186 4.689232e-04
365222 rs12208357 6_103 1.0000000 236.08423 6.870483e-04
401871 rs763798411 7_65 1.0000000 3592.88978 1.045597e-02
753025 rs113408695 17_39 1.0000000 143.73673 4.183002e-04
786441 rs73013176 19_9 1.0000000 237.87779 6.922679e-04
796582 rs62117204 19_32 1.0000000 825.54026 2.402473e-03
796600 rs111794050 19_32 1.0000000 765.11398 2.226622e-03
796633 rs814573 19_32 1.0000000 2209.85878 6.431093e-03
796635 rs113345881 19_32 1.0000000 773.94901 2.252333e-03
796638 rs12721109 19_32 1.0000000 1344.10751 3.911599e-03
1028829 rs964184 11_70 1.0000000 239.77236 6.977815e-04
56551 rs678615 1_121 1.0000000 121.55865 3.537579e-04
753051 rs8070232 17_39 1.0000000 145.52150 4.234942e-04
789251 rs2285626 19_15 1.0000000 247.61153 7.205949e-04
806910 rs34507316 20_13 1.0000000 78.76491 2.292203e-04
68336 rs11679386 2_12 1.0000000 128.41716 3.737174e-04
68394 rs548145 2_13 1.0000000 658.17542 1.915411e-03
68471 rs1848922 2_13 1.0000000 230.23537 6.700271e-04
499867 rs115478735 9_70 1.0000000 303.29938 8.826567e-04
1103239 rs1800961 20_28 1.0000000 71.00801 2.066463e-04
752109 rs1801689 17_38 1.0000000 79.97216 2.327336e-04
796296 rs73036721 19_30 1.0000000 57.51060 1.673664e-04
75799 rs72800939 2_28 1.0000000 55.32701 1.610117e-04
439673 rs4738679 8_45 1.0000000 106.99651 3.113794e-04
786479 rs137992968 19_9 1.0000000 112.96914 3.287609e-04
365406 rs56393506 6_104 1.0000000 94.56244 2.751940e-04
582496 rs4937122 11_77 0.9999999 77.21081 2.246976e-04
14026 rs10888896 1_34 0.9999999 132.04631 3.842789e-04
7471 rs79598313 1_18 0.9999997 46.42506 1.351054e-04
459334 rs13252684 8_83 0.9999992 218.85277 6.369011e-04
438278 rs140753685 8_42 0.9999981 54.49302 1.585844e-04
796341 rs62115478 19_30 0.9999961 180.28377 5.246567e-04
52932 rs2807848 1_112 0.9999942 54.96792 1.599658e-04
789276 rs3794991 19_15 0.9999926 212.43646 6.182244e-04
1057532 rs9302635 16_38 0.9999899 162.69359 4.734634e-04
13985 rs11580527 1_34 0.9999830 87.90228 2.558074e-04
14033 rs471705 1_34 0.9999654 208.19757 6.058721e-04
346659 rs9496567 6_67 0.9999511 38.39605 1.117341e-04
786505 rs4804149 19_10 0.9998575 45.49753 1.323873e-04
56507 rs6586405 1_121 0.9998317 48.86394 1.421791e-04
365370 rs117733303 6_104 0.9998041 106.90183 3.110429e-04
806909 rs6075251 20_13 0.9997802 51.85898 1.508860e-04
786465 rs3745677 19_9 0.9997657 89.08265 2.591861e-04
538221 rs17875416 10_71 0.9992144 37.24525 1.083053e-04
786470 rs1569372 19_9 0.9991585 270.60543 7.868486e-04
786558 rs322144 19_10 0.9989880 54.91782 1.596592e-04
602922 rs7397189 12_36 0.9988920 33.53838 9.749467e-05
789235 rs12981966 19_15 0.9988181 91.60222 2.662642e-04
786462 rs147985405 19_9 0.9985032 2253.19544 6.547396e-03
428005 rs1495743 8_20 0.9975597 40.17839 1.166411e-04
788916 rs2302209 19_14 0.9966931 42.21071 1.224347e-04
278851 rs7701166 5_45 0.9961665 32.40795 9.395152e-05
321530 rs454182 6_22 0.9959102 31.82743 9.224484e-05
439641 rs56386732 8_45 0.9953445 34.23091 9.915442e-05
400801 rs3197597 7_61 0.9952848 32.12065 9.303621e-05
811863 rs76981217 20_24 0.9949357 35.11529 1.016744e-04
619506 rs653178 12_67 0.9920576 91.86316 2.652153e-04
607288 rs148481241 12_44 0.9920544 27.01741 7.800088e-05
321967 rs3130253 6_23 0.9892656 28.55657 8.221277e-05
278792 rs10062361 5_45 0.9846267 200.70068 5.750965e-04
401882 rs4997569 7_65 0.9845677 3617.25546 1.036442e-02
136943 rs709149 3_9 0.9845547 35.30220 1.011491e-04
728412 rs4396539 16_37 0.9817354 26.90321 7.686328e-05
143953 rs9834932 3_24 0.9789886 64.98127 1.851340e-04
623595 rs11057830 12_76 0.9786700 25.42090 7.240149e-05
811814 rs6029132 20_24 0.9783552 38.74606 1.103175e-04
811867 rs73124945 20_24 0.9778981 32.09379 9.133450e-05
243404 rs114756490 4_100 0.9653813 25.82273 7.254730e-05
317444 rs11376017 6_13 0.9635037 64.62667 1.812114e-04
459323 rs79658059 8_83 0.9624804 261.09857 7.313356e-04
563573 rs6591179 11_36 0.9598170 25.89157 7.232146e-05
385033 rs141379002 7_33 0.9586884 25.11538 7.007087e-05
819868 rs62219001 21_2 0.9586550 25.72685 7.177434e-05
220675 rs1458038 4_54 0.9581071 51.32652 1.431120e-04
474581 rs1556516 9_16 0.9546092 71.80985 1.994940e-04
756184 rs4969183 17_44 0.9522531 47.99929 1.330171e-04
588405 rs11048034 12_9 0.9502404 34.89295 9.649203e-05
467386 rs7024888 9_3 0.9475179 25.76971 7.105870e-05
320991 rs75080831 6_19 0.9420361 55.74128 1.528146e-04
321938 rs28986304 6_23 0.9408850 42.13054 1.153596e-04
622460 rs1169300 12_74 0.9406214 66.79549 1.828447e-04
617599 rs1196760 12_63 0.9383611 25.44878 6.949559e-05
423682 rs117037226 8_11 0.9310119 23.96082 6.491981e-05
68388 rs78610189 2_13 0.9204703 58.47342 1.566349e-04
349395 rs12199109 6_73 0.9195965 24.42341 6.536178e-05
1065749 rs2908806 17_7 0.9171216 36.50956 9.744372e-05
192300 rs5855544 3_120 0.9167011 23.61656 6.300350e-05
14016 rs1887552 1_34 0.9064703 330.20033 8.710666e-04
365216 rs9456502 6_103 0.9052395 32.60922 8.590615e-05
194087 rs36205397 4_4 0.8932880 37.55173 9.762067e-05
504817 rs10905277 10_8 0.8903269 27.59299 7.149383e-05
724520 rs821840 16_31 0.8878914 154.93188 4.003326e-04
537932 rs12244851 10_70 0.8855890 35.72294 9.206609e-05
802555 rs74273659 20_5 0.8851222 24.40137 6.285470e-05
786546 rs322125 19_10 0.8846739 99.09527 2.551270e-04
800365 rs34003091 19_39 0.8815594 102.06758 2.618543e-04
576213 rs201912654 11_59 0.8681341 39.43808 9.963751e-05
789325 rs12984303 19_15 0.8653859 24.54116 6.180523e-05
815366 rs10641149 20_32 0.8639875 26.86655 6.755224e-05
196312 rs2002574 4_10 0.8615201 24.62530 6.174008e-05
68188 rs6531234 2_12 0.8549745 41.81466 1.040404e-04
827109 rs2835302 21_17 0.8525972 25.63571 6.360768e-05
786515 rs58495388 19_10 0.8496784 33.39207 8.256924e-05
119040 rs7569317 2_120 0.8469984 43.27348 1.066657e-04
839197 rs145678077 22_17 0.8465253 24.88744 6.131130e-05
482567 rs11144506 9_35 0.8444144 26.76552 6.577360e-05
811832 rs6102034 20_24 0.8439562 95.52525 2.346164e-04
355598 rs9321207 6_86 0.8410254 30.21557 7.395375e-05
582499 rs74612335 11_77 0.8387055 75.30505 1.838035e-04
278815 rs3843482 5_45 0.8346728 392.83699 9.542209e-04
810608 rs11167269 20_21 0.8279717 55.67410 1.341495e-04
935231 rs535137438 5_31 0.8239548 31.28269 7.501148e-05
532111 rs10882161 10_59 0.8111179 29.51520 6.967067e-05
753036 rs9303012 17_39 0.8105476 136.90297 3.229325e-04
806890 rs78348000 20_13 0.8038932 29.88634 6.991839e-05
z
14015 -6.292225
56552 -7.904745
68385 -16.573036
68391 -33.060888
70121 14.142603
365222 -12.282337
401871 -3.272149
753025 -12.768796
786441 16.232742
796582 44.672230
796600 33.599649
796633 -55.537887
796635 34.318568
796638 46.325818
1028829 16.661098
56551 -9.275730
753051 8.091491
789251 18.215134
806910 6.814661
68336 -11.909428
68394 -33.086010
68471 -25.412292
499867 -19.011790
1103239 8.896957
752109 -9.396430
796296 7.787947
75799 7.845728
439673 11.699924
786479 10.752566
365406 -14.088321
582496 -12.147947
14026 -11.893801
7471 -7.024638
459334 -11.964411
438278 -7.799241
796341 14.326186
52932 7.882775
789276 21.492060
1057532 13.839259
13985 11.167216
14033 -16.262997
346659 6.340216
786505 -6.519414
56507 -8.960936
365370 -10.097959
806909 2.329832
786465 -9.335807
538221 6.266313
786470 -10.005506
786558 -3.946578
602922 5.770964
789235 -1.822895
786462 48.935175
428005 6.515969
788916 -6.636049
278851 2.484790
321530 -4.779053
439641 7.012272
400801 5.045242
811863 -7.692477
619506 -11.050062
607288 -5.095452
321967 -5.641451
278792 -20.320600
401882 2.984117
136943 6.781974
728412 5.232860
143953 8.481579
623595 -4.929635
811814 6.762459
811867 7.775426
243404 -4.988910
317444 8.507919
459323 16.022043
563573 -4.893333
385033 -4.896981
819868 4.948445
220675 7.417851
474581 8.992146
756184 -7.169275
588405 -6.133690
467386 5.055827
320991 7.906709
321938 -7.382502
622460 -8.685477
617599 4.866700
423682 -4.192202
68388 8.385467
349395 -4.857045
1065749 6.026359
192300 4.593724
14016 9.868570
365216 -5.963991
194087 -6.159378
504817 -5.125802
724520 13.475251
537932 4.883085
802555 -4.646762
786546 7.470403
800365 10.423688
576213 6.305597
789325 -4.516645
815366 -5.075761
196312 4.558284
68188 7.170830
827109 4.653743
786515 -5.531347
119040 -7.900653
839197 4.868601
482567 -5.042667
811832 11.189979
355598 -5.401634
582499 -11.904831
278815 -25.034352
810608 7.795037
935231 5.067634
532111 5.475649
753036 -2.259115
806890 -5.220624
#plot PIP vs effect size
#plot(ctwas_snp_res$susie_pip, ctwas_snp_res$mu2, xlab="PIP", ylab="mu^2", main="SNP PIPs vs Effect Size")
#SNPs with 50 largest effect sizes
head(ctwas_snp_res[order(-ctwas_snp_res$mu2),report_cols_snps],50)
id region_tag susie_pip mu2 PVE
401882 rs4997569 7_65 9.845677e-01 3617.255 1.036442e-02
401874 rs10274607 7_65 6.321929e-02 3607.263 6.636632e-04
401877 rs13230660 7_65 1.687828e-01 3604.329 1.770406e-03
401889 rs6952534 7_65 6.430248e-03 3602.421 6.741282e-05
401888 rs4730069 7_65 1.566455e-03 3598.920 1.640629e-05
401871 rs763798411 7_65 1.000000e+00 3592.890 1.045597e-02
401881 rs10242713 7_65 4.290117e-05 3585.468 4.476467e-07
401884 rs10249965 7_65 4.666066e-07 3556.816 4.829838e-09
401896 rs1013016 7_65 0.000000e+00 3402.193 0.000000e+00
401921 rs8180737 7_65 0.000000e+00 3241.845 0.000000e+00
401914 rs17778396 7_65 0.000000e+00 3240.143 0.000000e+00
401915 rs2237621 7_65 0.000000e+00 3238.841 0.000000e+00
401948 rs10224564 7_65 0.000000e+00 3232.718 0.000000e+00
401886 rs71562637 7_65 0.000000e+00 3232.167 0.000000e+00
401933 rs10255779 7_65 0.000000e+00 3231.639 0.000000e+00
401950 rs78132606 7_65 0.000000e+00 3215.365 0.000000e+00
401953 rs4610671 7_65 0.000000e+00 3210.139 0.000000e+00
401955 rs12669532 7_65 0.000000e+00 3079.625 0.000000e+00
401912 rs2237618 7_65 0.000000e+00 3022.622 0.000000e+00
401957 rs118089279 7_65 0.000000e+00 2997.766 0.000000e+00
401944 rs73188303 7_65 0.000000e+00 2989.720 0.000000e+00
401954 rs560364150 7_65 0.000000e+00 2366.905 0.000000e+00
786462 rs147985405 19_9 9.985032e-01 2253.195 6.547396e-03
786457 rs73015020 19_9 8.773660e-04 2241.235 5.722534e-06
786455 rs138175288 19_9 4.129240e-04 2239.437 2.691097e-06
786458 rs77140532 19_9 6.161484e-05 2236.039 4.009453e-07
786456 rs138294113 19_9 1.015353e-04 2235.454 6.605457e-07
786460 rs10412048 19_9 1.267687e-05 2232.756 8.237085e-08
786459 rs112552009 19_9 3.077278e-05 2231.793 1.998669e-07
786454 rs55997232 19_9 1.025707e-08 2212.279 6.603640e-11
796633 rs814573 19_32 1.000000e+00 2209.859 6.431093e-03
401940 rs10261738 7_65 0.000000e+00 1953.576 0.000000e+00
786463 rs17248769 19_9 9.170745e-07 1697.123 4.529375e-09
786464 rs2228671 19_9 6.338472e-07 1686.055 3.110117e-09
796628 rs34878901 19_32 0.000000e+00 1535.525 0.000000e+00
401895 rs368909701 7_65 0.000000e+00 1476.665 0.000000e+00
874194 rs12740374 1_67 5.592516e-04 1454.310 2.366926e-06
874190 rs7528419 1_67 5.615324e-04 1450.286 2.370002e-06
874201 rs646776 1_67 4.786622e-04 1449.026 2.018486e-06
796625 rs8106922 19_32 0.000000e+00 1446.212 0.000000e+00
874200 rs629301 1_67 4.430902e-04 1445.314 1.863694e-06
874212 rs583104 1_67 4.823891e-04 1404.982 1.972370e-06
874215 rs4970836 1_67 4.737347e-04 1402.101 1.933013e-06
874217 rs1277930 1_67 4.837541e-04 1397.429 1.967318e-06
874218 rs599839 1_67 4.984288e-04 1396.500 2.025650e-06
874198 rs3832016 1_67 3.390022e-04 1357.669 1.339420e-06
874195 rs660240 1_67 3.380049e-04 1350.508 1.328435e-06
796638 rs12721109 19_32 1.000000e+00 1344.108 3.911599e-03
874213 rs602633 1_67 3.806763e-04 1329.437 1.472801e-06
796553 rs62120566 19_32 0.000000e+00 1324.043 0.000000e+00
z
401882 2.9841166
401874 2.8669582
401877 2.9479628
401889 2.8884240
401888 2.8658735
401871 -3.2721491
401881 2.8123983
401884 2.8497381
401896 -2.3988524
401921 2.8328454
401914 2.7980012
401915 2.8029605
401948 2.7911904
401886 2.6635936
401933 2.8135791
401950 2.7728082
401953 2.7249742
401955 2.7702573
401912 2.4663255
401957 2.6667208
401944 2.4217031
401954 1.8694582
786462 48.9351750
786457 48.7956295
786455 48.7806894
786458 48.7379874
786456 48.7519286
786460 48.7012269
786459 48.7051628
786454 48.5243103
796633 -55.5378874
401940 2.6665109
786463 40.8424908
786464 40.7026250
796628 -16.3492722
401895 0.7778883
874194 41.7934744
874190 41.7369129
874201 -41.7333995
796625 -15.6770531
874200 -41.6873361
874212 -41.0870961
874215 -41.0454951
874217 -40.9759931
874218 -40.9589874
874198 -40.3959842
874195 -40.2895814
796638 46.3258178
874213 -39.9564086
796553 33.7353904
#SNPs with 50 highest pve
head(ctwas_snp_res[order(-ctwas_snp_res$PVE),report_cols_snps],50)
id region_tag susie_pip mu2 PVE
401871 rs763798411 7_65 1.00000000 3592.88978 0.0104559668
401882 rs4997569 7_65 0.98456768 3617.25546 0.0103644213
786462 rs147985405 19_9 0.99850322 2253.19544 0.0065473964
796633 rs814573 19_32 1.00000000 2209.85878 0.0064310935
796638 rs12721109 19_32 1.00000000 1344.10751 0.0039115989
796582 rs62117204 19_32 1.00000000 825.54026 0.0024024733
796635 rs113345881 19_32 1.00000000 773.94901 0.0022523333
796600 rs111794050 19_32 1.00000000 765.11398 0.0022266217
68394 rs548145 2_13 1.00000000 658.17542 0.0019154109
401877 rs13230660 7_65 0.16878277 3604.32908 0.0017704059
68391 rs934197 2_13 1.00000000 415.32914 0.0012086838
278815 rs3843482 5_45 0.83467282 392.83699 0.0009542209
499867 rs115478735 9_70 1.00000000 303.29938 0.0008826567
14016 rs1887552 1_34 0.90647029 330.20033 0.0008710666
14015 rs2495502 1_34 1.00000000 286.99710 0.0008352141
786470 rs1569372 19_9 0.99915849 270.60543 0.0007868486
459323 rs79658059 8_83 0.96248038 261.09857 0.0007313356
789251 rs2285626 19_15 1.00000000 247.61153 0.0007205949
1028829 rs964184 11_70 1.00000000 239.77236 0.0006977815
786441 rs73013176 19_9 1.00000000 237.87779 0.0006922679
365222 rs12208357 6_103 1.00000000 236.08423 0.0006870483
68385 rs1042034 2_13 1.00000000 234.09703 0.0006812652
68471 rs1848922 2_13 1.00000000 230.23537 0.0006700271
401874 rs10274607 7_65 0.06321929 3607.26329 0.0006636632
459334 rs13252684 8_83 0.99999917 218.85277 0.0006369011
789276 rs3794991 19_15 0.99999261 212.43646 0.0006182244
14033 rs471705 1_34 0.99996541 208.19757 0.0006058721
278792 rs10062361 5_45 0.98462668 200.70068 0.0005750965
796341 rs62115478 19_30 0.99999607 180.28377 0.0005246567
903299 rs6544713 2_27 0.76395969 223.71659 0.0004973807
1057532 rs9302635 16_38 0.99998991 162.69359 0.0004734634
70121 rs780093 2_16 1.00000000 161.13186 0.0004689232
753051 rs8070232 17_39 1.00000000 145.52150 0.0004234942
365236 rs3818678 6_103 0.75531839 191.77135 0.0004215354
753025 rs113408695 17_39 1.00000000 143.73673 0.0004183002
724520 rs821840 16_31 0.88789136 154.93188 0.0004003326
14026 rs10888896 1_34 0.99999991 132.04631 0.0003842789
68336 rs11679386 2_12 1.00000000 128.41716 0.0003737174
56551 rs678615 1_121 1.00000000 121.55865 0.0003537579
303694 rs12657266 5_92 0.74975933 153.87616 0.0003357481
786479 rs137992968 19_9 0.99999998 112.96914 0.0003287609
753036 rs9303012 17_39 0.81054757 136.90297 0.0003229325
439673 rs4738679 8_45 0.99999998 106.99651 0.0003113794
365370 rs117733303 6_104 0.99980408 106.90183 0.0003110429
56552 rs6663780 1_121 1.00000000 106.62747 0.0003103055
1057344 rs77303550 16_38 0.67027457 158.96533 0.0003100812
459322 rs2980875 8_83 0.56905716 184.76312 0.0003059789
365406 rs56393506 6_104 0.99999997 94.56244 0.0002751940
789235 rs12981966 19_15 0.99881814 91.60222 0.0002662642
619506 rs653178 12_67 0.99205762 91.86316 0.0002652153
z
401871 -3.272149
401882 2.984117
786462 48.935175
796633 -55.537887
796638 46.325818
796582 44.672230
796635 34.318568
796600 33.599649
68394 -33.086010
401877 2.947963
68391 -33.060888
278815 -25.034352
499867 -19.011790
14016 9.868570
14015 -6.292225
786470 -10.005506
459323 16.022043
789251 18.215134
1028829 16.661098
786441 16.232742
365222 -12.282337
68385 -16.573036
68471 -25.412292
401874 2.866958
459334 -11.964411
789276 21.492060
14033 -16.262997
278792 -20.320600
796341 14.326186
903299 20.377651
1057532 13.839259
70121 14.142603
753051 8.091491
365236 9.947776
753025 -12.768796
724520 13.475251
14026 -11.893801
68336 -11.909428
56551 -9.275730
303694 -13.894754
786479 10.752566
753036 -2.259115
439673 11.699924
365370 -10.097959
56552 -7.904745
1057344 13.732910
459322 22.102229
365406 -14.088321
789235 -1.822895
619506 -11.050062
#histogram of (abs) SNP z scores
hist(abs(ctwas_snp_res$z))
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#SNPs with 50 largest z scores
head(ctwas_snp_res[order(-abs(ctwas_snp_res$z)),report_cols_snps],50)
id region_tag susie_pip mu2 PVE
796633 rs814573 19_32 1.000000e+00 2209.8588 6.431093e-03
786462 rs147985405 19_9 9.985032e-01 2253.1954 6.547396e-03
786457 rs73015020 19_9 8.773660e-04 2241.2346 5.722534e-06
786455 rs138175288 19_9 4.129240e-04 2239.4371 2.691097e-06
786456 rs138294113 19_9 1.015353e-04 2235.4535 6.605457e-07
786458 rs77140532 19_9 6.161484e-05 2236.0394 4.009453e-07
786459 rs112552009 19_9 3.077278e-05 2231.7931 1.998669e-07
786460 rs10412048 19_9 1.267687e-05 2232.7563 8.237085e-08
786454 rs55997232 19_9 1.025707e-08 2212.2792 6.603640e-11
796638 rs12721109 19_32 1.000000e+00 1344.1075 3.911599e-03
796582 rs62117204 19_32 1.000000e+00 825.5403 2.402473e-03
796569 rs1551891 19_32 0.000000e+00 504.0832 0.000000e+00
874194 rs12740374 1_67 5.592516e-04 1454.3104 2.366926e-06
874190 rs7528419 1_67 5.615324e-04 1450.2861 2.370002e-06
874201 rs646776 1_67 4.786622e-04 1449.0264 2.018486e-06
874200 rs629301 1_67 4.430902e-04 1445.3142 1.863694e-06
874212 rs583104 1_67 4.823891e-04 1404.9815 1.972370e-06
874215 rs4970836 1_67 4.737347e-04 1402.1006 1.933013e-06
874217 rs1277930 1_67 4.837541e-04 1397.4289 1.967318e-06
874218 rs599839 1_67 4.984288e-04 1396.5000 2.025650e-06
786463 rs17248769 19_9 9.170745e-07 1697.1230 4.529375e-09
786464 rs2228671 19_9 6.338472e-07 1686.0554 3.110117e-09
874198 rs3832016 1_67 3.390022e-04 1357.6693 1.339420e-06
874195 rs660240 1_67 3.380049e-04 1350.5076 1.328435e-06
874213 rs602633 1_67 3.806763e-04 1329.4371 1.472801e-06
786453 rs9305020 19_9 4.107825e-14 1283.2915 1.534114e-16
796629 rs405509 19_32 0.000000e+00 976.7005 0.000000e+00
874181 rs4970834 1_67 7.762553e-04 1004.9324 2.270187e-06
796635 rs113345881 19_32 1.000000e+00 773.9490 2.252333e-03
796553 rs62120566 19_32 0.000000e+00 1324.0427 0.000000e+00
796600 rs111794050 19_32 1.000000e+00 765.1140 2.226622e-03
68394 rs548145 2_13 1.000000e+00 658.1754 1.915411e-03
796606 rs4802238 19_32 0.000000e+00 978.0832 0.000000e+00
68391 rs934197 2_13 1.000000e+00 415.3291 1.208684e-03
796547 rs188099946 19_32 0.000000e+00 1269.1830 0.000000e+00
796617 rs2972559 19_32 0.000000e+00 1300.7260 0.000000e+00
796541 rs201314191 19_32 0.000000e+00 1177.0634 0.000000e+00
874202 rs3902354 1_67 3.881564e-04 857.6057 9.687567e-07
874191 rs11102967 1_67 3.892898e-04 853.9876 9.674864e-07
874216 rs4970837 1_67 4.494605e-04 850.5825 1.112572e-06
796608 rs56394238 19_32 0.000000e+00 969.5597 0.000000e+00
796585 rs2965169 19_32 0.000000e+00 366.0389 0.000000e+00
796609 rs3021439 19_32 0.000000e+00 864.6707 0.000000e+00
874186 rs611917 1_67 3.676531e-04 804.7655 8.610491e-07
68421 rs12997242 2_13 4.906053e-11 383.7884 5.479543e-14
796616 rs12162222 19_32 0.000000e+00 1114.4935 0.000000e+00
68395 rs478588 2_13 1.288755e-10 606.1425 2.273345e-13
796546 rs62119327 19_32 0.000000e+00 1036.8740 0.000000e+00
68396 rs56350433 2_13 5.329404e-12 351.1632 5.446380e-15
68401 rs56079819 2_13 5.340062e-12 350.3637 5.444847e-15
z
796633 -55.53789
786462 48.93517
786457 48.79563
786455 48.78069
786456 48.75193
786458 48.73799
786459 48.70516
786460 48.70123
786454 48.52431
796638 46.32582
796582 44.67223
796569 42.26680
874194 41.79347
874190 41.73691
874201 -41.73340
874200 -41.68734
874212 -41.08710
874215 -41.04550
874217 -40.97599
874218 -40.95899
786463 40.84249
786464 40.70262
874198 -40.39598
874195 -40.28958
874213 -39.95641
786453 34.84073
796629 34.63979
874181 34.62492
796635 34.31857
796553 33.73539
796600 33.59965
68394 -33.08601
796606 -33.07569
68391 -33.06089
796547 33.04407
796617 -32.28660
796541 32.06858
874202 -32.00383
874191 -31.93893
874216 -31.85593
796608 -31.55187
796585 31.38057
796609 -31.04506
874186 30.97527
68421 -30.81528
796616 -30.49671
68395 -30.48811
796546 30.41868
68396 -30.23229
68401 -30.19307
#GO enrichment analysis
library(enrichR)
Welcome to enrichR
Checking connection ...
Enrichr ... Connection is Live!
FlyEnrichr ... Connection is available!
WormEnrichr ... Connection is available!
YeastEnrichr ... Connection is available!
FishEnrichr ... Connection is available!
dbs <- c("GO_Biological_Process_2021", "GO_Cellular_Component_2021", "GO_Molecular_Function_2021")
genes <- ctwas_gene_res$genename[ctwas_gene_res$susie_pip>0.8]
#number of genes for gene set enrichment
length(genes)
[1] 35
if (length(genes)>0){
GO_enrichment <- enrichr(genes, dbs)
for (db in dbs){
print(db)
df <- GO_enrichment[[db]]
print(plotEnrich(GO_enrichment[[db]]))
df <- df[df$Adjusted.P.value<0.05,c("Term", "Overlap", "Adjusted.P.value", "Genes")]
print(df)
}
#DisGeNET enrichment
# devtools::install_bitbucket("ibi_group/disgenet2r")
library(disgenet2r)
disgenet_api_key <- get_disgenet_api_key(
email = "wesleycrouse@gmail.com",
password = "uchicago1" )
Sys.setenv(DISGENET_API_KEY= disgenet_api_key)
res_enrich <-disease_enrichment(entities=genes, vocabulary = "HGNC",
database = "CURATED" )
df <- res_enrich@qresult[1:10, c("Description", "FDR", "Ratio", "BgRatio")]
print(df)
#WebGestalt enrichment
library(WebGestaltR)
background <- ctwas_gene_res$genename
#listGeneSet()
databases <- c("pathway_KEGG", "disease_GLAD4U", "disease_OMIM")
enrichResult <- WebGestaltR(enrichMethod="ORA", organism="hsapiens",
interestGene=genes, referenceGene=background,
enrichDatabase=databases, interestGeneType="genesymbol",
referenceGeneType="genesymbol", isOutput=F)
print(enrichResult[,c("description", "size", "overlap", "FDR", "database", "userId")])
}
Uploading data to Enrichr... Done.
Querying GO_Biological_Process_2021... Done.
Querying GO_Cellular_Component_2021... Done.
Querying GO_Molecular_Function_2021... Done.
Parsing results... Done.
[1] "GO_Biological_Process_2021"
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
Term
1 peptidyl-serine phosphorylation (GO:0018105)
2 peptidyl-serine modification (GO:0018209)
3 lipid transport (GO:0006869)
4 cholesterol transport (GO:0030301)
5 intestinal cholesterol absorption (GO:0030299)
6 cellular response to sterol depletion (GO:0071501)
7 negative regulation of cholesterol storage (GO:0010887)
8 intestinal lipid absorption (GO:0098856)
9 protein phosphorylation (GO:0006468)
10 cholesterol homeostasis (GO:0042632)
11 sterol homeostasis (GO:0055092)
12 cholesterol metabolic process (GO:0008203)
13 regulation of cholesterol storage (GO:0010885)
14 positive regulation of cyclin-dependent protein serine/threonine kinase activity (GO:0045737)
15 activin receptor signaling pathway (GO:0032924)
16 positive regulation of cyclin-dependent protein kinase activity (GO:1904031)
17 negative regulation of lipid storage (GO:0010888)
18 sterol transport (GO:0015918)
19 cholesterol efflux (GO:0033344)
20 regulation of DNA biosynthetic process (GO:2000278)
21 regulation of cholesterol efflux (GO:0010874)
22 secondary alcohol biosynthetic process (GO:1902653)
23 cholesterol biosynthetic process (GO:0006695)
24 organic substance transport (GO:0071702)
25 cellular protein modification process (GO:0006464)
26 sterol biosynthetic process (GO:0016126)
27 response to growth factor (GO:0070848)
28 cellular response to growth factor stimulus (GO:0071363)
Overlap Adjusted.P.value Genes
1 5/156 0.002554803 CSNK1G3;TNKS;PKN3;PRKD2;GAS6
2 5/169 0.002554803 CSNK1G3;TNKS;PKN3;PRKD2;GAS6
3 4/109 0.006087707 ABCA1;ABCG8;NPC1L1;PLTP
4 3/51 0.008431487 ABCA1;ABCG8;NPC1L1
5 2/9 0.008431487 ABCG8;NPC1L1
6 2/9 0.008431487 INSIG2;NPC1L1
7 2/10 0.009023822 ABCA1;TTC39B
8 2/11 0.009639885 ABCG8;NPC1L1
9 6/496 0.010514070 CSNK1G3;ACVR1C;TNKS;PKN3;PRKD2;GAS6
10 3/71 0.011663716 ABCA1;ABCG8;TTC39B
11 3/72 0.011663716 ABCA1;ABCG8;TTC39B
12 3/77 0.012872181 ABCA1;INSIG2;NPC1L1
13 2/16 0.012872181 ABCA1;TTC39B
14 2/17 0.013531569 CCND2;PSRC1
15 2/19 0.015517122 ACVR1C;INHBB
16 2/20 0.015517122 CCND2;PSRC1
17 2/20 0.015517122 ABCA1;TTC39B
18 2/21 0.016179922 ABCG8;NPC1L1
19 2/24 0.020079583 ABCA1;ABCG8
20 2/29 0.027906921 TNKS;PRKD2
21 2/33 0.032979730 PLTP;TTC39B
22 2/34 0.032979730 INSIG2;NPC1L1
23 2/35 0.032979730 INSIG2;NPC1L1
24 3/136 0.032979730 ABCA1;ABCG8;PLTP
25 7/1025 0.032979730 CSNK1G3;ACVR1C;TNKS;PKN3;PRKD2;FUT2;GAS6
26 2/38 0.036805305 INSIG2;NPC1L1
27 2/41 0.041205024 STAT5B;ACVR1C
28 3/158 0.044712446 STAT5B;ACVR1C;PRKD2
[1] "GO_Cellular_Component_2021"
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
Term Overlap
1 high-density lipoprotein particle (GO:0034364) 2/19
2 endoplasmic reticulum membrane (GO:0005789) 6/712
3 serine/threonine protein kinase complex (GO:1902554) 2/37
Adjusted.P.value Genes
1 0.02196976 HPR;PLTP
2 0.02796426 ABCA1;CYP2A6;INSIG2;KDSR;FADS1;CNIH4
3 0.02796426 ACVR1C;CCND2
[1] "GO_Molecular_Function_2021"
Term Overlap
1 cholesterol transfer activity (GO:0120020) 3/18
2 sterol transfer activity (GO:0120015) 3/19
3 phosphatidylcholine transporter activity (GO:0008525) 2/18
Adjusted.P.value Genes
1 0.0002099901 ABCA1;ABCG8;PLTP
2 0.0002099901 ABCA1;ABCG8;PLTP
3 0.0134173287 ABCA1;PLTP
TTC39B gene(s) from the input list not found in DisGeNET CURATEDUSP1 gene(s) from the input list not found in DisGeNET CURATEDSPTY2D1 gene(s) from the input list not found in DisGeNET CURATEDCNIH4 gene(s) from the input list not found in DisGeNET CURATEDPSRC1 gene(s) from the input list not found in DisGeNET CURATEDCRACR2B gene(s) from the input list not found in DisGeNET CURATEDALLC gene(s) from the input list not found in DisGeNET CURATEDSYTL1 gene(s) from the input list not found in DisGeNET CURATEDDDX56 gene(s) from the input list not found in DisGeNET CURATEDCSNK1G3 gene(s) from the input list not found in DisGeNET CURATEDTRIM39 gene(s) from the input list not found in DisGeNET CURATEDPELO gene(s) from the input list not found in DisGeNET CURATEDPOP7 gene(s) from the input list not found in DisGeNET CURATEDHPR gene(s) from the input list not found in DisGeNET CURATEDNPC1L1 gene(s) from the input list not found in DisGeNET CURATEDTNKS gene(s) from the input list not found in DisGeNET CURATEDC10orf88 gene(s) from the input list not found in DisGeNET CURATEDPKN3 gene(s) from the input list not found in DisGeNET CURATED
Description FDR Ratio BgRatio
5 Blood Platelet Disorders 0.01314162 2/17 16/9703
13 Colorectal Neoplasms 0.01314162 4/17 277/9703
31 Hypercholesterolemia, Familial 0.01314162 2/17 18/9703
39 Leukemia, T-Cell, Chronic 0.01314162 1/17 1/9703
49 Opisthorchiasis 0.01314162 1/17 1/9703
57 Tangier Disease 0.01314162 1/17 1/9703
75 Caliciviridae Infections 0.01314162 1/17 1/9703
81 Infections, Calicivirus 0.01314162 1/17 1/9703
98 Opisthorchis felineus Infection 0.01314162 1/17 1/9703
99 Opisthorchis viverrini Infection 0.01314162 1/17 1/9703
******************************************
* *
* Welcome to WebGestaltR ! *
* *
******************************************
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
Loading the functional categories...
Loading the ID list...
Loading the reference list...
Performing the enrichment analysis...
description size overlap FDR database
1 Coronary Artery Disease 153 10 6.466968e-07 disease_GLAD4U
2 Dyslipidaemia 84 8 1.252110e-06 disease_GLAD4U
3 Coronary Disease 171 9 1.317265e-05 disease_GLAD4U
4 Arteriosclerosis 173 8 1.891798e-04 disease_GLAD4U
5 Myocardial Ischemia 180 8 2.051526e-04 disease_GLAD4U
6 Hypercholesterolemia 60 5 1.449899e-03 disease_GLAD4U
7 Arterial Occlusive Diseases 174 7 1.651194e-03 disease_GLAD4U
8 Heart Diseases 227 7 8.215079e-03 disease_GLAD4U
9 Fat digestion and absorption 23 3 2.508047e-02 pathway_KEGG
10 Cardiovascular Diseases 281 7 2.508047e-02 disease_GLAD4U
11 Hyperlipidemias 64 4 2.508047e-02 disease_GLAD4U
12 Cholesterol metabolism 31 3 4.773144e-02 pathway_KEGG
userId
1 PSRC1;ABCG8;INSIG2;NPC1L1;TTC39B;ABCA1;SPTY2D1;FADS1;FUT2;PLTP
2 PSRC1;ABCG8;INSIG2;NPC1L1;TTC39B;ABCA1;FADS1;PLTP
3 PSRC1;ABCG8;INSIG2;NPC1L1;TTC39B;ABCA1;FADS1;FUT2;PLTP
4 PSRC1;ABCG8;NPC1L1;TTC39B;ABCA1;FADS1;HPR;PLTP
5 PSRC1;ABCG8;INSIG2;NPC1L1;TTC39B;ABCA1;FADS1;PLTP
6 ABCG8;INSIG2;NPC1L1;ABCA1;PLTP
7 PSRC1;ABCG8;NPC1L1;TTC39B;ABCA1;FADS1;PLTP
8 PSRC1;ABCG8;NPC1L1;TTC39B;ABCA1;FADS1;PLTP
9 ABCG8;NPC1L1;ABCA1
10 PSRC1;ABCG8;TTC39B;ABCA1;FADS1;GAS6;PLTP
11 ABCG8;NPC1L1;ABCA1;PLTP
12 ABCG8;ABCA1;PLTP
library("readxl")
known_annotations <- read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
unrelated_genes <- ctwas_gene_res$genename[!(ctwas_gene_res$genename %in% known_annotations)]
#number of genes in known annotations
print(length(known_annotations))
[1] 69
#number of genes in known annotations with imputed expression
print(sum(known_annotations %in% ctwas_gene_res$genename))
[1] 46
#assign ctwas, TWAS, and bystander genes
ctwas_genes <- ctwas_gene_res$genename[ctwas_gene_res$susie_pip>0.8]
twas_genes <- ctwas_gene_res$genename[abs(ctwas_gene_res$z)>sig_thresh]
novel_genes <- ctwas_genes[!(ctwas_genes %in% twas_genes)]
#significance threshold for TWAS
print(sig_thresh)
[1] 4.562276
#number of ctwas genes
length(ctwas_genes)
[1] 35
#number of TWAS genes
length(twas_genes)
[1] 215
#show novel genes (ctwas genes with not in TWAS genes)
ctwas_gene_res[ctwas_gene_res$genename %in% novel_genes,report_cols]
genename region_tag susie_pip mu2 PVE z
9046 KLHDC7A 1_13 0.8393363 22.17420 5.416319e-05 4.124187
5413 SYTL1 1_19 0.8163154 22.15199 5.262488e-05 -3.962854
6387 TTC39B 9_13 0.9450026 23.14602 6.365459e-05 -4.334495
8918 CRACR2B 11_1 0.8274447 21.52123 5.182346e-05 -3.989585
3212 CCND2 12_4 0.8041948 22.63603 5.297633e-05 -4.065830
3247 KDSR 18_35 0.9602264 24.59603 6.873200e-05 -4.526287
num_eqtl
9046 1
5413 1
6387 3
8918 1
3212 1
3247 1
#sensitivity / recall
sensitivity <- rep(NA,2)
names(sensitivity) <- c("ctwas", "TWAS")
sensitivity["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
sensitivity["TWAS"] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
sensitivity
ctwas TWAS
0.08695652 0.27536232
#specificity
specificity <- rep(NA,2)
names(specificity) <- c("ctwas", "TWAS")
specificity["ctwas"] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
specificity["TWAS"] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
specificity
ctwas TWAS
0.9970513 0.9800712
#precision / PPV
precision <- rep(NA,2)
names(precision) <- c("ctwas", "TWAS")
precision["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
precision["TWAS"] <- sum(twas_genes %in% known_annotations)/length(twas_genes)
precision
ctwas TWAS
0.17142857 0.08837209
#ROC curves
pip_range <- (0:1000)/1000
sensitivity <- rep(NA, length(pip_range))
specificity <- rep(NA, length(pip_range))
for (index in 1:length(pip_range)){
pip <- pip_range[index]
ctwas_genes <- ctwas_gene_res$genename[ctwas_gene_res$susie_pip>=pip]
sensitivity[index] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
specificity[index] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
}
plot(1-specificity, sensitivity, type="l", xlim=c(0,1), ylim=c(0,1))
sig_thresh_range <- seq(from=0, to=max(abs(ctwas_gene_res$z)), length.out=length(pip_range))
for (index in 1:length(sig_thresh_range)){
sig_thresh_plot <- sig_thresh_range[index]
twas_genes <- ctwas_gene_res$genename[abs(ctwas_gene_res$z)>=sig_thresh_plot]
sensitivity[index] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
specificity[index] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
}
lines(1-specificity, sensitivity, xlim=c(0,1), ylim=c(0,1), col="red", lty=2)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
This section first uses imputed silver standard genes to identify bystander genes within 1Mb. The bystander gene list is then subset to only genes with imputed expression in this analysis. Then, the ctwas and TWAS gene lists from this analysis are subset to only genes that are in the (subset) silver standard and bystander genes. These gene lists are then used to compute sensitivity, specificity and precision for ctwas and TWAS.
library(biomaRt)
library(GenomicRanges)
Loading required package: stats4
Loading required package: BiocGenerics
Loading required package: parallel
Attaching package: 'BiocGenerics'
The following objects are masked from 'package:parallel':
clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
clusterExport, clusterMap, parApply, parCapply, parLapply,
parLapplyLB, parRapply, parSapply, parSapplyLB
The following objects are masked from 'package:stats':
IQR, mad, sd, var, xtabs
The following objects are masked from 'package:base':
Filter, Find, Map, Position, Reduce, anyDuplicated, append,
as.data.frame, basename, cbind, colnames, dirname, do.call,
duplicated, eval, evalq, get, grep, grepl, intersect,
is.unsorted, lapply, mapply, match, mget, order, paste, pmax,
pmax.int, pmin, pmin.int, rank, rbind, rownames, sapply,
setdiff, sort, table, tapply, union, unique, unsplit, which,
which.max, which.min
Loading required package: S4Vectors
Attaching package: 'S4Vectors'
The following object is masked from 'package:base':
expand.grid
Loading required package: IRanges
Loading required package: GenomeInfoDb
# ensembl <- useEnsembl(biomart="ENSEMBL_MART_ENSEMBL", dataset="hsapiens_gene_ensembl")
# G_list <- getBM(filters= "chromosome_name", attributes= c("hgnc_symbol","chromosome_name","start_position","end_position","gene_biotype"), values=1:22, mart=ensembl)
# G_list <- G_list[G_list$hgnc_symbol!="",]
# G_list <- G_list[G_list$gene_biotype %in% c("protein_coding","lncRNA"),]
# G_list$start <- G_list$start_position
# G_list$end <- G_list$end_position
# G_list_granges <- makeGRangesFromDataFrame(G_list, keep.extra.columns=T)
#
# #remove genes without imputed expression from gene lists
# known_annotations <- known_annotations[known_annotations %in% ctwas_gene_res$genename]
#
# known_annotations_positions <- G_list[G_list$hgnc_symbol %in% known_annotations,]
# half_window <- 1000000
# known_annotations_positions$start <- known_annotations_positions$start_position - half_window
# known_annotations_positions$end <- known_annotations_positions$end_position + half_window
# known_annotations_positions$start[known_annotations_positions$start<1] <- 1
# known_annotations_granges <- makeGRangesFromDataFrame(known_annotations_positions, keep.extra.columns=T)
#
# bystanders <- findOverlaps(known_annotations_granges,G_list_granges)
# bystanders <- unique(subjectHits(bystanders))
# bystanders <- G_list$hgnc_symbol[bystanders]
# bystanders <- unique(bystanders[!(bystanders %in% known_annotations)])
# unrelated_genes <- bystanders
#
# #save gene lists
# save(known_annotations, file=paste0(results_dir, "/known_annotations.Rd"))
# save(unrelated_genes, file=paste0(results_dir, "/bystanders.Rd"))
load(paste0(results_dir, "/known_annotations.Rd"))
load(paste0(results_dir, "/bystanders.Rd"))
#remove genes without imputed expression from bystander list
unrelated_genes <- unrelated_genes[unrelated_genes %in% ctwas_gene_res$genename]
#number of genes in known annotations (with imputed expression)
print(length(known_annotations))
[1] 46
#number of bystander genes (with imputed expression)
print(length(unrelated_genes))
[1] 539
#subset results to genes in known annotations or bystanders
ctwas_gene_res_subset <- ctwas_gene_res[ctwas_gene_res$genename %in% c(known_annotations, unrelated_genes),]
#assign ctwas and TWAS genes
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>0.8]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>sig_thresh]
#significance threshold for TWAS
print(sig_thresh)
[1] 4.562276
#number of ctwas genes (in known annotations or bystanders)
length(ctwas_genes)
[1] 8
#number of TWAS genes (in known annotations or bystanders)
length(twas_genes)
[1] 61
#sensitivity / recall
sensitivity <- rep(NA,2)
names(sensitivity) <- c("ctwas", "TWAS")
sensitivity["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
sensitivity["TWAS"] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
sensitivity
ctwas TWAS
0.1304348 0.4130435
#specificity / (1 - False Positive Rate)
specificity <- rep(NA,2)
names(specificity) <- c("ctwas", "TWAS")
specificity["ctwas"] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
specificity["TWAS"] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
specificity
ctwas TWAS
0.9962894 0.9220779
#precision / PPV / (1 - False Discovery Rate)
precision <- rep(NA,2)
names(precision) <- c("ctwas", "TWAS")
precision["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
precision["TWAS"] <- sum(twas_genes %in% known_annotations)/length(twas_genes)
precision
ctwas TWAS
0.7500000 0.3114754
#store sensitivity and specificity calculations for plots
sensitivity_plot <- sensitivity
specificity_plot <- specificity
#precision / PPV by PIP bin
pip_range <- c(0.2, 0.4, 0.6, 0.8, 1)
precision_range <- rep(NA, length(pip_range))
for (i in 1:length(pip_range)){
pip_upper <- pip_range[i]
if (i==1){
pip_lower <- 0
} else {
pip_lower <- pip_range[i-1]
}
#assign ctwas genes in PIP bin
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>=pip_lower & ctwas_gene_res_subset$susie_pip<pip_upper]
precision_range[i] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
}
names(precision_range) <- paste(c(0, pip_range[-length(pip_range)]), pip_range,sep=" - ")
barplot(precision_range, ylim=c(0,1), main="Precision by PIP Range", xlab="PIP Range", ylab="Precision")
abline(h=0.2, lty=2)
abline(h=0.4, lty=2)
abline(h=0.6, lty=2)
abline(h=0.8, lty=2)
barplot(precision_range, add=T, col="darkgrey")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#precision / PPV by PIP threshold
pip_range <- c(0.5, 0.8, 1)
precision_range <- rep(NA, length(pip_range))
number_detected <- rep(NA, length(pip_range))
for (i in 1:length(pip_range)){
pip_upper <- pip_range[i]
if (i==1){
pip_lower <- 0
} else {
pip_lower <- pip_range[i-1]
}
#assign ctwas genes using PIP threshold
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>=pip_lower]
number_detected[i] <- length(ctwas_genes)
precision_range[i] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
}
names(precision_range) <- paste0(">= ", c(0, pip_range[-length(pip_range)]))
precision_range <- precision_range*100
precision_range <- c(precision_range, precision["TWAS"]*100)
names(precision_range)[4] <- "TWAS Bonferroni"
number_detected <- c(number_detected, length(twas_genes))
barplot(precision_range, ylim=c(0,100), main="Precision for Distinguishing Silver Standard and Bystander Genes", xlab="PIP Threshold for Detection", ylab="% of Detected Genes in Silver Standard")
abline(h=20, lty=2)
abline(h=40, lty=2)
abline(h=60, lty=2)
abline(h=80, lty=2)
xx <- barplot(precision_range, add=T, col=c(rep("darkgrey",3), "white"))
text(x = xx, y = rep(0, length(number_detected)), label = paste0(number_detected, " detected"), pos = 3, cex=0.8)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#false discovery rate by PIP threshold
barplot(100-precision_range, ylim=c(0,100), main="False Discovery Rate for Distinguishing Silver Standard and Bystander Genes", xlab="PIP Threshold for Detection", ylab="% Bystanders in Detected Genes")
abline(h=20, lty=2)
abline(h=40, lty=2)
abline(h=60, lty=2)
abline(h=80, lty=2)
xx <- barplot(100-precision_range, add=T, col=c(rep("darkgrey",3), "white"))
text(x = xx, y = rep(0, length(number_detected)), label = paste0(number_detected, " detected"), pos = 3, cex=0.8)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#ROC curves
pip_range <- (0:1000)/1000
sensitivity <- rep(NA, length(pip_range))
specificity <- rep(NA, length(pip_range))
for (index in 1:length(pip_range)){
pip <- pip_range[index]
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>=pip]
sensitivity[index] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
specificity[index] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
}
plot(1-specificity, sensitivity, type="l", xlim=c(0,1), ylim=c(0,1), main="", xlab="1 - Specificity", ylab="Sensitivity")
title(expression("ROC Curve for cTWAS (black) and TWAS (" * phantom("red") * ")"))
title(expression(phantom("ROC Curve for cTWAS (black) and TWAS (") * "red" * phantom(")")), col.main="red")
sig_thresh_range <- seq(from=0, to=max(abs(ctwas_gene_res_subset$z)), length.out=length(pip_range))
for (index in 1:length(sig_thresh_range)){
sig_thresh_plot <- sig_thresh_range[index]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>=sig_thresh_plot]
sensitivity[index] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
specificity[index] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
}
lines(1-specificity, sensitivity, xlim=c(0,1), ylim=c(0,1), col="red", lty=1)
abline(a=0,b=1,lty=3)
#add previously computed points from the analysis
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>0.8]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>sig_thresh]
points(1-specificity_plot["ctwas"], sensitivity_plot["ctwas"], pch=21, bg="black")
points(1-specificity_plot["TWAS"], sensitivity_plot["TWAS"], pch=21, bg="red")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
library(tibble)
library(tidyverse)
-- Attaching packages ---------------------------------- tidyverse 1.3.0 --
v tidyr 1.1.0 v dplyr 1.0.9
v readr 1.4.0 v stringr 1.4.0
v purrr 0.3.4 v forcats 0.4.0
-- Conflicts ------------------------------------- tidyverse_conflicts() --
x BiocGenerics::Position() masks ggplot2::Position(), base::Position()
x dplyr::collapse() masks IRanges::collapse()
x dplyr::combine() masks BiocGenerics::combine()
x dplyr::desc() masks IRanges::desc()
x tidyr::expand() masks S4Vectors::expand()
x tidyr::extract() masks disgenet2r::extract()
x dplyr::filter() masks stats::filter()
x dplyr::first() masks S4Vectors::first()
x dplyr::lag() masks stats::lag()
x purrr::reduce() masks GenomicRanges::reduce(), IRanges::reduce()
x dplyr::rename() masks S4Vectors::rename()
x dplyr::select() masks biomaRt::select()
x dplyr::slice() masks IRanges::slice()
full_gene_pip_summary <- data.frame(gene_name = ctwas_gene_res$genename,
gene_pip = ctwas_gene_res$susie_pip,
gene_id = ctwas_gene_res$id,
chr = as.integer(ctwas_gene_res$chrom),
start = ctwas_gene_res$pos / 1e3,
is_highlight = F, stringsAsFactors = F) %>% as_tibble()
full_gene_pip_summary$is_highlight <- full_gene_pip_summary$gene_pip > 0.80
don <- full_gene_pip_summary %>%
# Compute chromosome size
group_by(chr) %>%
summarise(chr_len=max(start)) %>%
# Calculate cumulative position of each chromosome
mutate(tot=cumsum(chr_len)-chr_len) %>%
dplyr::select(-chr_len) %>%
# Add this info to the initial dataset
left_join(full_gene_pip_summary, ., by=c("chr"="chr")) %>%
# Add a cumulative position of each SNP
arrange(chr, start) %>%
mutate( BPcum=start+tot)
axisdf <- don %>% group_by(chr) %>% summarize(center=( max(BPcum) + min(BPcum) ) / 2 )
x_axis_labels <- axisdf$chr
x_axis_labels[seq(1,21,2)] <- ""
ggplot(don, aes(x=BPcum, y=gene_pip)) +
# Show all points
ggrastr::geom_point_rast(aes(color=as.factor(chr)), size=2) +
scale_color_manual(values = rep(c("grey", "skyblue"), 22 )) +
scale_x_continuous(label = x_axis_labels,
breaks = axisdf$center) +
scale_y_continuous(expand = c(0, 0), limits = c(0,1.25), breaks=(1:5)*0.2, minor_breaks=(1:10)*0.1) + # remove space between plot area and x axis
# Add highlighted points
ggrastr::geom_point_rast(data=subset(don, is_highlight==T), color="orange", size=2) +
# Add label using ggrepel to avoid overlapping
ggrepel::geom_label_repel(data=subset(don, is_highlight==T),
aes(label=gene_name),
size=4,
min.segment.length = 0,
label.size = NA,
fill = alpha(c("white"),0)) +
# Custom the theme:
theme_bw() +
theme(
text = element_text(size = 14),
legend.position="none",
panel.border = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
) +
xlab("Chromosome") +
ylab("cTWAS PIP")
Warning: ggrepel: 13 unlabeled data points (too many overlaps). Consider
increasing max.overlaps
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#####load positions for all genes on autosomes in ENSEMBL, subset to only protein coding and lncRNA with non-missing HGNC symbol
library(biomaRt)
ensembl <- useEnsembl(biomart="ENSEMBL_MART_ENSEMBL", dataset="hsapiens_gene_ensembl")
G_list <- getBM(filters= "chromosome_name", attributes= c("hgnc_symbol","chromosome_name","start_position","end_position","gene_biotype", "ensembl_gene_id", "strand"), values=1:22, mart=ensembl)
save(G_list, file=paste0(results_dir, "/G_list_", trait_id, ".RData"))
load(paste0(results_dir, "/G_list_", trait_id, ".RData"))
G_list <- G_list[G_list$gene_biotype %in% c("protein_coding","lncRNA"),]
G_list$tss <- G_list[,c("end_position", "start_position")][cbind(1:nrow(G_list),G_list$strand/2+1.5)]
library(ctwas)
Attaching package: 'ctwas'
The following object is masked _by_ '.GlobalEnv':
z_snp
locus_plot <- function(region_tag, rerun_ctwas = F, plot_eqtl = T, label="cTWAS"){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
a$pos <- a$pos/1000000
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep="\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
a <- data.table::fread("temp.susieIrss.txt", header = T)
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a$ifcausal <- 0
focus <- a$id[a$type=="gene"][which.max(abs(a$z[a$type=="gene"]))]
a$ifcausal <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(1.5,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " Position"),frame.plot=FALSE, col = "white", ylim= c(-0.1,1.1), ylab = "cTWAS PIP", xaxt = 'n')
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$susie_pip[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$susie_pip[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
if (isTRUE(plot_eqtl)){
for (cgene in a[a$type=="gene" & a$ifcausal == 1, ]$id){
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
points(a[a$id %in% eqtls,]$pos, rep( -0.15, nrow(a[a$id %in% eqtls,])), pch = "|", col = "salmon", cex = 1.5)
}
}
#legend(min(a$pos), y= 1.1 ,c("Gene", "SNP"), pch = c(22,21), title="Shape Legend", bty ='n', cex=0.6, title.adj = 0)
#legend(min(a$pos), y= 0.7 ,c("Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = 19, col = c("salmon", "purple", colorsall[1]), title="Color Legend", bty ='n', cex=0.6, title.adj = 0)
legend(min(a$pos), y= 1 ,c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
if (label=="cTWAS"){
text(a$pos[a$id==focus], a$susie_pip[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
par(mar = c(4.1, 4.1, 0.5, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"), frame.plot=FALSE, bg = colorsall[1], ylab = "-log10(p value)", panel.first = grid(), ylim =c(0, max(a$PVALUE)*1.2))
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$PVALUE[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$PVALUE[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
if (label=="TWAS"){
text(a$pos[a$id==focus], a$PVALUE[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
}
#locus_plot("1_67", label="TWAS")
locus_plot4 <- function(region_tag, rerun_ctwas = F, plot_eqtl = T, label="cTWAS", xlim=NULL){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
a <- data.table::fread("temp.susieIrss.txt", header = T)
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a$pos <- a$pos/1000000
if (!is.null(xlim)){
if (is.na(xlim[1])){
xlim[1] <- min(a$pos)
}
if (is.na(xlim[2])){
xlim[2] <- max(a$pos)
}
a <- a[a$pos>=xlim[1] & a$pos<=xlim[2],,drop=F]
}
a$ifcausal <- 0
focus <- a$id[a$type=="gene"][which.max(abs(a$z[a$type=="gene"]))]
a$ifcausal <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(1.5,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " Position"),frame.plot=FALSE, col = "white", ylim= c(-0.1,1.1), ylab = "cTWAS PIP", xaxt = 'n')
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$susie_pip[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$susie_pip[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
if (isTRUE(plot_eqtl)){
for (cgene in a[a$type=="gene" & a$ifcausal == 1, ]$id){
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
points(a[a$id %in% eqtls,]$pos, rep( -0.15, nrow(a[a$id %in% eqtls,])), pch = "|", col = "salmon", cex = 1.5)
}
}
#legend(max(a$pos)-0.2*(max(a$pos)-min(a$pos)), y= 1.1 ,c("Gene", "SNP"), pch = c(22,21), title="", bty ='n', cex=0.6, title.adj = 0)
#legend(max(a$pos)-0.2*(max(a$pos)-min(a$pos)), y= 0.7 ,c("Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = 19, col = c("salmon", "purple", colorsall[1]), title="", bty ='n', cex=0.6, title.adj = 0)
legend(max(a$pos)-0.2*(max(a$pos)-min(a$pos)), y= 1 ,c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
if (label=="cTWAS"){
text(a$pos[a$id==focus], a$susie_pip[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
par(mar = c(4.1, 4.1, 0.5, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"), frame.plot=FALSE, bg = colorsall[1], ylab = "-log10(p value)", panel.first = grid(), ylim =c(0, max(a$PVALUE)*1.2))
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$PVALUE[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$PVALUE[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
if (label=="TWAS"){
text(a$pos[a$id==focus], a$PVALUE[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
}
locus_plot6 <- function(region_tag, rerun_ctwas = F, plot_eqtl = T, label="cTWAS", xlim=NULL, return_table=F){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep="\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
a <- data.table::fread("temp.susieIrss.txt", header = T)
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a$pos[a$type=="gene"] <- G_list$start_position[match(sapply(a$id[a$type=="gene"], function(x){unlist(strsplit(x, "[.]"))[1]}) ,G_list$ensembl_gene_id)]
a$pos <- a$pos/1000000
if (!is.null(xlim)){
if (is.na(xlim[1])){
xlim[1] <- min(a$pos)
}
if (is.na(xlim[2])){
xlim[2] <- max(a$pos)
}
a <- a[a$pos>=xlim[1] & a$pos<=xlim[2],,drop=F]
}
a$ifcausal <- 0
focus <- a$id[a$type=="gene"][which.max(abs(a$z[a$type=="gene"]))]
a$ifcausal <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(1.5,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"), frame.plot=FALSE, bg = colorsall[1], ylab = "-log10(p value)", panel.first = grid(), ylim =c(-(1/6)*max(a$PVALUE), max(a$PVALUE)*1.2), xaxt = 'n')
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$PVALUE[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$PVALUE[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
if (isTRUE(plot_eqtl)){
for (cgene in a[a$type=="gene" & a$ifcausal == 1, ]$id){
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
points(a[a$id %in% eqtls,]$pos, rep( -(1/6)*max(a$PVALUE), nrow(a[a$id %in% eqtls,])), pch = "|", col = "salmon", cex = 1.5)
}
}
if (label=="TWAS"){
text(a$pos[a$id==focus], a$PVALUE[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
par(mar = c(4.1, 4.1, 0.5, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"),frame.plot=FALSE, col = "white", ylim= c(0,1.1), ylab = "cTWAS PIP")
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$susie_pip[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$susie_pip[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
legend(max(a$pos)-0.2*(max(a$pos)-min(a$pos)), y= 1 ,c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
if (label=="cTWAS"){
text(a$pos[a$id==focus], a$susie_pip[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
if (return_table){
return(a)
}
}
#locus_plot("5_45", label="TWAS")
#locus_plot4("5_45", label="TWAS",xlim=c(74.5,76.5))
locus_plot6("5_45", label="TWAS",xlim=c(75,76))
#locus_plot4("5_45", label="TWAS",rerun_ctwas = T,xlim=c(74.5,76.5))
locus_plot6("5_45", label="TWAS",rerun_ctwas = T,xlim=c(75,76))
#locus_plot4("8_12", label="cTWAS",xlim=c(NA, 9.6))
a <- locus_plot6("8_12", label="TWAS", xlim=c(NA, 9.7), return_table=T)
a[a$type=="gene",c("genename", "r2max", "susie_pip")]
locus_plot6("19_33", label="TWAS", xlim=c(NA,46.85))
This section produces locus plots for all silver standard genes with known annotations. The highlighted gene at each region is the silver standard gene. Note that if no genes in a region have PIP>0.8, then only the result using thinned SNPs is displayed.
locus_plot3 <- function(region_tag, rerun_ctwas = F, plot_eqtl = T, label="cTWAS", focus){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep="\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
a <- data.table::fread("temp.susieIrss.txt", header = T)
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a$ifcausal <- 0
focus <- a$id[which(a$genename==focus)]
a$ifcausal <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
layout(matrix(1:2, ncol = 1), widths = 1, heights = c(1.5,1.5), respect = FALSE)
par(mar = c(0, 4.1, 4.1, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " Position"),frame.plot=FALSE, col = "white", ylim= c(-0.1,1.1), ylab = "cTWAS PIP", xaxt = 'n')
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$susie_pip[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$susie_pip[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
if (isTRUE(plot_eqtl)){
for (cgene in a[a$type=="gene" & a$ifcausal == 1, ]$id){
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
points(a[a$id %in% eqtls,]$pos, rep( -0.15, nrow(a[a$id %in% eqtls,])), pch = "|", col = "salmon", cex = 1.5)
}
}
legend(min(a$pos), y= 1.1 ,c("Gene", "SNP"), pch = c(22,21), title="Shape Legend", bty ='n', cex=0.6, title.adj = 0)
legend(min(a$pos), y= 0.7 ,c("Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = 19, col = c("salmon", "purple", colorsall[1]), title="Color Legend", bty ='n', cex=0.6, title.adj = 0)
if (label=="cTWAS"){
text(a$pos[a$id==focus], a$susie_pip[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
par(mar = c(4.1, 4.1, 0.5, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " Position"), frame.plot=FALSE, bg = colorsall[1], ylab = "TWAS -log10(p value)", panel.first = grid(), ylim =c(0, max(a$PVALUE)*1.2))
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$ifcausal == 1], a$PVALUE[a$type == "SNP" & a$ifcausal == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$ifcausal == 1], a$PVALUE[a$type == "gene" & a$ifcausal == 1], pch = 22, bg = "salmon", cex = 2)
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
if (label=="TWAS"){
text(a$pos[a$id==focus], a$PVALUE[a$id==focus], labels=ctwas_gene_res$genename[ctwas_gene_res$id==focus], pos=3, cex=0.6)
}
}
load(paste0(results_dir, "/known_annotations.Rd"))
load(paste0(results_dir, "/bystanders.Rd"))
for (i in 1:length(known_annotations)){
focus <- known_annotations[i]
region_tag <- ctwas_res$region_tag[which(ctwas_res$genename==focus)]
#locus_plot3(region_tag, focus=focus)
#mtext(text=region_tag)
print(focus)
print(region_tag)
print(ctwas_gene_res[ctwas_gene_res$region_tag==region_tag,report_cols,])
}
[1] "ITIH4"
[1] "3_36"
genename region_tag susie_pip mu2 PVE z
2847 RRP9 3_36 0.010186798 8.006632 2.373602e-07 -0.9533837
374 PARP3 3_36 0.010074535 7.900303 2.316269e-07 0.9395160
11145 ACY1 3_36 0.008088342 5.880826 1.384261e-07 -0.5115172
7239 POC1A 3_36 0.007598508 5.437276 1.202348e-07 0.6100943
11175 TWF2 3_36 0.007439023 5.286494 1.144469e-07 -0.3662282
7240 PPM1M 3_36 0.010542548 8.145836 2.499203e-07 -1.3227733
7910 GLYCTK 3_36 0.022883467 14.068146 9.368693e-07 -1.6364989
7242 WDR82 3_36 0.007902199 5.638130 1.296592e-07 -0.3708077
2853 DNAH1 3_36 0.030651367 19.041322 1.698507e-06 2.9650691
158 PHF7 3_36 0.012220852 9.456943 3.363354e-07 1.0713405
159 SEMA3G 3_36 0.012353883 9.165988 3.295361e-07 -0.4278002
2856 TNNC1 3_36 0.071765302 20.103883 4.198699e-06 -3.3770524
160 NISCH 3_36 0.007351669 5.011865 1.072274e-07 0.1275014
161 STAB1 3_36 0.099112516 21.753558 6.274500e-06 3.5822738
7913 NT5DC2 3_36 0.010573296 8.181607 2.517499e-07 -1.7973355
7198 GNL3 3_36 0.102274879 24.480146 7.286237e-06 -3.6862761
7199 PBRM1 3_36 0.009709905 6.847563 1.934957e-07 -0.8048656
239 GLT8D1 3_36 0.041555945 20.512643 2.480705e-06 2.9521495
2861 NEK4 3_36 0.032742182 18.227919 1.736861e-06 -2.8779547
482 ITIH1 3_36 0.086070452 27.289798 6.835570e-06 3.3942500
6908 ITIH3 3_36 0.123501866 30.778864 1.106233e-05 3.5156979
481 ITIH4 3_36 0.007986410 6.355426 1.477123e-07 0.7020101
11408 MUSTN1 3_36 0.010346836 8.604039 2.590778e-07 2.0468324
10774 TMEM110 3_36 0.008567371 6.831224 1.703203e-07 1.5404511
7197 SFMBT1 3_36 0.011407340 9.759871 3.240028e-07 2.0068207
7196 PRKCD 3_36 0.008245311 6.177403 1.482290e-07 -0.6434864
7195 TKT 3_36 0.019333716 13.463803 7.575362e-07 2.5841158
11411 DCP1A 3_36 0.007332406 4.915912 1.048989e-07 -0.2530460
236 CHDH 3_36 0.007425518 5.055297 1.092430e-07 0.1444517
486 IL17RB 3_36 0.007684456 5.346702 1.195692e-07 0.2238222
2783 ACTR8 3_36 0.009037541 6.795980 1.787404e-07 0.7154999
num_eqtl
2847 1
374 1
11145 1
7239 1
11175 2
7240 3
7910 1
7242 1
2853 2
158 1
159 1
2856 2
160 2
161 1
7913 2
7198 2
7199 1
239 2
2861 1
482 1
6908 1
481 3
11408 2
10774 2
7197 1
7196 1
7195 1
11411 2
236 1
486 2
2783 3
[1] "EPHX2"
[1] "8_27"
genename region_tag susie_pip mu2 PVE z
11070 PNMA2 8_27 0.007168073 4.937312 1.029943e-07 -0.21331428
1295 DPYSL2 8_27 0.007130358 4.885656 1.013805e-07 0.04738342
3371 ADRA1A 8_27 0.010272565 8.462908 2.529990e-07 -0.93007117
1869 TRIM35 8_27 0.015413131 12.444767 5.582104e-07 1.28849641
3374 EPHX2 8_27 0.007523723 5.411512 1.184873e-07 -0.26134454
3368 CLU 8_27 0.008683031 6.815307 1.722174e-07 0.59866869
7888 SCARA3 8_27 0.025854912 17.536832 1.319516e-06 -1.59197306
8297 ESCO2 8_27 0.012551197 10.427949 3.808942e-07 1.12967697
5835 CCDC25 8_27 0.014262944 11.682990 4.849350e-07 1.25261686
7889 PBK 8_27 0.007882223 5.867411 1.345908e-07 0.48335074
7890 SCARA5 8_27 0.007127846 4.882206 1.012732e-07 -0.01387977
9968 NUGGC 8_27 0.045992434 23.241496 3.110791e-06 2.12228282
num_eqtl
11070 1
1295 1
3371 2
1869 2
3374 2
3368 1
7888 2
8297 2
5835 1
7889 1
7890 1
9968 2
[1] "ABCA1"
[1] "9_53"
genename region_tag susie_pip mu2 PVE z
7405 ABCA1 9_53 0.995531405 70.135749 2.031958e-04 7.9820172
2193 FKTN 9_53 0.001393116 7.316812 2.966397e-08 -0.7642857
1314 TMEM38B 9_53 0.002218186 7.826102 5.052006e-08 0.7019380
num_eqtl
7405 1
2193 1
1314 1
[1] "LPL"
[1] "8_21"
genename region_tag susie_pip mu2 PVE z
5833 CSGALNACT1 8_21 0.008553136 5.815696 1.447596e-07 -0.8624862
1906 INTS10 8_21 0.011451291 7.754520 2.584221e-07 -0.5466864
8730 LPL 8_21 0.026682797 16.816972 1.305869e-06 -1.8179375
num_eqtl
5833 1
1906 1
8730 1
[1] "APOA5"
[1] "11_70"
genename region_tag susie_pip mu2 PVE z
4866 BUD13 11_70 0.006652541 36.783048 7.121239e-07 4.1152798
3154 APOA1 11_70 0.004977961 6.666250 9.657248e-08 1.1245588
7893 PAFAH1B2 11_70 0.005808001 12.283372 2.076178e-07 1.5109282
6002 SIDT2 11_70 0.004820577 5.460637 7.660597e-08 0.5010452
6003 TAGLN 11_70 0.005362219 18.452406 2.879505e-07 -1.5544477
6781 PCSK7 11_70 0.014838164 16.385549 7.075571e-07 0.9793569
7740 RNF214 11_70 0.005570582 6.561488 1.063710e-07 -0.5246893
2466 CEP164 11_70 0.005433415 5.756802 9.102789e-08 -0.3009496
9693 BACE1 11_70 0.005211448 21.012388 3.186795e-07 -4.1370626
4879 FXYD2 11_70 0.005442460 6.097671 9.657831e-08 -0.3686949
2465 APOA5 11_70 0.035870809 144.172605 1.505027e-05 -11.3599104
num_eqtl
4866 1
3154 2
7893 2
6002 1
6003 1
6781 1
7740 1
2466 2
9693 1
4879 2
2465 1
[1] "MTTP"
[1] "4_66"
genename region_tag susie_pip mu2 PVE z
7975 TSPAN5 4_66 0.017262300 11.439332 5.746715e-07 -1.2572843
6088 EIF4E 4_66 0.010870816 6.940185 2.195601e-07 0.9082871
7217 METAP1 4_66 0.008970777 5.108314 1.333607e-07 -0.1831346
8489 ADH6 4_66 0.011815663 7.841077 2.696212e-07 0.7476788
10084 ADH1B 4_66 0.016863224 11.283544 5.537407e-07 -1.1153042
11178 ADH1C 4_66 0.116830162 28.900685 9.826151e-06 -2.8777923
10026 ADH7 4_66 0.010555759 10.321300 3.170620e-07 1.9474674
5053 MTTP 4_66 0.012613520 8.051769 2.955615e-07 -0.7972018
5684 TRMT10A 4_66 0.013089394 9.084595 3.460552e-07 -1.1240076
num_eqtl
7975 2
6088 1
7217 1
8489 2
10084 1
11178 3
10026 2
5053 1
5684 1
[1] "DHCR7"
[1] "11_40"
genename region_tag susie_pip mu2 PVE
8480 DHCR7 11_40 0.02022874 6.096690 3.589081e-07
8479 NADSYN1 11_40 0.02105173 6.489321 3.975642e-07
11157 KRTAP5-7 11_40 0.06512236 17.693447 3.353226e-06
11244 KRTAP5-9 11_40 0.01944707 5.708815 3.230877e-07
10606 KRTAP5-10 11_40 0.02395260 7.761301 5.410127e-07
6609 FAM86C1 11_40 0.02068040 6.314085 3.800053e-07
11233 RP11-849H4.2 11_40 0.01826876 5.093870 2.708178e-07
4857 RNF121 11_40 0.09302340 21.291649 5.763971e-06
4849 IL18BP 11_40 0.01795026 4.920889 2.570601e-07
4850 NUMA1 11_40 0.01918246 5.574004 3.111658e-07
9465 LRTOMT 11_40 0.01986300 5.917093 3.420374e-07
2462 FOLR3 11_40 0.01973983 5.855871 3.363994e-07
7448 INPPL1 11_40 0.01790849 4.897972 2.552675e-07
6896 CLPB 11_40 0.02574235 8.472011 6.346804e-07
z num_eqtl
8480 0.65130261 1
8479 0.72652201 1
11157 2.05073754 1
11244 0.41678412 1
10606 -0.94271886 2
6609 0.45043836 1
11233 -0.32070634 1
4857 2.07849642 2
4849 -0.18248564 2
4850 0.44145029 1
9465 -0.65197454 1
2462 -0.63775295 1
7448 0.05040952 1
6896 1.03637029 1
[1] "LIPA"
[1] "10_57"
genename region_tag susie_pip mu2 PVE z
3295 IFIT2 10_57 0.01236292 6.774634 2.437402e-07 -0.6053359
3294 IFIT3 10_57 0.01065530 5.316582 1.648612e-07 -0.3100521
9629 IFIT1 10_57 0.02477857 13.612401 9.815928e-07 1.3883694
2253 LIPA 10_57 0.01648850 9.602515 4.607723e-07 1.0134814
6224 IFIT5 10_57 0.01072634 5.381761 1.679950e-07 0.3249410
6225 PANK1 10_57 0.01725235 10.047715 5.044705e-07 -1.6480922
4958 KIF20B 10_57 0.01507546 8.722178 3.826624e-07 -1.5022578
10517 IFIT1B 10_57 0.01217041 6.620665 2.344916e-07 -0.6164140
num_eqtl
3295 1
3294 1
9629 2
2253 1
6224 3
6225 1
4958 1
10517 1
[1] "LDLRAP1"
[1] "1_18"
genename region_tag susie_pip mu2 PVE z
3127 SYF2 1_18 0.008637955 6.649375 1.671522e-07 0.7426202
9755 RHD 1_18 0.007976502 43.780114 1.016271e-06 -6.4603360
9428 TMEM50A 1_18 0.068459267 97.124652 1.935005e-05 10.0815103
9910 RHCE 1_18 0.091547928 97.576057 2.599633e-05 10.1196008
10536 TMEM57 1_18 0.345221501 100.428144 1.008959e-04 -10.2641908
6567 LDLRAP1 1_18 0.008648797 8.886536 2.236704e-07 1.9517540
3130 MAN1C1 1_18 0.007989615 6.045268 1.405600e-07 -1.0646970
6929 SELENON 1_18 0.034975819 19.791518 2.014500e-06 -2.1819486
3129 MTFR1L 1_18 0.014360676 12.223945 5.108655e-07 2.2135785
8691 PDIK1L 1_18 0.041468581 23.317167 2.813943e-06 3.2275633
10174 FAM110D 1_18 0.008556766 6.262915 1.559576e-07 0.6465781
5404 CNKSR1 1_18 0.014282369 12.232919 5.084528e-07 2.3380617
4098 CEP85 1_18 0.015659902 14.796760 6.743354e-07 2.3661103
5403 SH3BGRL3 1_18 0.025583869 18.346863 1.365993e-06 -2.8355236
8060 CD52 1_18 0.018086425 13.623018 7.170449e-07 -1.2648216
6577 UBXN11 1_18 0.018086425 13.623018 7.170449e-07 -1.2648216
8786 AIM1L 1_18 0.007862772 5.507215 1.260167e-07 0.4474766
8784 ZNF683 1_18 0.007583654 5.396158 1.190922e-07 0.5504045
3133 DHDDS 1_18 0.012275710 13.460556 4.808725e-07 2.6801828
10437 HMGN2 1_18 0.007752669 5.586538 1.260417e-07 0.5156134
3132 RPS6KA1 1_18 0.007496595 5.208539 1.136319e-07 0.3917090
525 PIGV 1_18 0.008352114 11.023592 2.679414e-07 -2.2769832
10532 ZDHHC18 1_18 0.007890270 8.649352 1.986075e-07 1.8553085
5412 GPN2 1_18 0.009760018 13.702765 3.892056e-07 2.5894296
11214 TRNP1 1_18 0.038950916 19.145244 2.170196e-06 1.1357927
num_eqtl
3127 1
9755 1
9428 1
9910 2
10536 1
6567 2
3130 1
6929 1
3129 2
8691 1
10174 1
5404 2
4098 1
5403 1
8060 1
6577 1
8786 1
8784 1
3133 2
10437 1
3132 1
525 2
10532 1
5412 1
11214 1
[1] "ANGPTL3"
[1] "1_39"
genename region_tag susie_pip mu2 PVE z
6952 TM2D1 1_39 0.06403075 22.83888 4.255823e-06 2.1432487
4314 KANK4 1_39 0.01028985 5.06552 1.516888e-07 0.5123038
6953 USP1 1_39 0.89412546 252.81074 6.578309e-04 16.2582110
4315 ANGPTL3 1_39 0.11675943 248.59480 8.447035e-05 16.1322287
3024 DOCK7 1_39 0.01151301 24.25695 8.127287e-07 4.4594815
3732 ATG4C 1_39 0.02898268 81.03714 6.835069e-06 -8.6477262
num_eqtl
6952 1
4314 1
6953 1
4315 1
3024 1
3732 1
[1] "APOB"
[1] "2_13"
genename region_tag susie_pip mu2 PVE z
1053 APOB 2_13 1.750222e-11 62.37857 3.177232e-15 -11.72589
num_eqtl
1053 1
[1] "APOE"
[1] "19_32"
genename region_tag susie_pip mu2 PVE z num_eqtl
6717 ZNF233 19_32 0 108.057904 0 -9.0705597 2
6718 ZNF235 19_32 0 105.786114 0 -9.2122953 1
538 ZNF112 19_32 0 146.110506 0 10.3860543 1
11373 ZNF285 19_32 0 14.598472 0 1.1285247 2
11479 ZNF229 19_32 0 120.884061 0 12.6270983 2
7755 ZNF180 19_32 0 37.584152 0 -4.4858272 3
781 PVR 19_32 0 165.830106 0 -6.1126994 2
9718 CEACAM19 19_32 0 61.973969 0 9.2937379 2
9782 BCAM 19_32 0 109.517128 0 4.6421318 1
4047 NECTIN2 19_32 0 109.144346 0 6.2726094 2
4049 TOMM40 19_32 0 25.428279 0 -1.4020544 1
4048 APOE 19_32 0 47.795350 0 -2.0092826 1
11016 APOC2 19_32 0 54.319893 0 -8.9816928 2
8225 ZNF296 19_32 0 111.433235 0 5.4593536 1
5375 GEMIN7 19_32 0 281.983786 0 14.0932174 2
104 MARK4 19_32 0 24.078173 0 -2.2463768 1
1930 PPP1R37 19_32 0 141.975229 0 -13.3753590 2
109 TRAPPC6A 19_32 0 30.349636 0 1.8816459 1
9959 BLOC1S3 19_32 0 11.079917 0 2.3014119 1
11497 EXOC3L2 19_32 0 25.565627 0 -1.3436507 1
1933 CKM 19_32 0 15.824857 0 -1.5738464 1
1937 ERCC2 19_32 0 11.397898 0 2.3273575 2
3143 CD3EAP 19_32 0 27.068183 0 -3.0806361 1
3737 FOSB 19_32 0 18.857038 0 -2.3658041 1
196 ERCC1 19_32 0 14.626679 0 -0.2091619 1
10800 PPM1N 19_32 0 31.275926 0 5.4808308 1
3740 RTN2 19_32 0 31.728332 0 5.5300783 1
3741 VASP 19_32 0 12.810715 0 1.8957985 1
3738 OPA3 19_32 0 13.510481 0 -0.4444358 2
1942 KLC3 19_32 0 10.288522 0 1.7718715 1
10801 CEACAM16 19_32 0 7.471532 0 1.8740580 1
11372 APOC4 19_32 0 50.783266 0 5.6977751 2
10892 IGSF23 19_32 0 12.688777 0 1.9670520 1
8895 GPR4 19_32 0 65.981391 0 -3.5802828 1
3739 SNRPD2 19_32 0 10.004620 0 1.0366923 1
189 QPCTL 19_32 0 24.433561 0 -2.0253056 2
1949 DMPK 19_32 0 20.480704 0 -1.8090245 1
9633 DMWD 19_32 0 19.559497 0 -1.7547946 1
3742 SYMPK 19_32 0 4.895048 0 -0.0525717 1
8798 MYPOP 19_32 0 21.177723 0 1.8490001 1
1963 CCDC61 19_32 0 27.221371 0 2.1648865 2
3628 HIF3A 19_32 0 20.496317 0 -1.8099296 2
190 PPP5C 19_32 0 13.408317 0 1.3374649 1
8068 CCDC8 19_32 0 7.452196 0 0.7343316 2
9259 PNMAL1 19_32 0 18.541969 0 -1.6928766 4
10636 PNMAL2 19_32 0 5.236359 0 -0.2727077 1
10987 PPP5D1 19_32 0 6.378447 0 -0.5603345 1
6722 CALM3 19_32 0 68.689319 0 3.6587617 2
[1] "NPC1L1"
[1] "7_32"
genename region_tag susie_pip mu2 PVE z
7325 STK17A 7_32 0.007512379 5.314318 1.161837e-07 0.54399967
2177 COA1 7_32 0.014388923 10.030650 4.200274e-07 -0.67121801
2178 BLVRA 7_32 0.007466620 5.133235 1.115412e-07 0.46600524
541 MRPS24 7_32 0.008410245 6.118586 1.497546e-07 0.38278180
2179 URGCP 7_32 0.008718215 6.484835 1.645306e-07 -0.66911858
927 UBE2D4 7_32 0.011453089 9.418195 3.139140e-07 1.19069954
4704 DBNL 7_32 0.009937964 6.897375 1.994810e-07 0.04523843
3488 POLM 7_32 0.007421918 4.990716 1.077952e-07 0.26627871
2183 AEBP1 7_32 0.027581259 20.555368 1.649908e-06 -2.62806186
2184 POLD2 7_32 0.016430712 12.958827 6.196442e-07 -1.42335267
2185 MYL7 7_32 0.009091720 6.663872 1.763165e-07 0.43964828
2186 GCK 7_32 0.007403649 5.086610 1.095960e-07 -0.25157092
500 CAMK2B 7_32 0.014799683 9.414382 4.054754e-07 -1.51472489
233 NPC1L1 7_32 0.951500358 86.827322 2.404283e-04 -10.76193109
4702 DDX56 7_32 0.949589246 59.831435 1.653429e-04 9.64186136
6615 TMED4 7_32 0.015394066 43.161175 1.933601e-06 7.55635222
2101 OGDH 7_32 0.007397224 20.084229 4.323587e-07 -1.43307182
num_eqtl
7325 1
2177 2
2178 1
541 1
2179 2
927 1
4704 2
3488 3
2183 1
2184 2
2185 1
2186 1
500 2
233 1
4702 2
6615 2
2101 2
[1] "SOAT1"
[1] "1_89"
genename region_tag susie_pip mu2 PVE z
5475 FAM163A 1_89 0.01076075 4.886335 1.530193e-07 -0.07283498
3000 FAM20B 1_89 0.01162793 5.646490 1.910739e-07 0.42566925
9689 TOR3A 1_89 0.01290010 6.665230 2.502238e-07 -0.64642141
5471 ABL2 1_89 0.01076231 4.887752 1.530858e-07 -0.04638378
488 SOAT1 1_89 0.01077835 4.902361 1.537723e-07 -0.14955596
8115 TOR1AIP2 1_89 0.01385837 7.368623 2.971794e-07 0.78824459
5474 TOR1AIP1 1_89 0.01079531 4.917774 1.544983e-07 -0.06998621
4638 CEP350 1_89 0.07003229 23.413546 4.771839e-06 2.60666770
3008 QSOX1 1_89 0.01776894 9.810972 5.073338e-07 -0.88131950
3408 LHX4 1_89 0.01270871 6.518524 2.410855e-07 -0.58114341
10985 ACBD6 1_89 0.01312880 6.837704 2.612496e-07 -0.67591937
5472 XPR1 1_89 0.03035228 15.088806 1.332805e-06 1.57690324
6242 MR1 1_89 0.01166887 5.680964 1.929173e-07 0.40422440
num_eqtl
5475 1
3000 2
9689 1
5471 1
488 1
8115 1
5474 1
4638 2
3008 2
3408 1
10985 2
5472 2
6242 1
[1] "MYLIP"
[1] "6_13"
genename region_tag susie_pip mu2 PVE z
400 DTNBP1 6_13 0.02860113 18.95287 1.577533e-06 1.8923854
124 MYLIP 6_13 0.04435810 60.40923 7.798240e-06 7.6255853
4815 GMPR 6_13 0.01199418 10.08070 3.518694e-07 0.2287813
num_eqtl
400 1
124 2
4815 2
[1] "OSBPL5"
[1] "11_2"
genename region_tag susie_pip mu2 PVE z
926 TOLLIP 11_2 0.006160904 10.214374 1.831372e-07 -1.0061479
9283 MOB2 11_2 0.022373224 22.461556 1.462476e-06 2.2322104
9505 DUSP8 11_2 0.005845863 9.686359 1.647895e-07 1.2015225
10705 KRTAP5-1 11_2 0.011842910 16.720565 5.762749e-07 -1.7341826
11154 IFITM10 11_2 0.004380811 7.157201 9.124689e-08 -0.8538633
3146 CTSD 11_2 0.007265680 11.818079 2.498869e-07 1.2145887
4092 TNNI2 11_2 0.004015087 6.109796 7.139075e-08 0.4977574
11498 PRR33 11_2 0.004002117 10.140565 1.181061e-07 2.3364566
4091 TNNT3 11_2 0.003621137 5.106873 5.381711e-08 -0.1660737
7739 IGF2 11_2 0.003697792 5.248015 5.647521e-08 0.1447958
9430 ASCL2 11_2 0.005486983 8.823787 1.408993e-07 -0.8044614
2490 C11orf21 11_2 0.005108486 8.271166 1.229644e-07 -0.7504724
9483 TSSC4 11_2 0.004979682 8.267078 1.198047e-07 -0.9083240
9230 PHLDA2 11_2 0.042282811 28.319389 3.484721e-06 -2.5765310
10684 NAP1L4 11_2 0.023872801 23.185995 1.610829e-06 -2.2381727
264 OSBPL5 11_2 0.010227791 15.060578 4.482743e-07 -1.6475511
67 ZNF195 11_2 0.006533222 10.790621 2.051607e-07 1.1476065
9121 TH 11_2 0.019978909 22.182752 1.289756e-06 2.0988645
10704 KRTAP5-6 11_2 0.003565239 4.943416 5.129041e-08 0.1958622
num_eqtl
926 2
9283 2
9505 1
10705 1
11154 1
3146 2
4092 1
11498 2
4091 2
7739 1
9430 1
2490 2
9483 1
9230 1
10684 1
264 1
67 2
9121 1
10704 1
[1] "SCARB1"
[1] "12_76"
genename region_tag susie_pip mu2 PVE z
783 SCARB1 12_76 0.01085499 6.677057 2.109282e-07 -1.3579091
6067 UBC 12_76 0.01625268 8.980081 4.247423e-07 0.9059691
989 AACS 12_76 0.01054104 4.949806 1.518419e-07 -0.1677513
num_eqtl
783 1
6067 1
989 1
[1] "VDAC3"
[1] "8_37"
genename region_tag susie_pip mu2 PVE z
726 AP3M2 8_37 0.01099514 4.890908 1.564986e-07 0.05910212
1883 PLAT 8_37 0.01118234 5.056476 1.645511e-07 0.21579258
916 VDAC3 8_37 0.02413724 12.620228 8.864927e-07 -1.36061259
7956 SLC20A2 8_37 0.01109030 4.975420 1.605807e-07 -0.16025834
8800 SMIM19 8_37 0.01541142 8.205119 3.679999e-07 -0.94189615
4214 THAP1 8_37 0.01141163 5.255561 1.745368e-07 0.37945049
7904 HOOK3 8_37 0.04227812 18.165690 2.235053e-06 1.92228894
3375 RNF170 8_37 0.04227812 18.165690 2.235053e-06 1.92228894
num_eqtl
726 2
1883 1
916 1
7956 1
8800 1
4214 2
7904 1
3375 1
[1] "LRP2"
[1] "2_103"
genename region_tag susie_pip mu2 PVE z
985 LRP2 2_103 0.02559175 7.604825 5.663821e-07 0.79845416
7037 BBS5 2_103 0.02709222 8.167116 6.439225e-07 0.88589081
11043 KLHL41 2_103 0.02017266 5.260063 3.087980e-07 -0.32742036
4983 FASTKD1 2_103 0.02950679 9.010327 7.737182e-07 0.94743244
4982 PPIG 2_103 0.03453530 10.566877 1.062014e-06 -1.42103959
6339 CCDC173 2_103 0.03411324 10.445052 1.036941e-06 -1.48870855
10748 KLHL23 2_103 0.05164323 14.564571 2.188928e-06 1.87611424
5600 PHOSPHO2 2_103 0.02029781 5.320945 3.143100e-07 0.29104367
4980 SSB 2_103 0.03566095 10.884620 1.129605e-06 1.22773041
4979 METTL5 2_103 0.01946597 4.909079 2.780971e-07 0.11571328
5599 UBR3 2_103 0.01946824 4.910225 2.781944e-07 0.07450539
num_eqtl
985 1
7037 1
11043 1
4983 1
4982 2
6339 2
10748 2
5600 1
4980 1
4979 1
5599 1
[1] "CETP"
[1] "16_31"
genename region_tag susie_pip mu2 PVE z
1124 GNAO1 16_31 0.003680345 6.124133 6.559239e-08 -0.5287206
6691 AMFR 16_31 0.004455057 7.447171 9.655281e-08 -0.1575098
7705 NUDT21 16_31 0.003829329 6.775611 7.550773e-08 -0.7871671
3680 BBS2 16_31 0.025655051 23.674546 1.767563e-06 -1.9394865
1122 MT3 16_31 0.003370911 5.268538 5.168418e-08 0.2341288
8089 MT1E 16_31 0.003486220 5.678848 5.761497e-08 0.5732896
10677 MT1M 16_31 0.004949659 11.987867 1.726782e-07 2.0216456
10675 MT1A 16_31 0.004504360 9.827193 1.288199e-07 1.4769985
10351 MT1F 16_31 0.133151024 38.128561 1.477458e-05 -2.7354541
9777 MT1X 16_31 0.003219809 5.046597 4.728779e-08 -0.4099722
1740 NUP93 16_31 0.025824258 24.687813 1.855371e-06 2.2052448
438 HERPUD1 16_31 0.007473568 25.191845 5.479088e-07 3.8902988
1120 CETP 16_31 0.061035840 119.998320 2.131476e-05 10.0796427
5238 NLRC5 16_31 0.095295432 158.412454 4.393207e-05 11.8602110
5237 CPNE2 16_31 0.003422601 5.468307 5.446649e-08 0.2383750
8465 FAM192A 16_31 0.003574084 6.203467 6.452375e-08 -0.7860456
6694 RSPRY1 16_31 0.004967032 11.139485 1.610209e-07 -1.8323801
1745 PLLP 16_31 0.020108368 25.147676 1.471618e-06 -2.6643131
81 CX3CL1 16_31 0.003492670 6.156490 6.257646e-08 -0.8286220
1747 CCL17 16_31 0.005159967 8.978459 1.348246e-07 0.7431888
52 CIAPIN1 16_31 0.010907464 17.620765 5.593309e-07 -1.8832189
1154 COQ9 16_31 0.004741912 8.556702 1.180810e-07 -0.8460399
3684 DOK4 16_31 0.004203656 7.862653 9.618703e-08 -0.9949426
4626 CCDC102A 16_31 0.003370930 5.408918 5.306161e-08 0.4189398
10672 ADGRG1 16_31 0.010880124 16.757261 5.305877e-07 -1.6283995
6684 CES5A 16_31 0.003276383 5.494043 5.238501e-08 -0.6992828
9341 ADGRG3 16_31 0.005630543 10.347419 1.695519e-07 -1.0805254
5239 KATNB1 16_31 0.024172334 24.568869 1.728320e-06 -2.0992094
5240 KIFC3 16_31 0.030404275 26.810501 2.372247e-06 -2.2243116
7566 ZNF319 16_31 0.003246301 4.967501 4.692962e-08 0.1401284
1754 USB1 16_31 0.003374732 5.346878 5.251216e-08 0.3145636
1753 MMP15 16_31 0.009983046 15.939584 4.630846e-07 -1.5466217
729 CFAP20 16_31 0.003282951 5.076654 4.850230e-08 0.2120079
730 CSNK2A2 16_31 0.003293683 5.112437 4.900383e-08 -0.1989588
9256 GINS3 16_31 0.004209944 7.512376 9.203943e-08 -0.7366718
1757 NDRG4 16_31 0.003261510 5.013618 4.758722e-08 0.1679672
3679 CNOT1 16_31 0.036250819 28.163934 2.971197e-06 -2.5789307
1759 SLC38A7 16_31 0.005992823 10.896632 1.900396e-07 1.2166483
3683 GOT2 16_31 0.024271457 24.401175 1.723562e-06 2.2579371
num_eqtl
1124 1
6691 1
7705 2
3680 2
1122 1
8089 1
10677 1
10675 2
10351 1
9777 1
1740 2
438 2
1120 1
5238 1
5237 1
8465 1
6694 1
1745 2
81 1
1747 1
52 2
1154 2
3684 2
4626 2
10672 3
6684 2
9341 1
5239 2
5240 1
7566 1
1754 1
1753 1
729 2
730 2
9256 2
1757 1
3679 2
1759 1
3683 2
[1] "PLTP"
[1] "20_28"
genename region_tag susie_pip mu2 PVE z
6004 JPH2 20_28 0.002107909 4.965733 3.046180e-08 0.34475118
4307 OSER1 20_28 0.002499552 6.627864 4.821210e-08 -0.75955007
10183 FITM2 20_28 0.002173406 7.622494 4.821234e-08 1.70850449
4308 SERINC3 20_28 0.004135425 10.810424 1.301017e-07 1.05515959
7969 PKIG 20_28 0.013194569 20.381402 7.826175e-07 -1.92973723
10117 ADA 20_28 0.002159902 6.275170 3.944390e-08 -1.11873945
3615 KCNK15 20_28 0.002607530 6.793455 5.155139e-08 -0.46584654
7686 YWHAB 20_28 0.002932901 7.880371 6.726116e-08 0.92140948
292 TOMM34 20_28 0.002143561 5.178177 3.230227e-08 -0.21559970
1617 STK4 20_28 0.002301388 5.788528 3.876843e-08 -0.65248556
3588 SLPI 20_28 0.002485549 6.364733 4.603868e-08 -0.56680056
3613 RBPJL 20_28 0.005308415 13.931448 2.152194e-07 1.21973824
3594 MATN4 20_28 0.002270332 5.509852 3.640405e-08 -0.72142554
3591 SDC4 20_28 0.625955627 23.902800 4.354243e-05 -3.92072709
10520 SYS1 20_28 0.002114007 4.927588 3.031525e-08 -0.53036749
11155 DBNDD2 20_28 0.002585244 7.573187 5.697713e-08 0.76276385
3616 TP53TG5 20_28 0.002326945 7.074786 4.790930e-08 -1.22434355
3589 WFDC3 20_28 0.002834388 12.643380 1.042900e-07 0.89942952
1683 DNTTIP1 20_28 0.010960848 17.310755 5.521797e-07 1.67362043
8688 UBE2C 20_28 0.003185034 10.090203 9.352641e-08 -1.29063071
3587 SNX21 20_28 0.032689020 29.670586 2.822593e-06 -2.25095415
1685 ACOT8 20_28 0.002774416 8.295233 6.697621e-08 0.46314131
7959 ZSWIM1 20_28 0.298972256 30.799682 2.679769e-05 -0.64131988
1597 PLTP 20_28 0.988328266 61.285277 1.762697e-04 -5.73249075
1598 PCIF1 20_28 0.002142542 21.226255 1.323497e-07 2.96018585
10296 ZNF335 20_28 0.002202296 5.272123 3.378949e-08 0.03190689
1600 MMP9 20_28 0.008157296 18.066459 4.288837e-07 1.76632544
3595 NCOA5 20_28 0.003843563 10.749396 1.202371e-07 1.06921473
1608 CD40 20_28 0.006407653 14.133128 2.635467e-07 -1.05986939
num_eqtl
6004 1
4307 2
10183 1
4308 2
7969 1
10117 1
3615 2
7686 1
292 1
1617 1
3588 2
3613 1
3594 1
3591 1
10520 1
11155 1
3616 2
3589 1
1683 2
8688 1
3587 1
1685 2
7959 1
1597 1
1598 1
10296 1
1600 1
3595 1
1608 1
[1] "VAPA"
[1] "18_7"
genename region_tag susie_pip mu2 PVE z
10717 RAB12 18_7 0.006636761 4.954209 9.568652e-08 0.12307404
8965 NDUFV2 18_7 0.018357223 14.933989 7.978167e-07 1.42705574
1703 ANKRD12 18_7 0.008766145 7.679572 1.959142e-07 -0.88970104
240 RALBP1 18_7 0.010329569 9.288103 2.792091e-07 1.17137395
7942 RAB31 18_7 0.006596708 4.894949 9.397141e-08 -0.03549012
1691 VAPA 18_7 0.007815922 6.555594 1.491120e-07 0.65728943
4444 NAPG 18_7 0.008587255 7.477549 1.868676e-07 0.86713591
num_eqtl
10717 1
8965 2
1703 2
240 1
7942 2
1691 1
4444 2
[1] "KPNB1"
[1] "17_27"
genename region_tag susie_pip mu2 PVE z
8491 DCAKD 17_27 0.008537839 5.147164 1.278899e-07 -0.15093721
6674 ARHGAP27 17_27 0.011000430 7.665166 2.453870e-07 1.03438725
10949 PLEKHM1 17_27 0.008407479 4.920681 1.203958e-07 0.03569373
3310 KANSL1 17_27 0.008594611 5.326695 1.332307e-07 -0.08580432
9745 MAPT 17_27 0.009293840 5.874721 1.588922e-07 -0.72635506
8835 LRRC37A 17_27 0.009538089 5.928930 1.645728e-07 -0.35529825
11035 LRRC37A2 17_27 0.015878364 10.674543 4.932594e-07 2.39235673
9637 ARL17A 17_27 0.010681031 7.314914 2.273750e-07 1.91468530
802 NSF 17_27 0.012659609 10.456506 3.852363e-07 -2.06053407
2301 WNT3 17_27 0.017312295 13.098574 6.599317e-07 -1.55730420
2310 GOSR2 17_27 0.022779510 13.629088 9.035069e-07 1.29704343
41 CDC27 17_27 0.009249028 8.406503 2.262725e-07 -1.62384444
11302 ITGB3 17_27 0.010390411 8.877383 2.684343e-07 -1.54695220
9025 EFCAB13 17_27 0.019832422 75.205023 4.340531e-06 8.44569556
5279 NPEPPS 17_27 0.012656296 16.202775 5.967828e-07 -3.02425642
2309 KPNB1 17_27 0.134099378 94.442341 3.685648e-05 -9.79048644
10475 TBKBP1 17_27 0.018313364 89.453656 4.767454e-06 -9.31875195
num_eqtl
8491 1
6674 2
10949 1
3310 1
9745 1
8835 1
11035 1
9637 2
802 1
2301 1
2310 2
41 1
11302 2
9025 4
5279 1
2309 2
10475 2
[1] "ALDH2"
[1] "12_67"
genename region_tag susie_pip mu2 PVE z
5110 TCHP 12_67 0.02861095 13.930251 1.159876e-06 -1.4894537
5109 GIT2 12_67 0.02583750 13.672579 1.028067e-06 -1.7413096
8630 C12orf76 12_67 0.01171724 6.863512 2.340411e-07 -1.0008849
3515 IFT81 12_67 0.01010617 5.540653 1.629551e-07 -1.0591835
10062 ANAPC7 12_67 0.01119440 6.499880 2.117515e-07 -1.0505294
2531 ARPC3 12_67 0.01379577 8.148617 3.271525e-07 1.1143107
10638 FAM216A 12_67 0.01056511 5.605584 1.723516e-07 -0.6987263
2532 GPN3 12_67 0.01321618 8.492523 3.266351e-07 -1.4783205
2533 VPS29 12_67 0.01330878 8.569038 3.318874e-07 1.4871406
10637 TCTN1 12_67 0.03129890 16.854133 1.535168e-06 2.1771229
3517 HVCN1 12_67 0.01040318 5.647592 1.709817e-07 -0.8757995
9690 PPP1CC 12_67 0.01015044 5.258568 1.553362e-07 0.7231339
10340 FAM109A 12_67 0.01020038 5.852796 1.737401e-07 0.8704329
2536 SH2B3 12_67 0.08037262 57.471917 1.344263e-05 -7.8354247
10634 ATXN2 12_67 0.04987002 18.564121 2.694227e-06 -0.7777805
2541 ALDH2 12_67 0.02384309 32.739341 2.271710e-06 -6.4436064
10335 TMEM116 12_67 0.04333216 32.143343 4.053420e-06 5.8049447
1191 ERP29 12_67 0.04333216 32.143343 4.053420e-06 -5.8049447
2544 NAA25 12_67 0.04722809 33.220814 4.565948e-06 5.8544343
8497 HECTD4 12_67 0.04859386 34.103125 4.822763e-06 -5.8468005
9066 PTPN11 12_67 0.01341448 10.394694 4.057942e-07 2.2253869
num_eqtl
5110 2
5109 2
8630 1
3515 2
10062 1
2531 1
10638 1
2532 1
2533 1
10637 1
3517 1
9690 1
10340 1
2536 1
10634 1
2541 1
10335 1
1191 1
2544 1
8497 2
9066 1
[1] "APOA1"
[1] "11_70"
genename region_tag susie_pip mu2 PVE z
4866 BUD13 11_70 0.006652541 36.783048 7.121239e-07 4.1152798
3154 APOA1 11_70 0.004977961 6.666250 9.657248e-08 1.1245588
7893 PAFAH1B2 11_70 0.005808001 12.283372 2.076178e-07 1.5109282
6002 SIDT2 11_70 0.004820577 5.460637 7.660597e-08 0.5010452
6003 TAGLN 11_70 0.005362219 18.452406 2.879505e-07 -1.5544477
6781 PCSK7 11_70 0.014838164 16.385549 7.075571e-07 0.9793569
7740 RNF214 11_70 0.005570582 6.561488 1.063710e-07 -0.5246893
2466 CEP164 11_70 0.005433415 5.756802 9.102789e-08 -0.3009496
9693 BACE1 11_70 0.005211448 21.012388 3.186795e-07 -4.1370626
4879 FXYD2 11_70 0.005442460 6.097671 9.657831e-08 -0.3686949
2465 APOA5 11_70 0.035870809 144.172605 1.505027e-05 -11.3599104
num_eqtl
4866 1
3154 2
7893 2
6002 1
6003 1
6781 1
7740 1
2466 2
9693 1
4879 2
2465 1
[1] "STARD3"
[1] "17_23"
genename region_tag susie_pip mu2 PVE z
11416 EPOP 17_23 0.01018521 4.903822 1.453533e-07 0.10212845
11473 PSMB3 17_23 0.03817701 17.916116 1.990518e-06 1.86851784
11459 PIP4K2B 17_23 0.01563066 9.107067 4.142629e-07 -1.00157125
11415 CWC25 17_23 0.01833844 10.677720 5.698508e-07 1.12510751
16 LASP1 17_23 0.04794980 20.180461 2.816036e-06 2.06384703
11341 LINC00672 17_23 0.27951704 38.437288 3.126665e-05 3.44802187
6844 PLXDC1 17_23 0.01198571 6.500264 2.267332e-07 -0.56588683
2297 FBXL20 17_23 0.02215547 12.539130 8.084787e-07 1.93901635
3730 MED1 17_23 0.01680737 9.820512 4.803461e-07 -1.61159879
4201 STARD3 17_23 0.01028412 4.998572 1.496006e-07 -0.23742268
8592 TCAP 17_23 0.01400054 8.025340 3.269855e-07 1.04770013
5341 PNMT 17_23 0.01489305 8.632261 3.741350e-07 -1.18214485
5339 ERBB2 17_23 0.02213027 12.527902 8.068361e-07 -2.05698477
6845 PGAP3 17_23 0.02343016 13.090312 8.925766e-07 -2.32009373
5340 GRB7 17_23 0.01345768 7.637105 2.991020e-07 1.40133264
6846 IKZF3 17_23 0.15668196 32.204437 1.468436e-05 3.46618563
8383 ORMDL3 17_23 0.03165120 16.059570 1.479260e-06 2.65535738
7855 GSDMA 17_23 0.03283868 16.423911 1.569577e-06 2.76336370
2299 CSF3 17_23 0.09690912 27.253871 7.686226e-06 -3.20456334
3799 NR1D1 17_23 0.01377690 7.867158 3.154202e-07 0.81175389
9934 MSL1 17_23 0.01289194 7.215508 2.707108e-07 0.98720359
2300 RAPGEFL1 17_23 0.01520668 8.836884 3.910696e-07 0.89662465
8311 WIPF2 17_23 0.01016244 4.881877 1.443793e-07 -0.18486875
1306 CDC6 17_23 0.01187807 6.411711 2.216359e-07 0.39474659
5342 IGFBP4 17_23 0.01226133 6.723295 2.399055e-07 -0.57588470
4200 TNS4 17_23 0.01016579 4.885106 1.445224e-07 0.02859681
3798 CCR7 17_23 0.01107772 5.727480 1.846437e-07 -0.44220762
793 SMARCE1 17_23 0.01030264 5.016211 1.503989e-07 -0.19593698
10766 KRT222 17_23 0.01019958 4.917649 1.459689e-07 0.11407193
num_eqtl
11416 2
11473 2
11459 1
11415 3
16 1
11341 2
6844 1
2297 1
3730 2
4201 2
8592 1
5341 2
5339 2
6845 2
5340 3
6846 1
8383 2
7855 2
2299 1
3799 1
9934 1
2300 1
8311 2
1306 2
5342 1
4200 1
3798 1
793 2
10766 1
[1] "PPARG"
[1] "3_9"
genename region_tag susie_pip mu2 PVE z
10217 ATG7 3_9 0.006541037 10.944865 2.083422e-07 1.3918010
5613 TAMM41 3_9 0.004960988 9.627578 1.389970e-07 1.3248879
6513 TIMP4 3_9 0.005839052 8.105019 1.377262e-07 0.2250754
4230 PPARG 3_9 0.003416012 10.864993 1.080113e-07 -2.5953663
6358 TSEN2 3_9 0.039134019 29.600460 3.371112e-06 4.4713068
856 MKRN2 3_9 0.007489997 16.012033 3.490185e-07 -3.6699820
10950 MKRN2OS 3_9 0.035819464 27.327393 2.848640e-06 -4.6283852
4229 RAF1 3_9 0.003267551 5.476745 5.207930e-08 0.8372135
5630 CAND2 3_9 0.025259009 27.528115 2.023546e-06 -3.2762482
5631 RPL32 3_9 0.003949139 6.790413 7.804031e-08 -0.6189583
num_eqtl
10217 2
5613 3
6513 1
4230 1
6358 1
856 2
10950 2
4229 1
5630 1
5631 2
[1] "LPIN3"
[1] "20_25"
genename region_tag susie_pip mu2 PVE z
10463 TOP1 20_25 0.014224219 20.16234 8.346218e-07 -3.5381597
3599 PLCG1 20_25 0.025435828 13.39397 9.914604e-07 0.3851962
8619 ZHX3 20_25 0.008823486 12.74128 3.271700e-07 -2.7679026
4305 LPIN3 20_25 0.013590714 48.47867 1.917402e-06 6.7056744
9438 EMILIN3 20_25 0.022265516 95.31972 6.176405e-06 9.5886863
3598 CHD6 20_25 0.011599040 11.60400 3.916967e-07 -2.2478722
num_eqtl
10463 2
3599 2
8619 1
4305 2
9438 2
3598 1
[1] "FADS2"
[1] "11_34"
genename region_tag susie_pip mu2 PVE
9952 FAM111B 11_34 0.005230053 4.999695 7.609741e-08
7657 FAM111A 11_34 0.008453083 9.507167 2.338765e-07
2444 DTX4 11_34 0.005252939 5.057754 7.731796e-08
10233 MPEG1 11_34 0.005322465 5.240237 8.116785e-08
7679 PATL1 11_34 0.073452043 30.302161 6.477356e-06
7682 STX3 11_34 0.005241213 5.031822 7.674983e-08
7683 MRPL16 11_34 0.008509679 9.459980 2.342738e-07
5994 MS4A2 11_34 0.009775964 10.827149 3.080307e-07
2453 MS4A6A 11_34 0.005825609 5.969181 1.011990e-07
10858 MS4A4E 11_34 0.006663000 7.495673 1.453452e-07
7692 MS4A7 11_34 0.005289681 5.213120 8.025045e-08
7693 MS4A14 11_34 0.027433830 20.813367 1.661686e-06
2455 CCDC86 11_34 0.005830781 6.003373 1.018691e-07
2456 PRPF19 11_34 0.010429551 12.016570 3.647257e-07
2457 TMEM109 11_34 0.011780592 12.997879 4.456151e-07
2480 SLC15A3 11_34 0.005538267 6.053225 9.756208e-08
2481 CD5 11_34 0.005319157 5.293454 8.194119e-08
7869 VPS37C 11_34 0.006080449 6.175346 1.092741e-07
7870 VWCE 11_34 0.005401244 5.523350 8.681937e-08
6898 CYB561A3 11_34 0.006860145 10.058732 2.008153e-07
5987 TMEM138 11_34 0.006860145 10.058732 2.008153e-07
9761 TMEM216 11_34 0.005162902 4.937297 7.418283e-08
5993 CPSF7 11_34 0.005909651 9.746807 1.676272e-07
11272 RP11-286N22.8 11_34 0.005698965 5.836942 9.680587e-08
6899 PPP1R32 11_34 0.006247655 6.494796 1.180872e-07
4506 TMEM258 11_34 0.014008032 118.454371 4.828904e-06
7950 FEN1 11_34 0.006053442 144.303483 2.542140e-06
4505 FADS2 11_34 0.006053442 144.303483 2.542140e-06
5988 FADS1 11_34 0.999840450 163.462911 4.756311e-04
10926 FADS3 11_34 0.011442055 21.240847 7.072878e-07
7871 BEST1 11_34 0.005602649 18.935563 3.087393e-07
5991 INCENP 11_34 0.005219317 5.857239 8.896658e-08
6900 ASRGL1 11_34 0.005308929 5.188641 8.016427e-08
1196 GANAB 11_34 0.006009233 69.921655 1.222788e-06
z num_eqtl
9952 -0.13037299 1
7657 0.90603922 2
2444 0.25803323 2
10233 0.28885901 1
7679 3.33481738 2
7682 -0.11158533 2
7683 1.12142967 2
5994 -1.13520665 1
2453 0.54425280 1
10858 0.84824716 1
7692 -0.33913351 2
7693 -1.82545467 3
2455 -0.45273095 3
2456 1.43277325 2
2457 1.42183198 1
2480 0.82141077 1
2481 0.34613847 1
7869 0.02401413 1
7870 -0.54063901 2
6898 -1.78280456 1
5987 -1.78280456 1
9761 -0.22016462 2
5993 -2.06104458 1
11272 -0.42704781 1
6899 -0.38265325 1
4506 -10.56344602 2
7950 12.07263520 1
4505 12.07263520 1
5988 12.92635131 2
10926 3.28941682 1
7871 -3.74480413 1
5991 -0.91700127 2
6900 -0.25008439 1
1196 -8.20472330 1
[1] "CD36"
[1] "7_51"
genename region_tag susie_pip mu2 PVE z
4555 CD36 7_51 0.01196963 5.094144 1.774485e-07 -0.2565559
830 SEMA3C 7_51 0.01675306 8.395701 4.093281e-07 -0.9287340
num_eqtl
4555 1
830 2
[1] "CYP27A1"
[1] "2_129"
genename region_tag susie_pip mu2 PVE z
3880 VIL1 2_129 0.728801050 27.029713 5.732852e-05 4.72553123
9866 RUFY4 2_129 0.012879444 8.808556 3.301582e-07 0.99185402
9168 CXCR2 2_129 0.020992113 12.178006 7.439652e-07 -1.47518963
7085 CXCR1 2_129 0.010225421 6.010540 1.788607e-07 0.56376400
7086 ARPC2 2_129 0.035671069 16.996639 1.764410e-06 -1.94043222
3881 AAMP 2_129 0.042913328 18.224155 2.275935e-06 -1.90836173
3882 PNKD 2_129 0.060507483 21.638124 3.810211e-06 -2.20803733
4653 TMBIM1 2_129 0.047236891 19.107269 2.626638e-06 -1.95759457
243 SLC11A1 2_129 0.009440865 5.223569 1.435157e-07 0.05100451
4647 USP37 2_129 0.093241880 22.409778 6.080914e-06 -4.24456021
5616 CNOT9 2_129 0.019370515 17.648846 9.948962e-07 3.65097314
2934 PLCD4 2_129 0.022267068 18.195333 1.179080e-06 -3.71953627
813 BCS1L 2_129 0.009574317 6.002949 1.672603e-07 -0.95838574
2936 ZNF142 2_129 0.009497431 5.899208 1.630497e-07 0.93284395
7090 STK36 2_129 0.025230832 18.552605 1.362250e-06 3.84018758
4654 CYP27A1 2_129 0.009725369 10.748809 3.042193e-07 2.42017817
9812 NHEJ1 2_129 0.019281911 12.828405 7.198517e-07 1.61496057
10802 SLC23A3 2_129 0.011206026 6.606940 2.154628e-07 0.30848047
5615 FAM134A 2_129 0.026624877 14.690281 1.138251e-06 -1.33896546
2941 CNPPD1 2_129 0.012233891 7.729087 2.751776e-07 -0.77342844
2943 ABCB6 2_129 0.030364761 17.077567 1.509094e-06 1.84732093
10472 ATG9A 2_129 0.014520996 9.689626 4.094715e-07 -1.13410218
7096 ANKZF1 2_129 0.015258154 10.196318 4.527575e-07 -1.19578441
7099 GLB1L 2_129 0.009692858 5.433198 1.532596e-07 -0.12917630
3879 TUBA4A 2_129 0.011254857 6.857535 2.246096e-07 -0.56762321
4652 DNAJB2 2_129 0.010038875 5.829811 1.703177e-07 -0.48915334
3580 DNPEP 2_129 0.029447334 16.617292 1.424054e-06 1.83761320
8690 DES 2_129 0.039487998 19.519226 2.243097e-06 2.01667108
758 SPEG 2_129 0.009260584 5.084387 1.370242e-07 0.08326323
5618 GMPPA 2_129 0.011615626 7.309730 2.470952e-07 -0.73851578
3579 CHPF 2_129 0.009707377 5.610909 1.585095e-07 0.41418410
3582 OBSL1 2_129 0.016058970 10.841088 5.066533e-07 -1.30597047
num_eqtl
3880 1
9866 2
9168 1
7085 1
7086 1
3881 1
3882 1
4653 2
243 1
4647 3
5616 1
2934 1
813 1
2936 1
7090 2
4654 2
9812 2
10802 1
5615 1
2941 2
2943 1
10472 1
7096 2
7099 1
3879 1
4652 1
3580 2
8690 1
758 1
5618 1
3579 1
3582 1
[1] "NPC1"
[1] "18_12"
genename region_tag susie_pip mu2 PVE z
4475 CABLES1 18_12 0.01203878 5.045878 1.767826e-07 -0.14555775
4474 TMEM241 18_12 0.04948340 18.995965 2.735528e-06 -2.20305576
1708 RIOK3 18_12 0.02437324 11.981659 8.498661e-07 -1.34902775
5302 C18orf8 18_12 0.03470221 15.472324 1.562546e-06 1.82260744
5304 NPC1 18_12 0.07023047 22.499461 4.598519e-06 -2.39576123
454 LAMA3 18_12 0.01234690 5.293825 1.902163e-07 0.29544812
7909 TTC39C 18_12 0.04568030 18.200584 2.419550e-06 1.78807801
6307 CABYR 18_12 0.01184021 4.882709 1.682444e-07 -0.02760888
num_eqtl
4475 1
4474 2
1708 1
5302 2
5304 1
454 2
7909 3
6307 1
[1] "ABCG8"
[1] "2_27"
genename region_tag susie_pip mu2 PVE
5561 ABCG8 2_27 9.999453e-01 312.107672 9.082407e-04
2977 THADA 2_27 4.359515e-06 10.359815 1.314348e-10
6205 PLEKHH2 2_27 9.275146e-06 16.508012 4.455904e-10
10938 C1GALT1C1L 2_27 4.474559e-06 23.567595 3.068922e-10
4928 DYNC2LI1 2_27 9.683211e-07 8.220022 2.316395e-11
4941 LRPPRC 2_27 2.859681e-06 12.543645 1.043907e-10
z num_eqtl
5561 -20.29398177 1
2977 -3.41430719 2
6205 -3.06205348 2
10938 3.29570848 2
4928 -0.02538894 1
4941 -0.91853212 1
[1] "NCEH1"
[1] "3_106"
genename region_tag susie_pip mu2 PVE z
5659 NCEH1 3_106 0.01344703 6.991451 2.735986e-07 -0.6532732
num_eqtl
5659 1
[1] "STAR"
[1] "8_34"
genename region_tag susie_pip mu2 PVE z
5840 PROSC 8_34 0.018642599 12.394580 6.724478e-07 -1.18549708
4028 ASH2L 8_34 0.065427022 24.841934 4.730019e-06 -2.41270520
5839 STAR 8_34 0.077291410 26.518198 5.964795e-06 -2.50033778
8718 LSM1 8_34 0.008673304 4.884046 1.232777e-07 0.14152273
5847 NSD3 8_34 0.008685005 4.897256 1.237779e-07 -0.11421813
7406 LETM2 8_34 0.008806895 5.033817 1.290151e-07 -0.20655525
900 FGFR1 8_34 0.013741227 9.396794 3.757729e-07 -0.93406568
5843 TACC1 8_34 0.008688154 4.900804 1.239125e-07 0.04672639
8063 PLEKHA2 8_34 0.023527592 14.686389 1.005571e-06 1.82472982
8062 TM2D2 8_34 0.013381689 9.136392 3.558000e-07 0.88816290
7960 ADAM9 8_34 0.215530632 37.144005 2.329797e-05 3.07367713
num_eqtl
5840 1
4028 1
5839 1
8718 1
5847 2
7406 2
900 1
5843 2
8063 1
8062 2
7960 2
[1] "FADS1"
[1] "11_34"
genename region_tag susie_pip mu2 PVE
9952 FAM111B 11_34 0.005230053 4.999695 7.609741e-08
7657 FAM111A 11_34 0.008453083 9.507167 2.338765e-07
2444 DTX4 11_34 0.005252939 5.057754 7.731796e-08
10233 MPEG1 11_34 0.005322465 5.240237 8.116785e-08
7679 PATL1 11_34 0.073452043 30.302161 6.477356e-06
7682 STX3 11_34 0.005241213 5.031822 7.674983e-08
7683 MRPL16 11_34 0.008509679 9.459980 2.342738e-07
5994 MS4A2 11_34 0.009775964 10.827149 3.080307e-07
2453 MS4A6A 11_34 0.005825609 5.969181 1.011990e-07
10858 MS4A4E 11_34 0.006663000 7.495673 1.453452e-07
7692 MS4A7 11_34 0.005289681 5.213120 8.025045e-08
7693 MS4A14 11_34 0.027433830 20.813367 1.661686e-06
2455 CCDC86 11_34 0.005830781 6.003373 1.018691e-07
2456 PRPF19 11_34 0.010429551 12.016570 3.647257e-07
2457 TMEM109 11_34 0.011780592 12.997879 4.456151e-07
2480 SLC15A3 11_34 0.005538267 6.053225 9.756208e-08
2481 CD5 11_34 0.005319157 5.293454 8.194119e-08
7869 VPS37C 11_34 0.006080449 6.175346 1.092741e-07
7870 VWCE 11_34 0.005401244 5.523350 8.681937e-08
6898 CYB561A3 11_34 0.006860145 10.058732 2.008153e-07
5987 TMEM138 11_34 0.006860145 10.058732 2.008153e-07
9761 TMEM216 11_34 0.005162902 4.937297 7.418283e-08
5993 CPSF7 11_34 0.005909651 9.746807 1.676272e-07
11272 RP11-286N22.8 11_34 0.005698965 5.836942 9.680587e-08
6899 PPP1R32 11_34 0.006247655 6.494796 1.180872e-07
4506 TMEM258 11_34 0.014008032 118.454371 4.828904e-06
7950 FEN1 11_34 0.006053442 144.303483 2.542140e-06
4505 FADS2 11_34 0.006053442 144.303483 2.542140e-06
5988 FADS1 11_34 0.999840450 163.462911 4.756311e-04
10926 FADS3 11_34 0.011442055 21.240847 7.072878e-07
7871 BEST1 11_34 0.005602649 18.935563 3.087393e-07
5991 INCENP 11_34 0.005219317 5.857239 8.896658e-08
6900 ASRGL1 11_34 0.005308929 5.188641 8.016427e-08
1196 GANAB 11_34 0.006009233 69.921655 1.222788e-06
z num_eqtl
9952 -0.13037299 1
7657 0.90603922 2
2444 0.25803323 2
10233 0.28885901 1
7679 3.33481738 2
7682 -0.11158533 2
7683 1.12142967 2
5994 -1.13520665 1
2453 0.54425280 1
10858 0.84824716 1
7692 -0.33913351 2
7693 -1.82545467 3
2455 -0.45273095 3
2456 1.43277325 2
2457 1.42183198 1
2480 0.82141077 1
2481 0.34613847 1
7869 0.02401413 1
7870 -0.54063901 2
6898 -1.78280456 1
5987 -1.78280456 1
9761 -0.22016462 2
5993 -2.06104458 1
11272 -0.42704781 1
6899 -0.38265325 1
4506 -10.56344602 2
7950 12.07263520 1
4505 12.07263520 1
5988 12.92635131 2
10926 3.28941682 1
7871 -3.74480413 1
5991 -0.91700127 2
6900 -0.25008439 1
1196 -8.20472330 1
[1] "VDAC2"
[1] "10_49"
genename region_tag susie_pip mu2 PVE z
8451 AGAP5 10_49 0.02165522 12.214362 7.697571e-07 -1.3182844
3503 PLAU 10_49 0.03058326 15.620508 1.390270e-06 -1.6531888
9550 AP3M1 10_49 0.01031385 4.927143 1.478892e-07 -0.1414585
6442 ADK 10_49 0.01037661 4.986627 1.505854e-07 0.1803473
7471 VDAC2 10_49 0.09024570 26.429839 6.941308e-06 2.9474923
7472 COMTD1 10_49 0.08962445 26.359782 6.875252e-06 2.9437974
5933 C10orf11 10_49 0.18425564 33.812388 1.813080e-05 3.0743689
num_eqtl
8451 1
3503 1
9550 1
6442 2
7471 1
7472 1
5933 2
[1] "LIPC"
[1] "15_26"
genename region_tag susie_pip mu2 PVE z
7542 LIPC 15_26 0.013962558 49.065101 1.993692e-06 -6.5522867
4903 ADAM10 15_26 0.005471476 5.670372 9.028932e-08 0.4794027
4887 SLTM 15_26 0.005349729 5.478484 8.529282e-08 -0.7158866
6532 RNF111 15_26 0.005101935 4.967219 7.375110e-08 -0.2997052
8379 LDHAL6B 15_26 0.005157052 5.066558 7.603872e-08 -0.4439394
num_eqtl
7542 2
4903 2
4887 1
6532 1
8379 1
[1] "SOAT2"
[1] "12_33"
genename region_tag susie_pip mu2 PVE z
7829 KRT1 12_33 0.01567852 6.889690 3.143584e-07 -0.5707147
8183 KRT78 12_33 0.01297155 5.153721 1.945508e-07 -0.3499992
2519 KRT18 12_33 0.01872158 8.961866 4.882714e-07 1.0385365
8182 KRT8 12_33 0.04404145 17.068339 2.187626e-06 2.1131126
544 EIF4B 12_33 0.01286428 4.984951 1.866237e-07 -0.2219413
2521 TNS2 12_33 0.01872057 8.804345 4.796632e-07 -1.2384237
7833 SPRYD3 12_33 0.02314849 10.328944 6.958231e-07 1.3387675
7834 IGFBP6 12_33 0.01292706 5.031457 1.892840e-07 -0.5122792
7835 SOAT2 12_33 0.02789727 12.343617 1.002131e-06 -1.8512201
5136 ZNF740 12_33 0.08251081 22.538531 5.411987e-06 2.5490438
5131 CSAD 12_33 0.02523289 11.091233 8.144551e-07 -1.1787012
5129 ITGB7 12_33 0.01271637 4.882276 1.806782e-07 0.2090231
9308 MFSD5 12_33 0.03467391 13.190489 1.331018e-06 0.9418992
4593 ESPL1 12_33 0.01720185 8.895719 4.453245e-07 1.7545025
10674 PRR13 12_33 0.17278135 18.683714 9.394645e-06 -3.7752633
5122 TARBP2 12_33 0.02727360 13.254131 1.051996e-06 -3.0239203
4577 ATP5G2 12_33 0.01522674 9.290841 4.117012e-07 2.1099925
203 CALCOCO1 12_33 0.02924963 13.251956 1.128030e-06 -1.4132763
3549 SMUG1 12_33 0.01399419 5.840305 2.378503e-07 0.3968124
1308 CBX5 12_33 0.01458114 6.236418 2.646348e-07 0.6527662
num_eqtl
7829 1
8183 1
2519 1
8182 1
544 1
2521 2
7833 1
7834 1
7835 1
5136 2
5131 1
5129 2
9308 2
4593 3
10674 1
5122 1
4577 2
203 1
3549 1
1308 1
[1] "CYP7A1"
[1] "8_45"
genename region_tag susie_pip mu2 PVE z
10870 UBXN2B 8_45 0.011377602 28.23908 9.350214e-07 -3.666411
7854 CYP7A1 8_45 0.006251936 73.18465 1.331542e-06 -7.392476
num_eqtl
10870 3
7854 1
[1] "TNKS"
[1] "8_12"
genename region_tag susie_pip mu2 PVE z num_eqtl
8523 TNKS 8_12 0.9910883 76.1339 0.0002195891 11.03856 2
[1] "ADH1B"
[1] "4_66"
genename region_tag susie_pip mu2 PVE z
7975 TSPAN5 4_66 0.017262300 11.439332 5.746715e-07 -1.2572843
6088 EIF4E 4_66 0.010870816 6.940185 2.195601e-07 0.9082871
7217 METAP1 4_66 0.008970777 5.108314 1.333607e-07 -0.1831346
8489 ADH6 4_66 0.011815663 7.841077 2.696212e-07 0.7476788
10084 ADH1B 4_66 0.016863224 11.283544 5.537407e-07 -1.1153042
11178 ADH1C 4_66 0.116830162 28.900685 9.826151e-06 -2.8777923
10026 ADH7 4_66 0.010555759 10.321300 3.170620e-07 1.9474674
5053 MTTP 4_66 0.012613520 8.051769 2.955615e-07 -0.7972018
5684 TRMT10A 4_66 0.013089394 9.084595 3.460552e-07 -1.1240076
num_eqtl
7975 2
6088 1
7217 1
8489 2
10084 1
11178 3
10026 2
5053 1
5684 1
[1] "LPA"
[1] "6_104"
genename region_tag susie_pip mu2 PVE z
10399 LPA 6_104 5.024281e-06 33.189030 4.852760e-10 8.1196160
3449 PLG 6_104 8.044715e-06 24.683304 5.778754e-10 2.4097623
5797 SLC22A3 6_104 1.889484e-06 21.595986 1.187508e-10 -6.5929784
1074 MAP3K4 6_104 1.911126e-06 7.032457 3.911261e-11 0.7795492
num_eqtl
10399 1
3449 1
5797 1
1074 1
[1] "VDAC1"
[1] "5_80"
genename region_tag susie_pip mu2 PVE z
7306 SEPT8 5_80 0.02604641 12.411970 9.408252e-07 1.30260276
7307 SHROOM1 5_80 0.01936669 9.492149 5.349832e-07 1.11359154
7308 GDF9 5_80 0.01211913 4.886537 1.723427e-07 0.03182872
760 AFF4 5_80 0.01772255 8.619424 4.445543e-07 1.02990725
6396 ZCCHC10 5_80 0.01227575 5.012529 1.790710e-07 -0.15509357
8211 HSPA4 5_80 0.01211357 4.882035 1.721050e-07 -0.07731051
2763 C5orf15 5_80 0.01295416 5.540408 2.088677e-07 0.41873673
10776 VDAC1 5_80 0.04629023 18.108042 2.439389e-06 1.82176093
978 TCF7 5_80 0.03244093 14.581078 1.376586e-06 1.55983246
2759 SKP1 5_80 0.02177126 10.644410 6.744123e-07 -1.31317545
2761 PPP2CA 5_80 0.02260341 11.013955 7.244987e-07 1.31332571
102 CDKL3 5_80 0.01515813 7.083195 3.124606e-07 0.87889673
3214 UBE2B 5_80 0.01515813 7.083195 3.124606e-07 0.87889673
11029 CDKN2AIPNL 5_80 0.02520522 12.088082 8.866826e-07 -1.20322848
7335 CAMLG 5_80 0.01212293 4.889615 1.725054e-07 0.10493598
9253 C5orf24 5_80 0.01223096 4.976660 1.771409e-07 -0.20162988
4281 PCBD2 5_80 0.01618208 7.725474 3.638143e-07 0.78727304
681 PITX1 5_80 0.01370518 6.093630 2.430419e-07 0.52096477
num_eqtl
7306 1
7307 2
7308 1
760 1
6396 1
8211 2
2763 1
10776 1
978 1
2759 1
2761 2
102 1
3214 1
11029 2
7335 1
9253 1
4281 1
681 1
[1] "FADS3"
[1] "11_34"
genename region_tag susie_pip mu2 PVE
9952 FAM111B 11_34 0.005230053 4.999695 7.609741e-08
7657 FAM111A 11_34 0.008453083 9.507167 2.338765e-07
2444 DTX4 11_34 0.005252939 5.057754 7.731796e-08
10233 MPEG1 11_34 0.005322465 5.240237 8.116785e-08
7679 PATL1 11_34 0.073452043 30.302161 6.477356e-06
7682 STX3 11_34 0.005241213 5.031822 7.674983e-08
7683 MRPL16 11_34 0.008509679 9.459980 2.342738e-07
5994 MS4A2 11_34 0.009775964 10.827149 3.080307e-07
2453 MS4A6A 11_34 0.005825609 5.969181 1.011990e-07
10858 MS4A4E 11_34 0.006663000 7.495673 1.453452e-07
7692 MS4A7 11_34 0.005289681 5.213120 8.025045e-08
7693 MS4A14 11_34 0.027433830 20.813367 1.661686e-06
2455 CCDC86 11_34 0.005830781 6.003373 1.018691e-07
2456 PRPF19 11_34 0.010429551 12.016570 3.647257e-07
2457 TMEM109 11_34 0.011780592 12.997879 4.456151e-07
2480 SLC15A3 11_34 0.005538267 6.053225 9.756208e-08
2481 CD5 11_34 0.005319157 5.293454 8.194119e-08
7869 VPS37C 11_34 0.006080449 6.175346 1.092741e-07
7870 VWCE 11_34 0.005401244 5.523350 8.681937e-08
6898 CYB561A3 11_34 0.006860145 10.058732 2.008153e-07
5987 TMEM138 11_34 0.006860145 10.058732 2.008153e-07
9761 TMEM216 11_34 0.005162902 4.937297 7.418283e-08
5993 CPSF7 11_34 0.005909651 9.746807 1.676272e-07
11272 RP11-286N22.8 11_34 0.005698965 5.836942 9.680587e-08
6899 PPP1R32 11_34 0.006247655 6.494796 1.180872e-07
4506 TMEM258 11_34 0.014008032 118.454371 4.828904e-06
7950 FEN1 11_34 0.006053442 144.303483 2.542140e-06
4505 FADS2 11_34 0.006053442 144.303483 2.542140e-06
5988 FADS1 11_34 0.999840450 163.462911 4.756311e-04
10926 FADS3 11_34 0.011442055 21.240847 7.072878e-07
7871 BEST1 11_34 0.005602649 18.935563 3.087393e-07
5991 INCENP 11_34 0.005219317 5.857239 8.896658e-08
6900 ASRGL1 11_34 0.005308929 5.188641 8.016427e-08
1196 GANAB 11_34 0.006009233 69.921655 1.222788e-06
z num_eqtl
9952 -0.13037299 1
7657 0.90603922 2
2444 0.25803323 2
10233 0.28885901 1
7679 3.33481738 2
7682 -0.11158533 2
7683 1.12142967 2
5994 -1.13520665 1
2453 0.54425280 1
10858 0.84824716 1
7692 -0.33913351 2
7693 -1.82545467 3
2455 -0.45273095 3
2456 1.43277325 2
2457 1.42183198 1
2480 0.82141077 1
2481 0.34613847 1
7869 0.02401413 1
7870 -0.54063901 2
6898 -1.78280456 1
5987 -1.78280456 1
9761 -0.22016462 2
5993 -2.06104458 1
11272 -0.42704781 1
6899 -0.38265325 1
4506 -10.56344602 2
7950 12.07263520 1
4505 12.07263520 1
5988 12.92635131 2
10926 3.28941682 1
7871 -3.74480413 1
5991 -0.91700127 2
6900 -0.25008439 1
1196 -8.20472330 1
[1] "APOC2"
[1] "19_32"
genename region_tag susie_pip mu2 PVE z num_eqtl
6717 ZNF233 19_32 0 108.057904 0 -9.0705597 2
6718 ZNF235 19_32 0 105.786114 0 -9.2122953 1
538 ZNF112 19_32 0 146.110506 0 10.3860543 1
11373 ZNF285 19_32 0 14.598472 0 1.1285247 2
11479 ZNF229 19_32 0 120.884061 0 12.6270983 2
7755 ZNF180 19_32 0 37.584152 0 -4.4858272 3
781 PVR 19_32 0 165.830106 0 -6.1126994 2
9718 CEACAM19 19_32 0 61.973969 0 9.2937379 2
9782 BCAM 19_32 0 109.517128 0 4.6421318 1
4047 NECTIN2 19_32 0 109.144346 0 6.2726094 2
4049 TOMM40 19_32 0 25.428279 0 -1.4020544 1
4048 APOE 19_32 0 47.795350 0 -2.0092826 1
11016 APOC2 19_32 0 54.319893 0 -8.9816928 2
8225 ZNF296 19_32 0 111.433235 0 5.4593536 1
5375 GEMIN7 19_32 0 281.983786 0 14.0932174 2
104 MARK4 19_32 0 24.078173 0 -2.2463768 1
1930 PPP1R37 19_32 0 141.975229 0 -13.3753590 2
109 TRAPPC6A 19_32 0 30.349636 0 1.8816459 1
9959 BLOC1S3 19_32 0 11.079917 0 2.3014119 1
11497 EXOC3L2 19_32 0 25.565627 0 -1.3436507 1
1933 CKM 19_32 0 15.824857 0 -1.5738464 1
1937 ERCC2 19_32 0 11.397898 0 2.3273575 2
3143 CD3EAP 19_32 0 27.068183 0 -3.0806361 1
3737 FOSB 19_32 0 18.857038 0 -2.3658041 1
196 ERCC1 19_32 0 14.626679 0 -0.2091619 1
10800 PPM1N 19_32 0 31.275926 0 5.4808308 1
3740 RTN2 19_32 0 31.728332 0 5.5300783 1
3741 VASP 19_32 0 12.810715 0 1.8957985 1
3738 OPA3 19_32 0 13.510481 0 -0.4444358 2
1942 KLC3 19_32 0 10.288522 0 1.7718715 1
10801 CEACAM16 19_32 0 7.471532 0 1.8740580 1
11372 APOC4 19_32 0 50.783266 0 5.6977751 2
10892 IGSF23 19_32 0 12.688777 0 1.9670520 1
8895 GPR4 19_32 0 65.981391 0 -3.5802828 1
3739 SNRPD2 19_32 0 10.004620 0 1.0366923 1
189 QPCTL 19_32 0 24.433561 0 -2.0253056 2
1949 DMPK 19_32 0 20.480704 0 -1.8090245 1
9633 DMWD 19_32 0 19.559497 0 -1.7547946 1
3742 SYMPK 19_32 0 4.895048 0 -0.0525717 1
8798 MYPOP 19_32 0 21.177723 0 1.8490001 1
1963 CCDC61 19_32 0 27.221371 0 2.1648865 2
3628 HIF3A 19_32 0 20.496317 0 -1.8099296 2
190 PPP5C 19_32 0 13.408317 0 1.3374649 1
8068 CCDC8 19_32 0 7.452196 0 0.7343316 2
9259 PNMAL1 19_32 0 18.541969 0 -1.6928766 4
10636 PNMAL2 19_32 0 5.236359 0 -0.2727077 1
10987 PPP5D1 19_32 0 6.378447 0 -0.5603345 1
6722 CALM3 19_32 0 68.689319 0 3.6587617 2
#run APOE locus again using full SNPs
# focus <- "APOE"
# region_tag <- ctwas_res$region_tag[which(ctwas_res$genename==focus)]
#
# locus_plot(region_tag, label="TWAS", rerun_ctwas = T)
#
# mtext(text=region_tag)
#
# print(focus)
# print(region_tag)
# print(ctwas_gene_res[ctwas_gene_res$region_tag==region_tag,report_cols,])
This section produces locus plots for all bystander genes with PIP>0.8 (false positives). The highlighted gene at each region is the false positive gene.
false_positives <- ctwas_gene_res$genename[ctwas_gene_res$genename %in% unrelated_genes & ctwas_gene_res$susie_pip>0.8]
for (i in 1:length(false_positives)){
focus <- false_positives[i]
region_tag <- ctwas_res$region_tag[which(ctwas_res$genename==focus)]
#locus_plot3(region_tag, focus=focus)
#mtext(text=region_tag)
print(focus)
print(region_tag)
print(ctwas_gene_res[ctwas_gene_res$region_tag==region_tag,report_cols,])
#genes at this locus that are in known annotations
ctwas_gene_res$genename[ctwas_gene_res$region_tag==region_tag][ctwas_gene_res$genename[ctwas_gene_res$region_tag==region_tag] %in% known_annotations]
}
[1] "USP1"
[1] "1_39"
genename region_tag susie_pip mu2 PVE z
6952 TM2D1 1_39 0.06403075 22.83888 4.255823e-06 2.1432487
4314 KANK4 1_39 0.01028985 5.06552 1.516888e-07 0.5123038
6953 USP1 1_39 0.89412546 252.81074 6.578309e-04 16.2582110
4315 ANGPTL3 1_39 0.11675943 248.59480 8.447035e-05 16.1322287
3024 DOCK7 1_39 0.01151301 24.25695 8.127287e-07 4.4594815
3732 ATG4C 1_39 0.02898268 81.03714 6.835069e-06 -8.6477262
num_eqtl
6952 1
4314 1
6953 1
4315 1
3024 1
3732 1
[1] "DDX56"
[1] "7_32"
genename region_tag susie_pip mu2 PVE z
7325 STK17A 7_32 0.007512379 5.314318 1.161837e-07 0.54399967
2177 COA1 7_32 0.014388923 10.030650 4.200274e-07 -0.67121801
2178 BLVRA 7_32 0.007466620 5.133235 1.115412e-07 0.46600524
541 MRPS24 7_32 0.008410245 6.118586 1.497546e-07 0.38278180
2179 URGCP 7_32 0.008718215 6.484835 1.645306e-07 -0.66911858
927 UBE2D4 7_32 0.011453089 9.418195 3.139140e-07 1.19069954
4704 DBNL 7_32 0.009937964 6.897375 1.994810e-07 0.04523843
3488 POLM 7_32 0.007421918 4.990716 1.077952e-07 0.26627871
2183 AEBP1 7_32 0.027581259 20.555368 1.649908e-06 -2.62806186
2184 POLD2 7_32 0.016430712 12.958827 6.196442e-07 -1.42335267
2185 MYL7 7_32 0.009091720 6.663872 1.763165e-07 0.43964828
2186 GCK 7_32 0.007403649 5.086610 1.095960e-07 -0.25157092
500 CAMK2B 7_32 0.014799683 9.414382 4.054754e-07 -1.51472489
233 NPC1L1 7_32 0.951500358 86.827322 2.404283e-04 -10.76193109
4702 DDX56 7_32 0.949589246 59.831435 1.653429e-04 9.64186136
6615 TMED4 7_32 0.015394066 43.161175 1.933601e-06 7.55635222
2101 OGDH 7_32 0.007397224 20.084229 4.323587e-07 -1.43307182
num_eqtl
7325 1
2177 2
2178 1
541 1
2179 2
927 1
4704 2
3488 3
2183 1
2184 2
2185 1
2186 1
500 2
233 1
4702 2
6615 2
2101 2
This section produces locus plots for all detected genes with PIP>0.8. The highlighted gene at each region is the detected gene.
ctwas_genes <- ctwas_gene_res$genename[ctwas_gene_res$susie_pip>0.8]
for (i in 1:length(ctwas_genes)){
focus <- ctwas_genes[i]
region_tag <- ctwas_res$region_tag[which(ctwas_res$genename==focus)]
#locus_plot3(region_tag, focus=focus)
#mtext(text=region_tag)
print(focus)
print(region_tag)
print(ctwas_gene_res[ctwas_gene_res$region_tag==region_tag,report_cols,])
#genes at this locus that are in known annotations
ctwas_gene_res$genename[ctwas_gene_res$region_tag==region_tag][ctwas_gene_res$genename[ctwas_gene_res$region_tag==region_tag] %in% known_annotations]
}
[1] "KLHDC7A"
[1] "1_13"
genename region_tag susie_pip mu2 PVE z
9046 KLHDC7A 1_13 0.839336322 22.174198 5.416319e-05 4.12418690
6686 ALDH4A1 1_13 0.040885890 18.907373 2.249702e-06 1.85860317
3860 UBR4 1_13 0.013651189 8.113313 3.223213e-07 0.87170961
3858 EMC1 1_13 0.024446016 13.822784 9.833857e-07 1.42690360
450 MRTO4 1_13 0.012971531 7.623479 2.877827e-07 0.86168208
6937 AKR7A3 1_13 0.009762559 4.884739 1.387795e-07 0.01712738
449 AKR7A2 1_13 0.011003632 6.016645 1.926685e-07 0.47675224
368 PQLC2 1_13 0.025584100 14.200946 1.057323e-06 1.73710847
897 CAPZB 1_13 0.023230585 13.296011 8.988802e-07 -1.61616419
8536 MINOS1 1_13 0.010784954 5.856759 1.838214e-07 -0.56268675
6626 NBL1 1_13 0.037906661 18.257003 2.014027e-06 -1.73778385
8117 OTUD3 1_13 0.012286767 7.172652 2.564707e-07 0.72553685
9863 PLA2G2A 1_13 0.009786589 4.907159 1.397596e-07 -0.03109898
3859 PLA2G5 1_13 0.009979025 5.119527 1.486751e-07 0.27242326
num_eqtl
9046 1
6686 1
3860 1
3858 2
450 3
6937 1
449 2
368 1
897 1
8536 1
6626 1
8117 2
9863 3
3859 2
[1] "SYTL1"
[1] "1_19"
genename region_tag susie_pip mu2 PVE z
1208 SLC9A1 1_19 0.016368573 12.516231 5.962174e-07 0.8242160
5414 WDTC1 1_19 0.006592740 5.004408 9.601497e-08 0.2388824
9711 TMEM222 1_19 0.008085354 6.823422 1.605542e-07 0.7103953
5413 SYTL1 1_19 0.816315358 22.151995 5.262488e-05 -3.9628543
5410 MAP3K6 1_19 0.006664892 5.066533 9.827077e-08 0.1375359
9239 GPR3 1_19 0.046627018 22.916207 3.109572e-06 -2.5632576
3812 AHDC1 1_19 0.009124471 8.251844 2.191185e-07 -0.9518034
2 FGR 1_19 0.007711881 6.462400 1.450355e-07 -0.4280734
3813 IFI6 1_19 0.007336567 5.967127 1.274026e-07 0.4779112
3137 RPA2 1_19 0.021160385 15.740528 9.693110e-07 1.4385437
6584 XKR8 1_19 0.041157120 22.988866 2.753486e-06 2.1931171
6585 EYA3 1_19 0.028823228 20.040053 1.680977e-06 2.2584384
8052 PTAFR 1_19 0.033843263 20.265370 1.995938e-06 -2.3026382
3811 DNAJC8 1_19 0.035901071 20.936411 2.187409e-06 2.4234111
4120 ATPIF1 1_19 0.008532982 7.358292 1.827251e-07 0.9491624
4118 SESN2 1_19 0.030875061 20.329530 1.826651e-06 1.9368213
10528 PHACTR4 1_19 0.006565930 4.958109 9.473984e-08 0.2880057
9117 TRNAU1AP 1_19 0.006643452 5.075867 9.813511e-08 -0.2934564
10364 YTHDF2 1_19 0.010445276 9.339786 2.839077e-07 0.7533155
6648 EPB41 1_19 0.052810955 25.595666 3.933786e-06 2.1673577
11211 TMEM200B 1_19 0.015620703 13.360034 6.073352e-07 -1.3543841
3011 MECR 1_19 0.006553551 4.944819 9.430776e-08 -0.1173905
num_eqtl
1208 1
5414 1
9711 1
5413 1
5410 1
9239 1
3812 1
2 1
3813 1
3137 2
6584 1
6585 1
8052 2
3811 1
4120 2
4118 1
10528 2
9117 1
10364 1
6648 1
11211 2
3011 1
[1] "USP1"
[1] "1_39"
genename region_tag susie_pip mu2 PVE z
6952 TM2D1 1_39 0.06403075 22.83888 4.255823e-06 2.1432487
4314 KANK4 1_39 0.01028985 5.06552 1.516888e-07 0.5123038
6953 USP1 1_39 0.89412546 252.81074 6.578309e-04 16.2582110
4315 ANGPTL3 1_39 0.11675943 248.59480 8.447035e-05 16.1322287
3024 DOCK7 1_39 0.01151301 24.25695 8.127287e-07 4.4594815
3732 ATG4C 1_39 0.02898268 81.03714 6.835069e-06 -8.6477262
num_eqtl
6952 1
4314 1
6953 1
4315 1
3024 1
3732 1
[1] "PSRC1"
[1] "1_67"
genename region_tag susie_pip mu2 PVE z
4432 VAV3 1_67 0.072331052 23.984022 5.048555e-06 -2.1042470
1073 SLC25A24 1_67 0.010583507 6.711576 2.067162e-07 0.7669340
6962 FAM102B 1_67 0.008947551 6.069366 1.580403e-07 -1.1378586
3009 STXBP3 1_67 0.020367839 18.533872 1.098579e-06 2.9982594
3438 GPSM2 1_67 0.009262678 9.014560 2.429973e-07 -1.9348222
3437 CLCC1 1_67 0.008942304 8.876954 2.310115e-07 2.0741537
10252 TAF13 1_67 0.012617845 9.542366 3.503979e-07 -1.5591453
10884 TMEM167B 1_67 0.015152264 10.914079 4.812657e-07 -1.5270485
315 SARS 1_67 0.017286873 94.841709 4.771293e-06 9.5234950
4433 PSRC1 1_67 1.000000000 1667.484226 4.852684e-03 -41.6873361
5434 PSMA5 1_67 0.009264375 1162.070054 3.133060e-05 -34.7082992
5429 SYPL2 1_67 0.018314294 102.702945 5.473856e-06 -10.0061619
6966 ATXN7L2 1_67 0.011192676 324.780782 1.057900e-05 -18.0802866
8606 CYB561D1 1_67 0.078868608 97.687204 2.242137e-05 9.0965610
9238 AMIGO1 1_67 0.020892030 27.762057 1.687923e-06 -3.9630816
6441 GPR61 1_67 0.009036523 22.894710 6.020836e-07 4.2425343
587 GNAI3 1_67 0.059218947 31.226804 5.381564e-06 -3.8408490
7972 GSTM4 1_67 0.015854487 25.640909 1.183058e-06 4.2073985
10761 GSTM2 1_67 0.012167772 19.493276 6.902655e-07 3.5633272
4428 GSTM1 1_67 0.021439335 29.000157 1.809389e-06 4.2590068
4431 GSTM3 1_67 0.009629517 20.856759 5.844826e-07 -3.9042305
4430 GSTM5 1_67 0.012623446 8.133483 2.987960e-07 0.8040299
num_eqtl
4432 1
1073 2
6962 1
3009 1
3438 1
3437 2
10252 1
10884 1
315 1
4433 1
5434 2
5429 2
6966 2
8606 3
9238 1
6441 1
587 1
7972 3
10761 2
4428 1
4431 3
4430 5
[1] "CNIH4"
[1] "1_114"
genename region_tag susie_pip mu2 PVE z
5504 TAF1A 1_114 0.016692949 12.197192 5.925340e-07 1.4014771
6332 MIA3 1_114 0.013526713 10.292670 4.051731e-07 -1.2661500
9664 AIDA 1_114 0.010284196 7.324322 2.192089e-07 0.7815990
6333 DISP1 1_114 0.009788181 6.884718 1.961139e-07 0.7740448
9794 TLR5 1_114 0.008437614 5.300530 1.301545e-07 -0.2374584
5506 SUSD4 1_114 0.008227123 5.132145 1.228760e-07 0.3654254
10492 CAPN8 1_114 0.022207879 14.658509 9.473647e-07 1.7371846
7006 CAPN2 1_114 0.109031716 29.315750 9.301953e-06 2.7742423
5508 TP53BP2 1_114 0.016718105 12.338185 6.002866e-07 -1.4944573
5540 FBXO28 1_114 0.008093583 5.686445 1.339374e-07 0.9428678
5537 NVL 1_114 0.008300113 9.335069 2.254872e-07 2.0538249
5542 CNIH4 1_114 0.978970196 40.692621 1.159326e-04 6.1455352
7009 WDR26 1_114 0.016087170 31.939366 1.495293e-06 5.1224937
num_eqtl
5504 1
6332 2
9664 1
6333 2
9794 1
5506 2
10492 1
7006 1
5508 1
5540 1
5537 2
5542 2
7009 1
[1] "ALLC"
[1] "2_2"
genename region_tag susie_pip mu2 PVE z
4080 PXDN 2_2 0.007920786 4.929850 1.136377e-07 0.09623675
317 TSSC1 2_2 0.008408081 5.640880 1.380270e-07 0.49619906
8360 TRAPPC12 2_2 0.010727635 7.901933 2.466935e-07 0.81244052
8363 RNASEH1 2_2 0.017852323 16.690403 8.671253e-07 -2.43420101
3147 COLEC11 2_2 0.008897500 13.248783 3.430554e-07 2.84212718
6097 ALLC 2_2 0.813375260 28.040535 6.637393e-05 4.91906562
num_eqtl
4080 1
317 1
8360 2
8363 1
3147 3
6097 1
[1] "ABCG8"
[1] "2_27"
genename region_tag susie_pip mu2 PVE
5561 ABCG8 2_27 9.999453e-01 312.107672 9.082407e-04
2977 THADA 2_27 4.359515e-06 10.359815 1.314348e-10
6205 PLEKHH2 2_27 9.275146e-06 16.508012 4.455904e-10
10938 C1GALT1C1L 2_27 4.474559e-06 23.567595 3.068922e-10
4928 DYNC2LI1 2_27 9.683211e-07 8.220022 2.316395e-11
4941 LRPPRC 2_27 2.859681e-06 12.543645 1.043907e-10
z num_eqtl
5561 -20.29398177 1
2977 -3.41430719 2
6205 -3.06205348 2
10938 3.29570848 2
4928 -0.02538894 1
4941 -0.91853212 1
[1] "INSIG2"
[1] "2_69"
genename region_tag susie_pip mu2 PVE z
3722 CCDC93 2_69 0.005039170 16.987650 2.491223e-07 -0.9219207
3720 INSIG2 2_69 0.999995676 68.372629 1.989760e-04 -8.9827018
2874 STEAP3 2_69 0.002397196 8.410097 5.867118e-08 0.7711392
9673 C2orf76 2_69 0.002445358 8.114377 5.774547e-08 0.8903864
6400 DBI 2_69 0.076467184 38.714172 8.615200e-06 2.9337259
8288 TMEM37 2_69 0.034263551 31.699836 3.160892e-06 -2.7137262
957 SCTR 2_69 0.002553274 8.709759 6.471780e-08 -0.7747395
7034 CFAP221 2_69 0.002558028 8.615777 6.413868e-08 0.9062939
5583 TMEM177 2_69 0.002206148 7.491908 4.810025e-08 -0.8894764
1141 PTPN4 2_69 0.001731603 5.113906 2.577040e-08 0.3099958
2875 EPB41L5 2_69 0.006538236 17.811060 3.388993e-07 -1.7313568
10961 TMEM185B 2_69 0.007078671 18.295626 3.768941e-07 1.6870929
5582 RALB 2_69 0.002138079 7.017875 4.366663e-08 0.5995499
num_eqtl
3722 2
3720 3
2874 1
9673 1
6400 1
8288 3
957 1
7034 2
5583 1
1141 1
2875 1
10961 2
5582 1
[1] "INHBB"
[1] "2_70"
genename region_tag susie_pip mu2 PVE z
7036 INHBB 2_70 0.98251094 73.798638 2.110115e-04 -8.5189356
803 GLI2 2_70 0.01070244 4.961768 1.545395e-07 -0.2100791
2876 TFCP2L1 2_70 0.02263891 12.072954 7.954068e-07 1.2932606
804 CLASP1 2_70 0.02113599 11.489697 7.067268e-07 -1.5242793
6403 NIFK 2_70 0.01075220 4.974567 1.556586e-07 -0.1061535
num_eqtl
7036 1
803 2
2876 2
804 1
6403 1
[1] "ACVR1C"
[1] "2_94"
genename region_tag susie_pip mu2 PVE z
2882 CYTIP 2_94 0.04543381 23.71707 3.135888e-06 2.307489
3562 ACVR1C 2_94 0.93203716 25.78698 6.994458e-05 -4.687370
num_eqtl
2882 1
3562 2
[1] "PELO"
[1] "5_31"
genename region_tag susie_pip mu2 PVE z
10811 ITGA1 5_31 0.027833879 26.559284 2.151347e-06 -2.9570873
6217 PELO 5_31 0.936301386 70.560297 1.922633e-04 8.2883976
7265 ITGA2 5_31 0.003427661 5.215867 5.202891e-08 -0.2133965
7266 MOCS2 5_31 0.003639655 5.809416 6.153370e-08 -0.4432482
7285 NDUFS4 5_31 0.005239748 9.103195 1.388112e-07 0.8369535
num_eqtl
10811 3
6217 2
7265 2
7266 2
7285 2
[1] "CSNK1G3"
[1] "5_75"
genename region_tag susie_pip mu2 PVE z num_eqtl
6090 CSNK1G3 5_75 0.9745191 83.85862 0.0002378255 9.116291 1
[1] "TRIM39"
[1] "6_24"
genename region_tag susie_pip mu2 PVE z
10618 TRIM31 6_24 0.006280849 12.684343 2.318498e-07 1.8999864
10616 TRIM10 6_24 0.010137926 51.242676 1.511824e-06 6.6910512
10622 HLA-G 6_24 0.004752024 34.297853 4.743139e-07 5.5622548
10718 HLA-A 6_24 0.003904357 10.181996 1.156918e-07 -2.2771603
624 ZNRD1 6_24 0.003935536 7.301523 8.362530e-08 1.1866028
10619 RNF39 6_24 0.003181388 5.557633 5.145490e-08 0.6571415
11008 TRIM26 6_24 0.007471838 19.358813 4.209461e-07 4.1585905
10612 TRIM39 6_24 0.998588470 71.897515 2.089396e-04 8.8401635
10607 ABCF1 6_24 0.004353582 23.497310 2.977044e-07 4.7680737
10605 MRPS18B 6_24 0.003932567 7.057364 8.076793e-08 0.6214977
10604 C6orf136 6_24 0.005608699 12.156889 1.984289e-07 -2.1024238
10603 DHX16 6_24 0.005092827 10.286831 1.524617e-07 -1.3095481
5764 PPP1R18 6_24 0.003272272 15.552962 1.481095e-07 3.9539049
4834 NRM 6_24 0.003272429 7.430290 7.076139e-08 0.2949348
4831 FLOT1 6_24 0.031810195 30.351321 2.809728e-06 -3.8526336
num_eqtl
10618 2
10616 1
10622 1
10718 3
624 2
10619 1
11008 1
10612 3
10607 1
10605 1
10604 2
10603 3
5764 2
4834 1
4831 2
[1] "SP4"
[1] "7_19"
genename region_tag susie_pip mu2 PVE z
2092 SP4 7_19 0.975945553 101.98305 2.896502e-04 10.693191
2094 DNAH11 7_19 0.008784712 13.49567 3.450183e-07 -1.424257
4695 RAPGEF5 7_19 0.050187183 29.39310 4.292977e-06 -2.533433
num_eqtl
2092 1
2094 1
4695 1
[1] "NPC1L1"
[1] "7_32"
genename region_tag susie_pip mu2 PVE z
7325 STK17A 7_32 0.007512379 5.314318 1.161837e-07 0.54399967
2177 COA1 7_32 0.014388923 10.030650 4.200274e-07 -0.67121801
2178 BLVRA 7_32 0.007466620 5.133235 1.115412e-07 0.46600524
541 MRPS24 7_32 0.008410245 6.118586 1.497546e-07 0.38278180
2179 URGCP 7_32 0.008718215 6.484835 1.645306e-07 -0.66911858
927 UBE2D4 7_32 0.011453089 9.418195 3.139140e-07 1.19069954
4704 DBNL 7_32 0.009937964 6.897375 1.994810e-07 0.04523843
3488 POLM 7_32 0.007421918 4.990716 1.077952e-07 0.26627871
2183 AEBP1 7_32 0.027581259 20.555368 1.649908e-06 -2.62806186
2184 POLD2 7_32 0.016430712 12.958827 6.196442e-07 -1.42335267
2185 MYL7 7_32 0.009091720 6.663872 1.763165e-07 0.43964828
2186 GCK 7_32 0.007403649 5.086610 1.095960e-07 -0.25157092
500 CAMK2B 7_32 0.014799683 9.414382 4.054754e-07 -1.51472489
233 NPC1L1 7_32 0.951500358 86.827322 2.404283e-04 -10.76193109
4702 DDX56 7_32 0.949589246 59.831435 1.653429e-04 9.64186136
6615 TMED4 7_32 0.015394066 43.161175 1.933601e-06 7.55635222
2101 OGDH 7_32 0.007397224 20.084229 4.323587e-07 -1.43307182
num_eqtl
7325 1
2177 2
2178 1
541 1
2179 2
927 1
4704 2
3488 3
2183 1
2184 2
2185 1
2186 1
500 2
233 1
4702 2
6615 2
2101 2
[1] "DDX56"
[1] "7_32"
genename region_tag susie_pip mu2 PVE z
7325 STK17A 7_32 0.007512379 5.314318 1.161837e-07 0.54399967
2177 COA1 7_32 0.014388923 10.030650 4.200274e-07 -0.67121801
2178 BLVRA 7_32 0.007466620 5.133235 1.115412e-07 0.46600524
541 MRPS24 7_32 0.008410245 6.118586 1.497546e-07 0.38278180
2179 URGCP 7_32 0.008718215 6.484835 1.645306e-07 -0.66911858
927 UBE2D4 7_32 0.011453089 9.418195 3.139140e-07 1.19069954
4704 DBNL 7_32 0.009937964 6.897375 1.994810e-07 0.04523843
3488 POLM 7_32 0.007421918 4.990716 1.077952e-07 0.26627871
2183 AEBP1 7_32 0.027581259 20.555368 1.649908e-06 -2.62806186
2184 POLD2 7_32 0.016430712 12.958827 6.196442e-07 -1.42335267
2185 MYL7 7_32 0.009091720 6.663872 1.763165e-07 0.43964828
2186 GCK 7_32 0.007403649 5.086610 1.095960e-07 -0.25157092
500 CAMK2B 7_32 0.014799683 9.414382 4.054754e-07 -1.51472489
233 NPC1L1 7_32 0.951500358 86.827322 2.404283e-04 -10.76193109
4702 DDX56 7_32 0.949589246 59.831435 1.653429e-04 9.64186136
6615 TMED4 7_32 0.015394066 43.161175 1.933601e-06 7.55635222
2101 OGDH 7_32 0.007397224 20.084229 4.323587e-07 -1.43307182
num_eqtl
7325 1
2177 2
2178 1
541 1
2179 2
927 1
4704 2
3488 3
2183 1
2184 2
2185 1
2186 1
500 2
233 1
4702 2
6615 2
2101 2
[1] "POP7"
[1] "7_62"
genename region_tag susie_pip mu2 PVE z
6818 COL26A1 7_62 0.007510354 9.921117 2.168409e-07 -1.0934877
2148 PCOLCE 7_62 0.004547108 6.131839 8.114211e-08 0.4456737
2147 MOSPD3 7_62 0.007268662 17.456884 3.692679e-07 -3.0345058
2146 TFR2 7_62 0.004710494 14.751775 2.022232e-07 -2.7178930
8418 GNB2 7_62 0.005851974 30.402831 5.177698e-07 2.9857631
5819 GIGYF1 7_62 0.030615087 40.199939 3.581634e-06 5.5613973
8411 POP7 7_62 0.823485405 40.374372 9.675691e-05 -5.8452584
4075 EPO 7_62 0.016529418 29.817903 1.434349e-06 1.9129756
5818 SLC12A9 7_62 0.004743302 8.929457 1.232611e-07 1.4921680
10042 EPHB4 7_62 0.005559474 14.119640 2.284429e-07 -1.1990947
1111 TRIP6 7_62 0.004690497 16.415901 2.240804e-07 -1.2652057
1114 SRRT 7_62 0.940511612 32.600634 8.922992e-05 5.4249961
8793 UFSP1 7_62 0.005098370 9.114377 1.352317e-07 -1.2307073
8111 MUC3A 7_62 0.004749441 7.502393 1.036961e-07 2.6904529
8107 TRIM56 7_62 0.004603988 5.535002 7.416045e-08 0.3959637
2156 PLOD3 7_62 0.005428106 6.704146 1.059039e-07 -0.5465542
2158 CLDN15 7_62 0.010382070 12.293952 3.714461e-07 -1.4208181
10836 FIS1 7_62 0.030124708 22.872038 2.005155e-06 2.2090311
3936 IFT22 7_62 0.004751419 5.848573 8.087114e-08 0.8174671
num_eqtl
6818 1
2148 1
2147 1
2146 2
8418 2
5819 1
8411 1
4075 1
5818 1
10042 1
1111 2
1114 2
8793 1
8111 1
8107 2
2156 1
2158 2
10836 1
3936 1
[1] "SRRT"
[1] "7_62"
genename region_tag susie_pip mu2 PVE z
6818 COL26A1 7_62 0.007510354 9.921117 2.168409e-07 -1.0934877
2148 PCOLCE 7_62 0.004547108 6.131839 8.114211e-08 0.4456737
2147 MOSPD3 7_62 0.007268662 17.456884 3.692679e-07 -3.0345058
2146 TFR2 7_62 0.004710494 14.751775 2.022232e-07 -2.7178930
8418 GNB2 7_62 0.005851974 30.402831 5.177698e-07 2.9857631
5819 GIGYF1 7_62 0.030615087 40.199939 3.581634e-06 5.5613973
8411 POP7 7_62 0.823485405 40.374372 9.675691e-05 -5.8452584
4075 EPO 7_62 0.016529418 29.817903 1.434349e-06 1.9129756
5818 SLC12A9 7_62 0.004743302 8.929457 1.232611e-07 1.4921680
10042 EPHB4 7_62 0.005559474 14.119640 2.284429e-07 -1.1990947
1111 TRIP6 7_62 0.004690497 16.415901 2.240804e-07 -1.2652057
1114 SRRT 7_62 0.940511612 32.600634 8.922992e-05 5.4249961
8793 UFSP1 7_62 0.005098370 9.114377 1.352317e-07 -1.2307073
8111 MUC3A 7_62 0.004749441 7.502393 1.036961e-07 2.6904529
8107 TRIM56 7_62 0.004603988 5.535002 7.416045e-08 0.3959637
2156 PLOD3 7_62 0.005428106 6.704146 1.059039e-07 -0.5465542
2158 CLDN15 7_62 0.010382070 12.293952 3.714461e-07 -1.4208181
10836 FIS1 7_62 0.030124708 22.872038 2.005155e-06 2.2090311
3936 IFT22 7_62 0.004751419 5.848573 8.087114e-08 0.8174671
num_eqtl
6818 1
2148 1
2147 1
2146 2
8418 2
5819 1
8411 1
4075 1
5818 1
10042 1
1111 2
1114 2
8793 1
8111 1
8107 2
2156 1
2158 2
10836 1
3936 1
[1] "TNKS"
[1] "8_12"
genename region_tag susie_pip mu2 PVE z num_eqtl
8523 TNKS 8_12 0.9910883 76.1339 0.0002195891 11.03856 2
[1] "TTC39B"
[1] "9_13"
genename region_tag susie_pip mu2 PVE z
7392 FREM1 9_13 0.009381600 6.570543 1.793901e-07 -0.7657943
6387 TTC39B 9_13 0.945002632 23.146023 6.365459e-05 -4.3344945
7401 PSIP1 9_13 0.008132809 5.225124 1.236680e-07 -0.1267424
7402 CCDC171 9_13 0.019513055 14.131658 8.024882e-07 1.3999919
num_eqtl
7392 1
6387 3
7401 1
7402 3
[1] "ABCA1"
[1] "9_53"
genename region_tag susie_pip mu2 PVE z
7405 ABCA1 9_53 0.995531405 70.135749 2.031958e-04 7.9820172
2193 FKTN 9_53 0.001393116 7.316812 2.966397e-08 -0.7642857
1314 TMEM38B 9_53 0.002218186 7.826102 5.052006e-08 0.7019380
num_eqtl
7405 1
2193 1
1314 1
[1] "PKN3"
[1] "9_66"
genename region_tag susie_pip mu2 PVE z
4759 SLC2A8 9_66 0.068811390 23.926846 4.791440e-06 2.24352568
9996 ZNF79 9_66 0.012288406 7.615735 2.723502e-07 0.77712710
10283 RPL12 9_66 0.010376521 6.067732 1.832308e-07 -0.51960784
5911 LRSAM1 9_66 0.010430452 6.114016 1.855880e-07 -0.52945366
7714 TTC16 9_66 0.099811679 27.273313 7.922086e-06 -2.75354394
9757 PTRH1 9_66 0.125844575 29.439859 1.078178e-05 2.77341492
6770 TOR2A 9_66 0.038387606 19.070959 2.130511e-06 -2.02016307
4751 CDK9 9_66 0.017168955 11.731583 5.861662e-07 1.34031830
4769 FPGS 9_66 0.013596292 8.628767 3.414204e-07 -1.25891648
2206 AK1 9_66 0.090546366 27.958936 7.367361e-06 -2.57597920
7715 PIP5KL1 9_66 0.013063990 8.536132 3.245318e-07 -0.91196868
4775 DPM2 9_66 0.009014268 4.883992 1.281226e-07 -0.06389099
7717 FAM102A 9_66 0.009090777 4.976039 1.316452e-07 -0.18720260
8276 NAIF1 9_66 0.009953042 6.040594 1.749669e-07 0.76473103
5907 PTGES2 9_66 0.010825848 6.667832 2.100714e-07 -0.68400156
8273 C9orf16 9_66 0.019281789 12.882705 7.228941e-07 -1.56062112
2205 DNM1 9_66 0.009332534 5.159377 1.401255e-07 -0.03148047
5908 CIZ1 9_66 0.013633442 9.895377 3.926071e-07 1.45216473
8766 SWI5 9_66 0.011195170 7.247384 2.361197e-07 0.90300624
7719 GOLGA2 9_66 0.011211414 7.262034 2.369403e-07 0.90499286
7720 TRUB2 9_66 0.009425518 5.383603 1.476721e-07 -0.42682678
7721 COQ4 9_66 0.010864708 6.773494 2.141663e-07 -0.72747156
7722 SLC27A4 9_66 0.009018571 4.926548 1.293007e-07 -0.22400631
7723 URM1 9_66 0.015399241 10.554529 4.729971e-07 -1.34407272
7724 CERCAM 9_66 0.009857769 6.150006 1.764308e-07 0.82174371
4752 ODF2 9_66 0.011269970 6.633743 2.175714e-07 -0.08915811
3231 GLE1 9_66 0.010037141 5.730839 1.673973e-07 -0.05017191
3229 WDR34 9_66 0.015747377 11.204213 5.134639e-07 -1.51238558
6774 PKN3 9_66 0.938039023 47.460536 1.295609e-04 -6.62056344
6773 ZER1 9_66 0.017014979 12.061198 5.972308e-07 -1.59085655
10469 SPOUT1 9_66 0.044886257 41.558501 5.428672e-06 6.08145910
8713 PHYHD1 9_66 0.016295710 14.825475 7.030759e-07 2.42012620
5909 SH3GLB2 9_66 0.009715398 7.430772 2.100946e-07 1.50152646
5910 MIGA2 9_66 0.019505722 11.665263 6.621813e-07 -0.95630165
7725 DOLPP1 9_66 0.009630430 6.542715 1.833682e-07 1.14465789
3230 PTPA 9_66 0.009310136 5.149594 1.395241e-07 -0.15029681
9883 IER5L 9_66 0.009667786 5.448437 1.532919e-07 -0.17840816
num_eqtl
4759 2
9996 2
10283 1
5911 1
7714 1
9757 1
6770 2
4751 1
4769 2
2206 2
7715 1
4775 1
7717 1
8276 1
5907 1
8273 1
2205 3
5908 2
8766 1
7719 1
7720 1
7721 2
7722 2
7723 2
7724 1
4752 1
3231 2
3229 1
6774 1
6773 1
10469 1
8713 2
5909 1
5910 1
7725 1
3230 2
9883 2
[1] "C10orf88"
[1] "10_77"
genename region_tag susie_pip mu2 PVE z
4950 BTBD16 10_77 0.007379023 5.047371 1.083888e-07 -0.04216993
2243 PLEKHA1 10_77 0.009013898 6.626265 1.738208e-07 -0.29700640
11236 ARMS2 10_77 0.007484775 5.171944 1.126556e-07 0.16720845
7541 HTRA1 10_77 0.010286403 8.576781 2.567486e-07 1.06231164
4952 CUZD1 10_77 0.021189310 28.258497 1.742554e-06 6.01571079
3300 C10orf88 10_77 0.937148705 37.076725 1.011184e-04 -6.78784968
9109 PSTK 10_77 0.007527128 8.742938 1.915169e-07 2.16086938
1323 IKZF5 10_77 0.007918711 11.753050 2.708478e-07 2.97786269
9999 ACADSB 10_77 0.010423860 9.646873 2.926412e-07 -0.89038329
6338 BUB3 10_77 0.020877258 14.666469 8.910854e-07 -1.42773974
3433 CPXM2 10_77 0.008660652 6.537352 1.647680e-07 -0.55035547
9260 CHST15 10_77 0.095973810 29.095448 8.126398e-06 2.54909229
num_eqtl
4950 1
2243 2
11236 1
7541 1
4952 1
3300 2
9109 1
1323 1
9999 1
6338 1
3433 3
9260 2
[1] "CRACR2B"
[1] "11_1"
genename region_tag susie_pip mu2 PVE z
8942 BET1L 11_1 0.01378096 5.757610 2.309097e-07 -0.40212789
8944 RIC8A 11_1 0.01378096 5.757610 2.309097e-07 0.40212789
5359 SIRT3 11_1 0.02386470 11.162654 7.752535e-07 1.29003053
8668 NLRP6 11_1 0.01282353 5.050079 1.884630e-07 0.19757709
5361 PGGHG 11_1 0.01269314 4.926764 1.819915e-07 -0.15005033
10710 IFITM5 11_1 0.01668980 7.617421 3.699809e-07 -0.81738659
9562 IFITM2 11_1 0.01342131 5.501090 2.148642e-07 -0.39762396
5360 IFITM3 11_1 0.01592390 7.131468 3.304826e-07 0.66102182
9291 B4GALNT4 11_1 0.01878924 8.831492 4.829071e-07 1.00482168
9557 ANO9 11_1 0.02717734 12.152582 9.611603e-07 1.19094318
8671 PTDSS2 11_1 0.01263700 4.882872 1.795724e-07 -0.01332315
273 RNH1 11_1 0.17313192 30.513832 1.537426e-05 -2.84654431
6843 LRRC56 11_1 0.01273509 4.973177 1.843131e-07 -0.06438340
1384 RASSF7 11_1 0.01909852 9.132959 5.076115e-07 -1.19574303
9605 LMNTD2 11_1 0.01267921 5.010694 1.848887e-07 0.42215739
705 PHRF1 11_1 0.01313572 5.197615 1.986910e-07 -0.07527668
9601 IRF7 11_1 0.01971272 8.904479 5.108289e-07 1.04870999
1382 CDHR5 11_1 0.04168348 16.061412 1.948354e-06 1.66042301
693 DRD4 11_1 0.01780696 7.998284 4.144831e-07 -0.83874711
8871 EPS8L2 11_1 0.02861558 13.761684 1.146026e-06 -1.88289274
8863 TMEM80 11_1 0.03890595 17.030117 1.928208e-06 -2.19786114
8861 DEAF1 11_1 0.01758338 8.617047 4.409417e-07 1.32699971
8879 PDDC1 11_1 0.01516537 6.457023 2.849744e-07 0.35584667
9504 CEND1 11_1 0.01313423 5.236582 2.001579e-07 -0.20100861
11434 PANO1 11_1 0.02858209 14.919297 1.240974e-06 2.47594943
8906 PIDD1 11_1 0.04157438 18.632280 2.254302e-06 -2.65297750
8918 CRACR2B 11_1 0.82744474 21.521229 5.182346e-05 -3.98958546
8923 POLR2L 11_1 0.01572082 7.372383 3.372899e-07 1.04277695
10825 TSPAN4 11_1 0.01992788 10.288183 5.966505e-07 1.60665874
9357 AP2A2 11_1 0.01359117 5.651300 2.235247e-07 0.29403916
9539 MUC6 11_1 0.04245621 16.265988 2.009750e-06 1.52515226
num_eqtl
8942 1
8944 1
5359 1
8668 2
5361 3
10710 1
9562 3
5360 1
9291 1
9557 1
8671 1
273 2
6843 2
1384 1
9605 4
705 3
9601 1
1382 1
693 2
8871 1
8863 2
8861 1
8879 1
9504 1
11434 2
8906 1
8918 1
8923 1
10825 3
9357 2
9539 1
[1] "SPTY2D1"
[1] "11_13"
genename region_tag susie_pip mu2 PVE z
3984 TPH1 11_13 0.01080622 5.567530 1.750881e-07 0.5316129
5956 SAA4 11_13 0.01028655 5.027362 1.504978e-07 0.3403122
8535 SAA1 11_13 0.02640889 15.826917 1.216373e-06 2.0879173
2496 HPS5 11_13 0.01956194 10.685441 6.083096e-07 1.3233158
2497 GTF2H1 11_13 0.07017263 24.133512 4.928429e-06 2.7026227
4457 LDHA 11_13 0.01068007 5.261772 1.635410e-07 -0.1566216
7656 LDHC 11_13 0.01029319 5.780719 1.731618e-07 -1.0369222
809 TSG101 11_13 0.01094895 5.502053 1.753144e-07 0.2531320
11174 SPTY2D1-AS1 11_13 0.02524149 17.862608 1.312140e-06 2.5288799
9054 SPTY2D1 11_13 0.82512807 33.415113 8.023883e-05 -5.5571227
6078 TMEM86A 11_13 0.01126077 5.674084 1.859449e-07 0.1080051
8864 ZDHHC13 11_13 0.01061722 5.225222 1.614493e-07 0.1576041
num_eqtl
3984 1
5956 2
8535 1
2496 2
2497 2
4457 1
7656 1
809 1
11174 1
9054 1
6078 1
8864 1
[1] "FADS1"
[1] "11_34"
genename region_tag susie_pip mu2 PVE
9952 FAM111B 11_34 0.005230053 4.999695 7.609741e-08
7657 FAM111A 11_34 0.008453083 9.507167 2.338765e-07
2444 DTX4 11_34 0.005252939 5.057754 7.731796e-08
10233 MPEG1 11_34 0.005322465 5.240237 8.116785e-08
7679 PATL1 11_34 0.073452043 30.302161 6.477356e-06
7682 STX3 11_34 0.005241213 5.031822 7.674983e-08
7683 MRPL16 11_34 0.008509679 9.459980 2.342738e-07
5994 MS4A2 11_34 0.009775964 10.827149 3.080307e-07
2453 MS4A6A 11_34 0.005825609 5.969181 1.011990e-07
10858 MS4A4E 11_34 0.006663000 7.495673 1.453452e-07
7692 MS4A7 11_34 0.005289681 5.213120 8.025045e-08
7693 MS4A14 11_34 0.027433830 20.813367 1.661686e-06
2455 CCDC86 11_34 0.005830781 6.003373 1.018691e-07
2456 PRPF19 11_34 0.010429551 12.016570 3.647257e-07
2457 TMEM109 11_34 0.011780592 12.997879 4.456151e-07
2480 SLC15A3 11_34 0.005538267 6.053225 9.756208e-08
2481 CD5 11_34 0.005319157 5.293454 8.194119e-08
7869 VPS37C 11_34 0.006080449 6.175346 1.092741e-07
7870 VWCE 11_34 0.005401244 5.523350 8.681937e-08
6898 CYB561A3 11_34 0.006860145 10.058732 2.008153e-07
5987 TMEM138 11_34 0.006860145 10.058732 2.008153e-07
9761 TMEM216 11_34 0.005162902 4.937297 7.418283e-08
5993 CPSF7 11_34 0.005909651 9.746807 1.676272e-07
11272 RP11-286N22.8 11_34 0.005698965 5.836942 9.680587e-08
6899 PPP1R32 11_34 0.006247655 6.494796 1.180872e-07
4506 TMEM258 11_34 0.014008032 118.454371 4.828904e-06
7950 FEN1 11_34 0.006053442 144.303483 2.542140e-06
4505 FADS2 11_34 0.006053442 144.303483 2.542140e-06
5988 FADS1 11_34 0.999840450 163.462911 4.756311e-04
10926 FADS3 11_34 0.011442055 21.240847 7.072878e-07
7871 BEST1 11_34 0.005602649 18.935563 3.087393e-07
5991 INCENP 11_34 0.005219317 5.857239 8.896658e-08
6900 ASRGL1 11_34 0.005308929 5.188641 8.016427e-08
1196 GANAB 11_34 0.006009233 69.921655 1.222788e-06
z num_eqtl
9952 -0.13037299 1
7657 0.90603922 2
2444 0.25803323 2
10233 0.28885901 1
7679 3.33481738 2
7682 -0.11158533 2
7683 1.12142967 2
5994 -1.13520665 1
2453 0.54425280 1
10858 0.84824716 1
7692 -0.33913351 2
7693 -1.82545467 3
2455 -0.45273095 3
2456 1.43277325 2
2457 1.42183198 1
2480 0.82141077 1
2481 0.34613847 1
7869 0.02401413 1
7870 -0.54063901 2
6898 -1.78280456 1
5987 -1.78280456 1
9761 -0.22016462 2
5993 -2.06104458 1
11272 -0.42704781 1
6899 -0.38265325 1
4506 -10.56344602 2
7950 12.07263520 1
4505 12.07263520 1
5988 12.92635131 2
10926 3.28941682 1
7871 -3.74480413 1
5991 -0.91700127 2
6900 -0.25008439 1
1196 -8.20472330 1
[1] "CCND2"
[1] "12_4"
genename region_tag susie_pip mu2 PVE z
4040 CRACR2A 12_4 0.01071212 8.45964 2.637228e-07 -1.070753
2530 PARP11 12_4 0.07177801 26.75256 5.588266e-06 -2.597248
3212 CCND2 12_4 0.80419485 22.63603 5.297633e-05 -4.065830
num_eqtl
4040 1
2530 2
3212 1
[1] "GAS6"
[1] "13_62"
genename region_tag susie_pip mu2 PVE z
3789 F10 13_62 0.009664788 8.865913 2.493653e-07 -0.7929256
3790 PROZ 13_62 0.012757286 10.952020 4.066051e-07 2.1821725
5149 GRTP1 13_62 0.006292572 5.362663 9.820396e-08 0.6686691
6275 ADPRHL1 13_62 0.009696165 8.194545 2.312305e-07 0.1598692
6034 DCUN1D2 13_62 0.006331133 5.219822 9.617395e-08 -0.1585810
6035 TMCO3 13_62 0.007379705 6.765944 1.453074e-07 0.7340917
9365 GAS6 13_62 0.988338224 71.115085 2.045444e-04 -8.9236884
9657 RASA3 13_62 0.006237736 5.072933 9.208872e-08 0.2059315
4045 CDC16 13_62 0.006500596 5.441468 1.029413e-07 0.4094934
8016 UPF3A 13_62 0.006205353 5.415600 9.779877e-08 0.8879230
num_eqtl
3789 1
3790 4
5149 1
6275 1
6034 2
6035 2
9365 1
9657 2
4045 2
8016 3
[1] "HPR"
[1] "16_38"
genename region_tag susie_pip mu2 PVE z
9175 CMTR2 16_38 0.005700691 17.32463 2.874166e-07 3.081554
7752 ZNF23 16_38 0.003011924 13.73998 1.204344e-07 -2.779510
5235 CHST4 16_38 0.002634787 12.81952 9.829635e-08 5.644697
6531 ZNF19 16_38 0.007236767 22.78159 4.797874e-07 -1.759348
10396 TAT 16_38 0.003080130 19.65775 1.762070e-07 5.087094
5234 MARVELD3 16_38 0.003464145 17.74327 1.788752e-07 -1.204386
366 PHLPP2 16_38 0.005631616 47.86672 7.844893e-07 -7.224850
10944 ATXN1L 16_38 0.002643110 55.17205 4.243797e-07 -8.126354
1752 ZNF821 16_38 0.002690359 51.58370 4.038713e-07 7.943029
11471 PKD1L3 16_38 0.005273474 88.31070 1.355284e-06 4.998967
11327 HPR 16_38 0.999999715 162.98924 4.743284e-04 -17.962770
num_eqtl
9175 3
7752 2
5235 1
6531 2
10396 2
5234 2
366 1
10944 1
1752 2
11471 1
11327 2
[1] "STAT5B"
[1] "17_25"
genename region_tag susie_pip mu2 PVE z
8574 JUP 17_25 0.125536282 33.626001 1.228471e-05 3.7875733
5337 P3H4 17_25 0.037085620 21.995024 2.373834e-06 3.0992335
5343 FKBP10 17_25 0.037085620 21.995024 2.373834e-06 3.0992335
6854 KLHL10 17_25 0.026455255 17.316926 1.333224e-06 2.6255335
8573 CNP 17_25 0.011674526 7.736461 2.628463e-07 -1.4595716
9796 ZNF385C 17_25 0.057705848 22.562530 3.789029e-06 2.0494700
2347 RAB5C 17_25 0.012756178 7.559838 2.806424e-07 -0.2629002
8571 STAT5B 17_25 0.933631050 30.564627 8.304523e-05 5.4262521
7958 STAT3 17_25 0.041487756 18.265772 2.205354e-06 1.4948067
326 ATP6V0A1 17_25 0.009323056 5.182179 1.406018e-07 0.5376043
2349 HSD17B1 17_25 0.009303568 5.047651 1.366656e-07 -0.4589726
666 COASY 17_25 0.009666004 8.209647 2.309361e-07 1.9882560
4181 TUBG1 17_25 0.020665335 13.777261 8.285632e-07 1.6978485
349 TUBG2 17_25 0.012530171 8.719249 3.179482e-07 -1.3455050
9497 CCR10 17_25 0.015042222 10.430744 4.566123e-07 1.4586862
2351 EZH1 17_25 0.009731636 5.471215 1.549494e-07 -0.5775571
4184 RAMP2 17_25 0.009420803 5.295233 1.451755e-07 0.6657800
3808 WNK4 17_25 0.009346206 5.011119 1.362983e-07 -0.1494056
4185 AOC2 17_25 0.021617976 13.761161 8.657458e-07 1.5605424
11366 AARSD1 17_25 0.026719889 15.582825 1.211717e-06 -2.3073575
664 IFI35 17_25 0.025511188 15.116684 1.122296e-06 -2.2744658
2356 RND2 17_25 0.036491133 17.514778 1.859997e-06 -2.3975732
195 BRCA1 17_25 0.024983769 13.921868 1.012222e-06 2.1576368
9893 NBR1 17_25 0.009566766 5.193507 1.445926e-07 0.3867461
9546 TMEM106A 17_25 0.009486879 5.528011 1.526204e-07 -0.4459524
8774 ARL4D 17_25 0.116226070 28.236181 9.550582e-06 -2.5753298
8765 ETV4 17_25 0.066431207 23.651156 4.572406e-06 -2.4603356
47 MEOX1 17_25 0.012957910 8.154034 3.074877e-07 0.9292299
num_eqtl
8574 1
5337 1
5343 1
6854 1
8573 1
9796 1
2347 1
8571 2
7958 1
326 2
2349 2
666 1
4181 1
349 2
9497 1
2351 1
4184 1
3808 1
4185 1
11366 1
664 1
2356 1
195 1
9893 1
9546 1
8774 1
8765 1
47 1
[1] "KDSR"
[1] "18_35"
genename region_tag susie_pip mu2 PVE z
993 PHLPP1 18_35 0.01132796 5.790571 1.908945e-07 0.4592477
3247 KDSR 18_35 0.96022636 24.596031 6.873200e-05 -4.5262867
10914 HMSD 18_35 0.01255814 7.053619 2.577850e-07 0.9625202
7601 SERPINB8 18_35 0.01077670 5.386726 1.689394e-07 0.5629092
num_eqtl
993 1
3247 1
10914 2
7601 1
[1] "CYP2A6"
[1] "19_28"
genename region_tag susie_pip mu2 PVE z
1207 LTBP4 19_28 0.010449905 6.623380 2.014245e-07 -0.039246359
1992 NUMBL 19_28 0.008403298 5.146186 1.258507e-07 0.488173835
3570 COQ8B 19_28 0.008591509 5.187456 1.297013e-07 -0.120021804
1102 ITPKC 19_28 0.008591509 5.187456 1.297013e-07 -0.120021804
888 SNRPA 19_28 0.012137444 8.025811 2.834892e-07 0.660129887
9885 C19orf54 19_28 0.009980290 6.260324 1.818278e-07 0.023279566
7784 RAB4B 19_28 0.024002669 20.492324 1.431433e-06 -3.059737137
11387 EGLN2 19_28 0.010057730 6.310574 1.847095e-07 -0.008314999
11257 CYP2A6 19_28 0.965055136 31.879393 8.953286e-05 5.407028003
10307 CYP2A7 19_28 0.049474812 26.231181 3.776785e-06 2.982812926
2003 HNRNPUL1 19_28 0.009457922 5.874187 1.616828e-07 -0.291836029
5356 CCDC97 19_28 0.086201922 27.667766 6.940829e-06 -2.647885128
5357 TMEM91 19_28 0.008386404 4.894116 1.194456e-07 -0.315901671
2004 TGFB1 19_28 0.101962557 29.281062 8.688561e-06 -2.744946113
889 EXOSC5 19_28 0.022555980 14.076394 9.240031e-07 1.192265779
11176 BCKDHA 19_28 0.009319379 6.073054 1.647079e-07 1.021880544
106 CEACAM21 19_28 0.028894722 16.822218 1.414562e-06 -1.596265707
10261 CYP2A13 19_28 0.015197704 10.853956 4.800498e-07 1.041335754
10200 CYP2B6 19_28 0.078542991 32.764855 7.489210e-06 3.635035884
num_eqtl
1207 2
1992 1
3570 1
1102 1
888 1
9885 1
7784 2
11387 3
11257 1
10307 1
2003 2
5356 2
5357 1
2004 1
889 1
11176 1
106 1
10261 1
10200 1
[1] "PRKD2"
[1] "19_33"
genename region_tag susie_pip mu2 PVE z
10198 DACT3 19_33 0.002536241 6.357149 4.692165e-08 -0.78861855
1999 PRKD2 19_33 0.987158666 29.999276 8.618229e-05 5.07221669
9189 FKRP 19_33 0.008740393 26.126612 6.645603e-07 3.89590554
1219 STRN4 19_33 0.003577677 8.593951 8.947761e-08 0.09301084
1998 SLC1A5 19_33 0.003841078 9.720446 1.086575e-07 -0.75306936
6721 ARHGAP35 19_33 0.005301143 13.675391 2.109743e-07 1.55600157
4114 NPAS1 19_33 0.002283819 5.854962 3.891402e-08 0.95990662
5373 SAE1 19_33 0.002278809 4.968304 3.294855e-08 -0.10729380
4113 ZC3H4 19_33 0.002278809 4.968304 3.294855e-08 -0.10729380
2002 CCDC9 19_33 0.002255655 4.903704 3.218972e-08 0.15834095
11285 INAFM1 19_33 0.002508412 6.076895 4.436096e-08 -0.60753416
10199 C5AR1 19_33 0.003922053 10.467804 1.194784e-07 1.15728685
4508 C5AR2 19_33 0.002685740 6.744032 5.271133e-08 0.68695693
4503 DHX34 19_33 0.003523481 9.282758 9.518516e-08 -0.97725261
3155 ZNF541 19_33 0.004726238 11.580563 1.592816e-07 -1.12397115
546 GLTSCR1 19_33 0.004612233 11.885441 1.595316e-07 -1.32652509
285 EHD2 19_33 0.002285516 5.110146 3.398896e-08 -0.36411082
2035 PLA2G4C 19_33 0.007494801 18.089201 3.945479e-07 -1.98820434
2033 LIG1 19_33 0.002560419 6.302385 4.696089e-08 -0.80351518
9597 C19orf68 19_33 0.002354603 5.265665 3.608204e-08 0.28745819
2032 CARD8 19_33 0.003811049 10.198079 1.131054e-07 1.50358629
2031 CCDC114 19_33 0.003716981 9.015487 9.752137e-08 -0.80677149
5372 EMP3 19_33 0.003771578 13.429498 1.474019e-07 2.48952012
2028 GRWD1 19_33 0.005953914 13.239887 2.294073e-07 -1.46082532
9293 KCNJ14 19_33 0.005508306 11.316782 1.814100e-07 -0.64003852
2027 CYTH2 19_33 0.096857221 37.835779 1.066486e-05 -3.00541299
5374 LMTK3 19_33 0.003221178 10.817976 1.014101e-07 2.08075978
1139 SULT2B1 19_33 0.070303638 36.032537 7.372129e-06 -3.37500000
2041 FAM83E 19_33 0.005660205 76.037017 1.252499e-06 10.13838966
547 SPHK2 19_33 0.068397171 32.874995 6.543711e-06 -7.48992914
2037 DBP 19_33 0.002331785 5.476114 3.716047e-08 -0.25215464
548 CA11 19_33 0.002555087 6.638900 4.936534e-08 -1.21664084
8853 FUT2 19_33 0.964164911 104.432110 2.930257e-04 -11.92710687
8850 MAMSTR 19_33 0.002732824 42.777277 3.402085e-07 7.35991125
9290 IZUMO1 19_33 0.004057109 16.859816 1.990627e-07 2.82737931
2021 SULT2A1 19_33 0.002451598 5.885121 4.198798e-08 0.65475292
num_eqtl
10198 1
1999 2
9189 2
1219 1
1998 2
6721 1
4114 2
5373 1
4113 1
2002 2
11285 1
10199 1
4508 1
4503 1
3155 1
546 1
285 1
2035 2
2033 2
9597 2
2032 2
2031 2
5372 2
2028 1
9293 2
2027 2
5374 1
1139 1
2041 2
547 3
2037 1
548 1
8853 1
8850 2
9290 2
2021 1
[1] "FUT2"
[1] "19_33"
genename region_tag susie_pip mu2 PVE z
10198 DACT3 19_33 0.002536241 6.357149 4.692165e-08 -0.78861855
1999 PRKD2 19_33 0.987158666 29.999276 8.618229e-05 5.07221669
9189 FKRP 19_33 0.008740393 26.126612 6.645603e-07 3.89590554
1219 STRN4 19_33 0.003577677 8.593951 8.947761e-08 0.09301084
1998 SLC1A5 19_33 0.003841078 9.720446 1.086575e-07 -0.75306936
6721 ARHGAP35 19_33 0.005301143 13.675391 2.109743e-07 1.55600157
4114 NPAS1 19_33 0.002283819 5.854962 3.891402e-08 0.95990662
5373 SAE1 19_33 0.002278809 4.968304 3.294855e-08 -0.10729380
4113 ZC3H4 19_33 0.002278809 4.968304 3.294855e-08 -0.10729380
2002 CCDC9 19_33 0.002255655 4.903704 3.218972e-08 0.15834095
11285 INAFM1 19_33 0.002508412 6.076895 4.436096e-08 -0.60753416
10199 C5AR1 19_33 0.003922053 10.467804 1.194784e-07 1.15728685
4508 C5AR2 19_33 0.002685740 6.744032 5.271133e-08 0.68695693
4503 DHX34 19_33 0.003523481 9.282758 9.518516e-08 -0.97725261
3155 ZNF541 19_33 0.004726238 11.580563 1.592816e-07 -1.12397115
546 GLTSCR1 19_33 0.004612233 11.885441 1.595316e-07 -1.32652509
285 EHD2 19_33 0.002285516 5.110146 3.398896e-08 -0.36411082
2035 PLA2G4C 19_33 0.007494801 18.089201 3.945479e-07 -1.98820434
2033 LIG1 19_33 0.002560419 6.302385 4.696089e-08 -0.80351518
9597 C19orf68 19_33 0.002354603 5.265665 3.608204e-08 0.28745819
2032 CARD8 19_33 0.003811049 10.198079 1.131054e-07 1.50358629
2031 CCDC114 19_33 0.003716981 9.015487 9.752137e-08 -0.80677149
5372 EMP3 19_33 0.003771578 13.429498 1.474019e-07 2.48952012
2028 GRWD1 19_33 0.005953914 13.239887 2.294073e-07 -1.46082532
9293 KCNJ14 19_33 0.005508306 11.316782 1.814100e-07 -0.64003852
2027 CYTH2 19_33 0.096857221 37.835779 1.066486e-05 -3.00541299
5374 LMTK3 19_33 0.003221178 10.817976 1.014101e-07 2.08075978
1139 SULT2B1 19_33 0.070303638 36.032537 7.372129e-06 -3.37500000
2041 FAM83E 19_33 0.005660205 76.037017 1.252499e-06 10.13838966
547 SPHK2 19_33 0.068397171 32.874995 6.543711e-06 -7.48992914
2037 DBP 19_33 0.002331785 5.476114 3.716047e-08 -0.25215464
548 CA11 19_33 0.002555087 6.638900 4.936534e-08 -1.21664084
8853 FUT2 19_33 0.964164911 104.432110 2.930257e-04 -11.92710687
8850 MAMSTR 19_33 0.002732824 42.777277 3.402085e-07 7.35991125
9290 IZUMO1 19_33 0.004057109 16.859816 1.990627e-07 2.82737931
2021 SULT2A1 19_33 0.002451598 5.885121 4.198798e-08 0.65475292
num_eqtl
10198 1
1999 2
9189 2
1219 1
1998 2
6721 1
4114 2
5373 1
4113 1
2002 2
11285 1
10199 1
4508 1
4503 1
3155 1
546 1
285 1
2035 2
2033 2
9597 2
2032 2
2031 2
5372 2
2028 1
9293 2
2027 2
5374 1
1139 1
2041 2
547 3
2037 1
548 1
8853 1
8850 2
9290 2
2021 1
[1] "PLTP"
[1] "20_28"
genename region_tag susie_pip mu2 PVE z
6004 JPH2 20_28 0.002107909 4.965733 3.046180e-08 0.34475118
4307 OSER1 20_28 0.002499552 6.627864 4.821210e-08 -0.75955007
10183 FITM2 20_28 0.002173406 7.622494 4.821234e-08 1.70850449
4308 SERINC3 20_28 0.004135425 10.810424 1.301017e-07 1.05515959
7969 PKIG 20_28 0.013194569 20.381402 7.826175e-07 -1.92973723
10117 ADA 20_28 0.002159902 6.275170 3.944390e-08 -1.11873945
3615 KCNK15 20_28 0.002607530 6.793455 5.155139e-08 -0.46584654
7686 YWHAB 20_28 0.002932901 7.880371 6.726116e-08 0.92140948
292 TOMM34 20_28 0.002143561 5.178177 3.230227e-08 -0.21559970
1617 STK4 20_28 0.002301388 5.788528 3.876843e-08 -0.65248556
3588 SLPI 20_28 0.002485549 6.364733 4.603868e-08 -0.56680056
3613 RBPJL 20_28 0.005308415 13.931448 2.152194e-07 1.21973824
3594 MATN4 20_28 0.002270332 5.509852 3.640405e-08 -0.72142554
3591 SDC4 20_28 0.625955627 23.902800 4.354243e-05 -3.92072709
10520 SYS1 20_28 0.002114007 4.927588 3.031525e-08 -0.53036749
11155 DBNDD2 20_28 0.002585244 7.573187 5.697713e-08 0.76276385
3616 TP53TG5 20_28 0.002326945 7.074786 4.790930e-08 -1.22434355
3589 WFDC3 20_28 0.002834388 12.643380 1.042900e-07 0.89942952
1683 DNTTIP1 20_28 0.010960848 17.310755 5.521797e-07 1.67362043
8688 UBE2C 20_28 0.003185034 10.090203 9.352641e-08 -1.29063071
3587 SNX21 20_28 0.032689020 29.670586 2.822593e-06 -2.25095415
1685 ACOT8 20_28 0.002774416 8.295233 6.697621e-08 0.46314131
7959 ZSWIM1 20_28 0.298972256 30.799682 2.679769e-05 -0.64131988
1597 PLTP 20_28 0.988328266 61.285277 1.762697e-04 -5.73249075
1598 PCIF1 20_28 0.002142542 21.226255 1.323497e-07 2.96018585
10296 ZNF335 20_28 0.002202296 5.272123 3.378949e-08 0.03190689
1600 MMP9 20_28 0.008157296 18.066459 4.288837e-07 1.76632544
3595 NCOA5 20_28 0.003843563 10.749396 1.202371e-07 1.06921473
1608 CD40 20_28 0.006407653 14.133128 2.635467e-07 -1.05986939
num_eqtl
6004 1
4307 2
10183 1
4308 2
7969 1
10117 1
3615 2
7686 1
292 1
1617 1
3588 2
3613 1
3594 1
3591 1
10520 1
11155 1
3616 2
3589 1
1683 2
8688 1
3587 1
1685 2
7959 1
1597 1
1598 1
10296 1
1600 1
3595 1
1608 1
#distribution of number of eQTL for all imputed genes (after dropping ambiguous variants)
table(ctwas_gene_res$num_eqtl)
1 2 3 4 5
6546 2969 343 18 5
#all genes with 4+ eQTL
ctwas_gene_res[ctwas_gene_res$num_eqtl>3,]
chrom id pos type region_tag1 region_tag2
9844 3 ENSG00000188086.13 46740510 gene 3 33
9134 3 ENSG00000180376.16 56557027 gene 3 39
5029 4 ENSG00000138744.14 75919602 gene 4 51
7247 4 ENSG00000164111.14 121685788 gene 4 78
10990 6 ENSG00000231852.6 32037872 gene 6 26
9071 6 ENSG00000179344.16 32668036 gene 6 26
3487 7 ENSG00000122674.11 5882180 gene 7 9
10012 7 ENSG00000196247.11 64665954 gene 7 44
2211 9 ENSG00000107099.15 211762 gene 9 1
4762 9 ENSG00000136866.13 113056669 gene 9 58
4471 10 ENSG00000134463.14 11740178 gene 10 10
3819 14 ENSG00000126790.11 59473099 gene 14 27
9407 16 ENSG00000183549.10 20409006 gene 16 19
5257 16 ENSG00000140995.16 89919436 gene 16 54
7821 17 ENSG00000167723.14 3557863 gene 17 3
9025 17 ENSG00000178852.15 47322830 gene 17 27
9306 17 ENSG00000182534.13 76686803 gene 17 43
8576 17 ENSG00000173818.16 80415678 gene 17 45
9259 19 ENSG00000182013.17 46471505 gene 19 32
1478 22 ENSG00000100299.17 50625049 gene 22 24
4430 1 ENSG00000134201.10 109704237 gene 1 67
9605 11 ENSG00000185522.8 559466 gene 11 1
3790 13 ENSG00000126231.13 113146308 gene 13 62
cs_index susie_pip mu2 region_tag PVE genename
9844 0 0.011050518 5.474426 3_33 1.760522e-07 PRSS45
9134 0 0.022811582 9.865698 3_39 6.549430e-07 CCDC66
5029 0 0.009986465 5.170735 4_51 1.502742e-07 NAAA
7247 0 0.046854546 20.525957 4_78 2.798823e-06 ANXA5
10990 0 0.008935385 23.666271 6_26 6.154084e-07 CYP21A2
9071 0 0.003605555 25.265059 6_26 2.651019e-07 HLA-DQB1
3487 0 0.019685095 19.017262 7_9 1.089446e-06 CCZ1
10012 0 0.005877624 5.665862 7_44 9.691436e-08 ZNF107
2211 0 0.016231330 7.093024 9_1 3.350471e-07 DOCK8
4762 0 0.028947657 11.065995 9_58 9.322323e-07 ZFP37
4471 0 0.132833508 31.776633 10_10 1.228389e-05 ECHDC3
3819 0 0.016859273 4.949234 14_27 2.428271e-07 L3HYPDH
9407 0 0.012328262 5.463894 16_19 1.960309e-07 ACSM5
5257 0 0.082319740 21.249394 16_54 5.090622e-06 DEF8
7821 0 0.019068424 11.142237 17_3 6.183118e-07 TRPV3
9025 0 0.019832422 75.205023 17_27 4.340531e-06 EFCAB13
9306 0 0.010115188 5.092336 17_43 1.499033e-07 MXRA7
8576 0 0.013922637 4.997920 17_45 2.025028e-07 ENDOV
9259 0 0.000000000 18.541969 19_32 0.000000e+00 PNMAL1
1478 0 0.012766481 5.498480 22_24 2.042839e-07 ARSA
4430 0 0.012623446 8.133483 1_67 2.987960e-07 GSTM5
9605 0 0.012679208 5.010694 11_1 1.848887e-07 LMNTD2
3790 0 0.012757286 10.952020 13_62 4.066051e-07 PROZ
gene_type z num_eqtl
9844 protein_coding 0.3663261014 4
9134 protein_coding -1.6064732513 4
5029 protein_coding -0.2119625465 4
7247 protein_coding -1.9055596504 5
10990 protein_coding 3.1136273968 4
9071 protein_coding 5.1840158056 4
3487 protein_coding 1.6846267741 5
10012 protein_coding -0.3556785835 4
2211 protein_coding -0.7504937771 5
4762 protein_coding -1.2880534295 4
4471 protein_coding 3.1489044750 5
3819 protein_coding -0.2488473697 4
9407 protein_coding -0.1521416879 4
5257 protein_coding 2.0816616174 4
7821 protein_coding 1.2490718738 4
9025 protein_coding 8.4456955567 4
9306 protein_coding -0.2000807881 4
8576 protein_coding 0.1694349763 4
9259 protein_coding -1.6928766232 4
1478 protein_coding 0.0008206936 4
4430 protein_coding 0.8040299448 5
9605 protein_coding 0.4221573902 4
3790 protein_coding 2.1821725016 4
#distribution of number of eQTL for genes with PIP>0.8
table(ctwas_gene_res$num_eqtl[ctwas_gene_res$susie_pip>0.8])/sum(ctwas_gene_res$susie_pip>0.8)
1 2 3
0.60000000 0.31428571 0.08571429
#genes with 2+ eQTL and PIP>0.8
ctwas_gene_res[ctwas_gene_res$num_eqtl>1 & ctwas_gene_res$susie_pip>0.8,]
chrom id pos type region_tag1 region_tag2
5542 1 ENSG00000143771.11 224356827 gene 1 114
3720 2 ENSG00000125629.14 118088372 gene 2 69
3562 2 ENSG00000123612.15 157625480 gene 2 94
6217 5 ENSG00000152684.10 52787392 gene 5 31
10612 6 ENSG00000204599.14 30324306 gene 6 24
4702 7 ENSG00000136271.10 44575121 gene 7 32
1114 7 ENSG00000087087.18 100875204 gene 7 62
8523 8 ENSG00000173273.15 9315699 gene 8 12
6387 9 ENSG00000155158.20 15280189 gene 9 13
3300 10 ENSG00000119965.12 122945179 gene 10 77
5988 11 ENSG00000149485.18 61829161 gene 11 34
11327 16 ENSG00000261701.6 72063820 gene 16 38
8571 17 ENSG00000173757.9 42276835 gene 17 25
1999 19 ENSG00000105287.12 46713856 gene 19 33
cs_index susie_pip mu2 region_tag PVE genename
5542 1 0.9789702 40.69262 1_114 1.159326e-04 CNIH4
3720 1 0.9999957 68.37263 2_69 1.989760e-04 INSIG2
3562 0 0.9320372 25.78698 2_94 6.994458e-05 ACVR1C
6217 1 0.9363014 70.56030 5_31 1.922633e-04 PELO
10612 1 0.9985885 71.89752 6_24 2.089396e-04 TRIM39
4702 2 0.9495892 59.83144 7_32 1.653429e-04 DDX56
1114 2 0.9405116 32.60063 7_62 8.922992e-05 SRRT
8523 1 0.9910883 76.13390 8_12 2.195891e-04 TNKS
6387 0 0.9450026 23.14602 9_13 6.365459e-05 TTC39B
3300 1 0.9371487 37.07672 10_77 1.011184e-04 C10orf88
5988 1 0.9998404 163.46291 11_34 4.756311e-04 FADS1
11327 1 0.9999997 162.98924 16_38 4.743284e-04 HPR
8571 1 0.9336311 30.56463 17_25 8.304523e-05 STAT5B
1999 2 0.9871587 29.99928 19_33 8.618229e-05 PRKD2
gene_type z num_eqtl
5542 protein_coding 6.145535 2
3720 protein_coding -8.982702 3
3562 protein_coding -4.687370 2
6217 protein_coding 8.288398 2
10612 protein_coding 8.840164 3
4702 protein_coding 9.641861 2
1114 protein_coding 5.424996 2
8523 protein_coding 11.038564 2
6387 protein_coding -4.334495 3
3300 protein_coding -6.787850 2
5988 protein_coding 12.926351 2
11327 protein_coding -17.962770 2
8571 protein_coding 5.426252 2
1999 protein_coding 5.072217 2
#reload silver standard genes
known_annotations <- read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
#GO enrichment analysis for silver standard genes
dbs <- c("GO_Biological_Process_2021", "GO_Cellular_Component_2021", "GO_Molecular_Function_2021")
genes <- known_annotations
GO_enrichment <- enrichr(genes, dbs)
Uploading data to Enrichr... Done.
Querying GO_Biological_Process_2021... Done.
Querying GO_Cellular_Component_2021... Done.
Querying GO_Molecular_Function_2021... Done.
Parsing results... Done.
for (db in dbs){
print(db)
df <- GO_enrichment[[db]]
df <- df[df$Adjusted.P.value<0.05,c("Term", "Overlap", "Adjusted.P.value", "Genes")]
plotEnrich(GO_enrichment[[db]])
print(df)
}
[1] "GO_Biological_Process_2021"
Term
1 cholesterol transport (GO:0030301)
2 cholesterol homeostasis (GO:0042632)
3 sterol homeostasis (GO:0055092)
4 cholesterol efflux (GO:0033344)
5 sterol transport (GO:0015918)
6 cholesterol metabolic process (GO:0008203)
7 sterol metabolic process (GO:0016125)
8 triglyceride-rich lipoprotein particle remodeling (GO:0034370)
9 high-density lipoprotein particle remodeling (GO:0034375)
10 reverse cholesterol transport (GO:0043691)
11 secondary alcohol metabolic process (GO:1902652)
12 regulation of lipoprotein lipase activity (GO:0051004)
13 phospholipid transport (GO:0015914)
14 lipid transport (GO:0006869)
15 acylglycerol homeostasis (GO:0055090)
16 very-low-density lipoprotein particle remodeling (GO:0034372)
17 triglyceride homeostasis (GO:0070328)
18 triglyceride metabolic process (GO:0006641)
19 phospholipid efflux (GO:0033700)
20 chylomicron remodeling (GO:0034371)
21 regulation of cholesterol transport (GO:0032374)
22 chylomicron assembly (GO:0034378)
23 chylomicron remnant clearance (GO:0034382)
24 lipoprotein metabolic process (GO:0042157)
25 diterpenoid metabolic process (GO:0016101)
26 positive regulation of steroid metabolic process (GO:0045940)
27 retinoid metabolic process (GO:0001523)
28 lipid homeostasis (GO:0055088)
29 negative regulation of lipase activity (GO:0060192)
30 positive regulation of cholesterol esterification (GO:0010873)
31 intestinal cholesterol absorption (GO:0030299)
32 negative regulation of cholesterol transport (GO:0032375)
33 intestinal lipid absorption (GO:0098856)
34 acylglycerol metabolic process (GO:0006639)
35 regulation of cholesterol esterification (GO:0010872)
36 phospholipid homeostasis (GO:0055091)
37 very-low-density lipoprotein particle assembly (GO:0034379)
38 positive regulation of lipid metabolic process (GO:0045834)
39 high-density lipoprotein particle assembly (GO:0034380)
40 negative regulation of lipoprotein lipase activity (GO:0051005)
41 negative regulation of lipoprotein particle clearance (GO:0010985)
42 regulation of very-low-density lipoprotein particle remodeling (GO:0010901)
43 intracellular cholesterol transport (GO:0032367)
44 positive regulation of cholesterol transport (GO:0032376)
45 regulation of intestinal cholesterol absorption (GO:0030300)
46 positive regulation of lipoprotein lipase activity (GO:0051006)
47 acylglycerol catabolic process (GO:0046464)
48 positive regulation of lipid biosynthetic process (GO:0046889)
49 positive regulation of triglyceride metabolic process (GO:0090208)
50 positive regulation of triglyceride lipase activity (GO:0061365)
51 regulation of lipid catabolic process (GO:0050994)
52 steroid metabolic process (GO:0008202)
53 positive regulation of lipid catabolic process (GO:0050996)
54 triglyceride catabolic process (GO:0019433)
55 organophosphate ester transport (GO:0015748)
56 phosphatidylcholine metabolic process (GO:0046470)
57 regulation of triglyceride catabolic process (GO:0010896)
58 fatty acid metabolic process (GO:0006631)
59 regulation of fatty acid biosynthetic process (GO:0042304)
60 regulation of sterol transport (GO:0032371)
61 cellular response to low-density lipoprotein particle stimulus (GO:0071404)
62 low-density lipoprotein particle remodeling (GO:0034374)
63 regulation of macrophage derived foam cell differentiation (GO:0010743)
64 organic substance transport (GO:0071702)
65 regulation of cholesterol efflux (GO:0010874)
66 receptor-mediated endocytosis (GO:0006898)
67 secondary alcohol biosynthetic process (GO:1902653)
68 regulation of cholesterol storage (GO:0010885)
69 cholesterol import (GO:0070508)
70 sterol import (GO:0035376)
71 monocarboxylic acid biosynthetic process (GO:0072330)
72 cholesterol biosynthetic process (GO:0006695)
73 positive regulation of cellular metabolic process (GO:0031325)
74 sterol biosynthetic process (GO:0016126)
75 positive regulation of fatty acid metabolic process (GO:0045923)
76 regulation of receptor-mediated endocytosis (GO:0048259)
77 fatty acid biosynthetic process (GO:0006633)
78 regulation of Cdc42 protein signal transduction (GO:0032489)
79 positive regulation of triglyceride catabolic process (GO:0010898)
80 lipid biosynthetic process (GO:0008610)
81 positive regulation of cholesterol efflux (GO:0010875)
82 negative regulation of receptor-mediated endocytosis (GO:0048261)
83 lipoprotein transport (GO:0042953)
84 regulation of lipid metabolic process (GO:0019216)
85 monocarboxylic acid metabolic process (GO:0032787)
86 lipoprotein localization (GO:0044872)
87 lipid catabolic process (GO:0016042)
88 positive regulation of fatty acid biosynthetic process (GO:0045723)
89 intracellular sterol transport (GO:0032366)
90 steroid biosynthetic process (GO:0006694)
91 regulation of lipid biosynthetic process (GO:0046890)
92 regulation of lipase activity (GO:0060191)
93 positive regulation of cellular biosynthetic process (GO:0031328)
94 regulation of amyloid-beta clearance (GO:1900221)
95 phospholipid metabolic process (GO:0006644)
96 regulation of intestinal lipid absorption (GO:1904729)
97 positive regulation of protein catabolic process in the vacuole (GO:1904352)
98 positive regulation of biosynthetic process (GO:0009891)
99 regulation of cholesterol metabolic process (GO:0090181)
100 foam cell differentiation (GO:0090077)
101 positive regulation of cholesterol storage (GO:0010886)
102 macrophage derived foam cell differentiation (GO:0010742)
103 organic hydroxy compound biosynthetic process (GO:1901617)
104 regulation of steroid metabolic process (GO:0019218)
105 organonitrogen compound biosynthetic process (GO:1901566)
106 negative regulation of lipid metabolic process (GO:0045833)
107 regulation of lysosomal protein catabolic process (GO:1905165)
108 positive regulation of amyloid-beta clearance (GO:1900223)
109 cellular lipid catabolic process (GO:0044242)
110 chemical homeostasis (GO:0048878)
111 cholesterol catabolic process (GO:0006707)
112 sterol catabolic process (GO:0016127)
113 steroid hormone biosynthetic process (GO:0120178)
114 regulation of low-density lipoprotein particle clearance (GO:0010988)
115 bile acid metabolic process (GO:0008206)
116 phosphatidylcholine biosynthetic process (GO:0006656)
117 alcohol catabolic process (GO:0046164)
118 organophosphate catabolic process (GO:0046434)
119 regulation of phospholipase activity (GO:0010517)
120 positive regulation of lipid localization (GO:1905954)
121 positive regulation of phospholipid transport (GO:2001140)
122 glycerophospholipid metabolic process (GO:0006650)
123 organic hydroxy compound transport (GO:0015850)
124 negative regulation of macrophage derived foam cell differentiation (GO:0010745)
125 positive regulation of lipid transport (GO:0032370)
126 C21-steroid hormone biosynthetic process (GO:0006700)
127 membrane organization (GO:0061024)
128 positive regulation of endocytosis (GO:0045807)
129 positive regulation of multicellular organismal process (GO:0051240)
130 negative regulation of catabolic process (GO:0009895)
131 negative regulation of lipid catabolic process (GO:0050995)
132 carbohydrate derivative transport (GO:1901264)
133 positive regulation of macrophage derived foam cell differentiation (GO:0010744)
134 protein transport (GO:0015031)
135 fatty acid transport (GO:0015908)
136 positive regulation of lipid storage (GO:0010884)
137 C21-steroid hormone metabolic process (GO:0008207)
138 phospholipid catabolic process (GO:0009395)
139 negative regulation of endocytosis (GO:0045806)
140 regulation of primary metabolic process (GO:0080090)
141 negative regulation of multicellular organismal process (GO:0051241)
142 bile acid biosynthetic process (GO:0006699)
143 regulation of low-density lipoprotein particle receptor catabolic process (GO:0032803)
144 regulation of Rho protein signal transduction (GO:0035023)
145 regulation of small molecule metabolic process (GO:0062012)
146 positive regulation of cellular catabolic process (GO:0031331)
147 artery morphogenesis (GO:0048844)
148 negative regulation of cellular component organization (GO:0051129)
149 glycolipid transport (GO:0046836)
150 positive regulation of lipoprotein particle clearance (GO:0010986)
151 positive regulation of sterol transport (GO:0032373)
152 long-chain fatty acid transport (GO:0015909)
153 response to insulin (GO:0032868)
154 regulation of bile acid metabolic process (GO:1904251)
155 positive regulation of receptor catabolic process (GO:2000646)
156 positive regulation of transport (GO:0051050)
157 negative regulation of endothelial cell proliferation (GO:0001937)
158 negative regulation of endothelial cell migration (GO:0010596)
159 regulation of nitrogen compound metabolic process (GO:0051171)
160 negative regulation of amyloid-beta clearance (GO:1900222)
161 negative regulation of cellular metabolic process (GO:0031324)
162 glycerophospholipid biosynthetic process (GO:0046474)
163 negative regulation of production of molecular mediator of immune response (GO:0002701)
164 unsaturated fatty acid biosynthetic process (GO:0006636)
165 anion transport (GO:0006820)
166 positive regulation of receptor-mediated endocytosis (GO:0048260)
167 negative regulation of cholesterol storage (GO:0010887)
168 regulation of bile acid biosynthetic process (GO:0070857)
169 peptidyl-amino acid modification (GO:0018193)
170 low-density lipoprotein particle receptor catabolic process (GO:0032802)
171 low-density lipoprotein receptor particle metabolic process (GO:0032799)
172 protein oxidation (GO:0018158)
173 positive regulation by host of viral process (GO:0044794)
174 positive regulation of triglyceride biosynthetic process (GO:0010867)
175 receptor internalization (GO:0031623)
176 response to glucose (GO:0009749)
177 positive regulation of cellular component organization (GO:0051130)
178 negative regulation of fatty acid biosynthetic process (GO:0045717)
179 negative regulation of hemostasis (GO:1900047)
180 peptidyl-methionine modification (GO:0018206)
181 ethanol oxidation (GO:0006069)
182 negative regulation of amyloid fibril formation (GO:1905907)
183 negative regulation of protein metabolic process (GO:0051248)
184 unsaturated fatty acid metabolic process (GO:0033559)
185 alpha-linolenic acid metabolic process (GO:0036109)
186 platelet degranulation (GO:0002576)
187 negative regulation of metabolic process (GO:0009892)
188 negative regulation of cell activation (GO:0050866)
189 negative regulation of coagulation (GO:0050819)
190 cGMP-mediated signaling (GO:0019934)
191 intestinal absorption (GO:0050892)
192 receptor metabolic process (GO:0043112)
193 regulation of phagocytosis (GO:0050764)
194 regulation of amyloid fibril formation (GO:1905906)
195 regulation of sequestering of triglyceride (GO:0010889)
196 regulation of triglyceride biosynthetic process (GO:0010866)
197 post-translational protein modification (GO:0043687)
198 regulation of endocytosis (GO:0030100)
199 amyloid fibril formation (GO:1990000)
200 positive regulation of small molecule metabolic process (GO:0062013)
201 cellular response to nutrient levels (GO:0031669)
202 negative regulation of cytokine production involved in immune response (GO:0002719)
203 negative regulation of fatty acid metabolic process (GO:0045922)
204 regulation of cholesterol biosynthetic process (GO:0045540)
205 regulation of steroid biosynthetic process (GO:0050810)
206 positive regulation of catabolic process (GO:0009896)
207 amyloid precursor protein metabolic process (GO:0042982)
208 nitric oxide mediated signal transduction (GO:0007263)
209 positive regulation of nitric-oxide synthase activity (GO:0051000)
210 ethanol metabolic process (GO:0006067)
211 positive regulation of cellular protein catabolic process (GO:1903364)
212 response to fatty acid (GO:0070542)
213 long-term memory (GO:0007616)
214 negative regulation of lipid storage (GO:0010888)
215 linoleic acid metabolic process (GO:0043651)
216 negative regulation of lipid biosynthetic process (GO:0051055)
217 regulation of lipid storage (GO:0010883)
218 regulation of interleukin-1 beta production (GO:0032651)
219 long-chain fatty acid metabolic process (GO:0001676)
220 regulation of cytokine production involved in immune response (GO:0002718)
221 cellular protein metabolic process (GO:0044267)
222 negative regulation of defense response (GO:0031348)
223 transport across blood-brain barrier (GO:0150104)
224 receptor catabolic process (GO:0032801)
225 response to hexose (GO:0009746)
226 regulated exocytosis (GO:0045055)
227 regulation of endothelial cell migration (GO:0010594)
228 negative regulation of protein transport (GO:0051224)
229 positive regulation of binding (GO:0051099)
230 regulation of blood coagulation (GO:0030193)
231 positive regulation of monooxygenase activity (GO:0032770)
232 negative regulation of wound healing (GO:0061045)
233 negative regulation of macromolecule metabolic process (GO:0010605)
234 long-chain fatty acid biosynthetic process (GO:0042759)
235 regulation of developmental growth (GO:0048638)
236 regulation of cell death (GO:0010941)
237 regulation of angiogenesis (GO:0045765)
238 regulation of inflammatory response (GO:0050727)
239 apoptotic cell clearance (GO:0043277)
240 cellular response to peptide hormone stimulus (GO:0071375)
241 negative regulation of blood vessel endothelial cell migration (GO:0043537)
242 phosphate-containing compound metabolic process (GO:0006796)
243 negative regulation of epithelial cell migration (GO:0010633)
244 cellular response to amyloid-beta (GO:1904646)
245 cyclic-nucleotide-mediated signaling (GO:0019935)
246 regulation of receptor internalization (GO:0002090)
247 response to lipid (GO:0033993)
248 regulation of vascular associated smooth muscle cell proliferation (GO:1904705)
249 regulation of protein-containing complex assembly (GO:0043254)
250 ion transport (GO:0006811)
251 negative regulation of response to external stimulus (GO:0032102)
252 regulation of protein binding (GO:0043393)
253 regulation of cellular component biogenesis (GO:0044087)
254 negative regulation of protein secretion (GO:0050709)
255 negative regulation of secretion by cell (GO:1903531)
256 regulation of nitric-oxide synthase activity (GO:0050999)
257 negative regulation of blood coagulation (GO:0030195)
258 cellular response to organic substance (GO:0071310)
259 cellular response to insulin stimulus (GO:0032869)
260 response to amyloid-beta (GO:1904645)
261 establishment of protein localization to extracellular region (GO:0035592)
262 regulation of cellular metabolic process (GO:0031323)
263 regulation of protein metabolic process (GO:0051246)
264 positive regulation of cell differentiation (GO:0045597)
265 negative regulation of cell projection organization (GO:0031345)
266 positive regulation of fat cell differentiation (GO:0045600)
267 negative regulation of BMP signaling pathway (GO:0030514)
268 negative regulation of cellular biosynthetic process (GO:0031327)
269 positive regulation of phagocytosis (GO:0050766)
Overlap Adjusted.P.value
1 28/51 3.291336e-55
2 29/71 1.134840e-52
3 29/72 1.264418e-52
4 16/24 1.003687e-32
5 15/21 2.203564e-31
6 20/77 5.273224e-31
7 19/70 7.882518e-30
8 12/13 1.520527e-27
9 13/18 2.514128e-27
10 12/17 5.731565e-25
11 15/49 2.711706e-24
12 12/21 2.245426e-23
13 15/59 5.665269e-23
14 17/109 2.748742e-22
15 12/25 3.145271e-22
16 9/9 2.283165e-21
17 12/31 7.414146e-21
18 13/55 1.935295e-19
19 9/12 4.196729e-19
20 8/9 5.374944e-18
21 10/25 1.639871e-17
22 8/10 2.436689e-17
23 7/7 1.679428e-16
24 7/9 5.763376e-15
25 11/64 8.362646e-15
26 7/13 2.508790e-13
27 11/92 5.133855e-13
28 10/64 5.133855e-13
29 6/9 3.296018e-12
30 6/9 3.296018e-12
31 6/9 3.296018e-12
32 6/11 1.693836e-11
33 6/11 1.693836e-11
34 8/41 3.013332e-11
35 6/12 3.013332e-11
36 6/12 3.013332e-11
37 6/12 3.013332e-11
38 7/25 4.654994e-11
39 6/13 5.294950e-11
40 5/6 5.459029e-11
41 5/6 5.459029e-11
42 5/6 5.459029e-11
43 6/15 1.393181e-10
44 7/33 3.496187e-10
45 5/8 4.627510e-10
46 5/8 4.627510e-10
47 7/35 5.017364e-10
48 7/35 5.017364e-10
49 6/19 6.556580e-10
50 5/9 9.553575e-10
51 6/21 1.253116e-09
52 9/104 1.493946e-09
53 6/22 1.653549e-09
54 6/23 2.189811e-09
55 6/25 3.733511e-09
56 8/77 3.733511e-09
57 5/12 5.225810e-09
58 9/124 6.552660e-09
59 6/29 9.279729e-09
60 4/5 9.798195e-09
61 5/14 1.207993e-08
62 5/14 1.207993e-08
63 6/31 1.339781e-08
64 9/136 1.355933e-08
65 6/33 1.942867e-08
66 9/143 2.054367e-08
67 6/34 2.282600e-08
68 5/16 2.390304e-08
69 4/6 2.513038e-08
70 4/6 2.513038e-08
71 7/63 2.556641e-08
72 6/35 2.556641e-08
73 8/105 3.517095e-08
74 6/38 4.196695e-08
75 5/18 4.228478e-08
76 6/39 4.816188e-08
77 7/71 5.609765e-08
78 4/8 1.033779e-07
79 4/8 1.033779e-07
80 7/80 1.258618e-07
81 5/23 1.517283e-07
82 5/26 2.906610e-07
83 4/10 2.936601e-07
84 7/92 3.199662e-07
85 8/143 3.471498e-07
86 4/11 4.442138e-07
87 5/29 4.906437e-07
88 4/13 9.252034e-07
89 4/13 9.252034e-07
90 6/65 9.598111e-07
91 5/35 1.249797e-06
92 4/14 1.249797e-06
93 8/180 1.884951e-06
94 4/16 2.212485e-06
95 6/76 2.336232e-06
96 3/5 3.664395e-06
97 3/5 3.664395e-06
98 5/44 3.827136e-06
99 4/21 6.819051e-06
100 3/6 6.952354e-06
101 3/6 6.952354e-06
102 3/6 6.952354e-06
103 5/50 6.991423e-06
104 4/23 9.554179e-06
105 7/158 1.040987e-05
106 4/24 1.121951e-05
107 3/7 1.146235e-05
108 3/7 1.146235e-05
109 4/27 1.788032e-05
110 5/65 2.452122e-05
111 3/9 2.639634e-05
112 3/9 2.639634e-05
113 4/31 3.060279e-05
114 3/10 3.695601e-05
115 4/33 3.856854e-05
116 4/33 3.856854e-05
117 3/11 4.775659e-05
118 3/11 4.775659e-05
119 3/11 4.775659e-05
120 3/11 4.775659e-05
121 3/11 4.775659e-05
122 5/80 6.182763e-05
123 4/40 7.973389e-05
124 3/13 7.973389e-05
125 3/13 7.973389e-05
126 3/15 1.252218e-04
127 7/242 1.420233e-04
128 4/48 1.598563e-04
129 8/345 1.704405e-04
130 4/49 1.709436e-04
131 3/18 2.111817e-04
132 3/18 2.111817e-04
133 3/18 2.111817e-04
134 8/369 2.646441e-04
135 3/20 2.892290e-04
136 3/21 3.341258e-04
137 3/24 4.974036e-04
138 3/24 4.974036e-04
139 3/25 5.597802e-04
140 5/130 5.616142e-04
141 6/214 6.166972e-04
142 3/27 6.934199e-04
143 2/5 7.406583e-04
144 4/73 7.449454e-04
145 3/28 7.586859e-04
146 5/141 7.898802e-04
147 3/30 9.228897e-04
148 4/80 1.034287e-03
149 2/6 1.049782e-03
150 2/6 1.049782e-03
151 2/6 1.049782e-03
152 3/32 1.085012e-03
153 4/84 1.208000e-03
154 2/7 1.428577e-03
155 2/7 1.428577e-03
156 4/91 1.611630e-03
157 3/37 1.625395e-03
158 3/38 1.749224e-03
159 2/8 1.841132e-03
160 2/8 1.841132e-03
161 3/39 1.855101e-03
162 5/177 2.046657e-03
163 2/9 2.304288e-03
164 2/9 2.304288e-03
165 3/43 2.420344e-03
166 3/44 2.575438e-03
167 2/10 2.756295e-03
168 2/10 2.756295e-03
169 2/10 2.756295e-03
170 2/10 2.756295e-03
171 2/10 2.756295e-03
172 2/11 3.303347e-03
173 2/11 3.303347e-03
174 2/11 3.303347e-03
175 3/49 3.337798e-03
176 3/49 3.337798e-03
177 4/114 3.341630e-03
178 2/12 3.781332e-03
179 2/12 3.781332e-03
180 2/12 3.781332e-03
181 2/12 3.781332e-03
182 2/12 3.781332e-03
183 3/52 3.822266e-03
184 3/54 4.245657e-03
185 2/13 4.386588e-03
186 4/125 4.489058e-03
187 3/56 4.645735e-03
188 2/14 4.945884e-03
189 2/14 4.945884e-03
190 2/14 4.945884e-03
191 2/14 4.945884e-03
192 3/58 4.985945e-03
193 3/58 4.985945e-03
194 2/15 5.548828e-03
195 2/15 5.548828e-03
196 2/15 5.548828e-03
197 6/345 5.596173e-03
198 3/61 5.626994e-03
199 3/63 6.147256e-03
200 2/16 6.200855e-03
201 3/66 6.840974e-03
202 2/17 6.840974e-03
203 2/17 6.840974e-03
204 2/17 6.840974e-03
205 2/17 6.840974e-03
206 3/67 7.093595e-03
207 2/18 7.532008e-03
208 2/18 7.532008e-03
209 2/18 7.532008e-03
210 2/19 8.241667e-03
211 2/19 8.241667e-03
212 2/19 8.241667e-03
213 2/19 8.241667e-03
214 2/20 9.094348e-03
215 2/21 9.982653e-03
216 2/22 1.085553e-02
217 2/22 1.085553e-02
218 3/83 1.230478e-02
219 3/83 1.230478e-02
220 2/24 1.273659e-02
221 6/417 1.291939e-02
222 3/85 1.298477e-02
223 3/86 1.336097e-02
224 2/25 1.350640e-02
225 2/25 1.350640e-02
226 4/180 1.399465e-02
227 3/89 1.440735e-02
228 2/26 1.440735e-02
229 3/90 1.479001e-02
230 2/27 1.539039e-02
231 2/28 1.646589e-02
232 2/29 1.757027e-02
233 4/194 1.771224e-02
234 2/30 1.862299e-02
235 2/31 1.977865e-02
236 3/102 2.036757e-02
237 4/203 2.042828e-02
238 4/206 2.141587e-02
239 2/33 2.198466e-02
240 3/106 2.228428e-02
241 2/34 2.311351e-02
242 4/212 2.328380e-02
243 2/35 2.415927e-02
244 2/35 2.415927e-02
245 2/36 2.531623e-02
246 2/36 2.531623e-02
247 3/114 2.646649e-02
248 2/37 2.648825e-02
249 3/116 2.742785e-02
250 3/116 2.742785e-02
251 3/118 2.842391e-02
252 3/118 2.842391e-02
253 2/39 2.842391e-02
254 2/39 2.842391e-02
255 2/39 2.842391e-02
256 2/39 2.842391e-02
257 2/40 2.973753e-02
258 3/123 3.119488e-02
259 3/129 3.533580e-02
260 2/44 3.533580e-02
261 2/46 3.834204e-02
262 2/47 3.980515e-02
263 2/48 4.128649e-02
264 4/258 4.183273e-02
265 2/49 4.262417e-02
266 2/51 4.583569e-02
267 2/52 4.720898e-02
268 2/52 4.720898e-02
269 2/53 4.877011e-02
Genes
1 SCARB1;CETP;LCAT;LIPC;NPC1L1;LIPG;CD36;APOE;LDLRAP1;APOB;LDLR;ABCA1;ABCG8;STARD3;ABCG5;OSBPL5;APOA2;APOA1;APOC3;APOA4;APOA5;NPC1;SOAT1;STAR;NPC2;SOAT2;APOC2;APOC1
2 SCARB1;CETP;MTTP;PCSK9;LPL;LCAT;ABCB11;CYP7A1;LIPC;LIPG;APOE;LDLRAP1;APOB;LDLR;ABCA1;ABCG8;ABCG5;EPHX2;APOA2;APOA1;APOC3;APOA4;APOA5;SOAT1;NPC1;NPC2;SOAT2;APOC2;ANGPTL3
3 SCARB1;CETP;MTTP;PCSK9;LPL;LCAT;ABCB11;CYP7A1;LIPC;LIPG;APOE;LDLRAP1;APOB;LDLR;ABCA1;ABCG8;ABCG5;EPHX2;APOA2;APOA1;APOC3;APOA4;APOA5;SOAT1;NPC1;NPC2;SOAT2;APOC2;ANGPTL3
4 ABCA1;ABCG8;SCARB1;ABCG5;APOA2;APOA1;APOC3;APOA4;APOA5;NPC1;SOAT1;NPC2;SOAT2;APOC2;APOC1;APOE
5 ABCG8;CETP;STARD3;ABCG5;OSBPL5;APOA2;APOA1;LCAT;NPC1;NPC1L1;NPC2;CD36;APOB;LDLRAP1;LDLR
6 ABCA1;STARD3;CETP;OSBPL5;APOA2;APOA1;LCAT;APOA4;HMGCR;APOA5;CYP7A1;CYP27A1;SOAT1;SOAT2;NPC1L1;ANGPTL3;APOE;DHCR7;LDLRAP1;APOB
7 ABCA1;STARD3;CETP;OSBPL5;APOA2;APOA1;LCAT;APOA4;HMGCR;LIPA;CYP7A1;CYP27A1;SOAT1;SOAT2;ANGPTL3;APOE;DHCR7;LDLRAP1;APOB
8 CETP;LIPC;APOC2;APOA2;APOA1;APOC3;LCAT;LPL;APOA4;APOE;APOB;APOA5
9 CETP;SCARB1;APOA2;APOA1;APOC3;LCAT;APOA4;LIPC;APOC2;APOC1;LIPG;APOE;PLTP
10 ABCA1;CETP;SCARB1;LIPC;APOC2;LIPG;APOA2;APOA1;APOC3;LCAT;APOA4;APOE
11 ABCA1;STARD3;CETP;OSBPL5;APOA2;APOA1;LCAT;APOA4;CYP27A1;SOAT1;SOAT2;ANGPTL3;APOE;LDLRAP1;APOB
12 LIPC;SORT1;APOC2;APOH;APOC1;ANGPTL3;APOA1;APOC3;LPL;APOA4;ANGPTL4;APOA5
13 ABCA1;SCARB1;OSBPL5;MTTP;APOA2;APOA1;APOC3;APOA4;APOA5;NPC2;APOC2;APOC1;APOE;LDLR;PLTP
14 ABCA1;SCARB1;ABCG8;CETP;ABCG5;OSBPL5;MTTP;APOA1;APOA4;ABCB11;APOA5;NPC2;NPC1L1;CD36;APOE;LDLR;PLTP
15 CETP;SCARB1;LIPC;APOC2;ANGPTL3;LPL;APOA1;APOC3;APOA4;APOE;ANGPTL4;APOA5
16 CETP;LIPC;APOC2;APOA1;LCAT;LPL;APOA4;APOE;APOA5
17 CETP;SCARB1;LIPC;APOC2;ANGPTL3;LPL;APOA1;APOC3;APOA4;APOE;ANGPTL4;APOA5
18 CETP;APOA2;LPL;APOC3;APOA5;LIPC;LIPI;APOH;LIPG;APOC1;APOE;APOB;LPIN3
19 ABCA1;APOC2;APOC1;APOA2;APOA1;APOC3;APOA4;APOE;APOA5
20 APOC2;APOA2;APOA1;APOC3;LPL;APOA4;APOE;APOB
21 CETP;LRP1;APOC2;LIPG;APOC1;APOA2;TSPO;APOA1;APOA4;APOA5
22 APOC2;MTTP;APOA2;APOA1;APOC3;APOA4;APOE;APOB
23 LIPC;APOC2;APOC1;APOC3;APOE;APOB;LDLR
24 NPC1L1;MTTP;APOA2;APOA1;APOA4;APOE;APOA5
25 LRP1;ADH1B;APOC2;APOA2;APOA1;LPL;APOC3;APOA4;LRP2;APOE;APOB
26 APOC1;APOA2;APOA1;APOA4;APOE;LDLRAP1;APOA5
27 LRP1;ADH1B;APOC2;APOA2;APOA1;LPL;APOC3;APOA4;LRP2;APOE;APOB
28 ABCA1;CETP;LIPG;ANGPTL3;APOA1;APOA4;PPARG;APOE;ABCB11;APOA5
29 SORT1;APOC1;ANGPTL3;APOA2;APOC3;ANGPTL4
30 APOC1;APOA2;APOA1;APOA4;APOE;APOA5
31 ABCG8;ABCG5;NPC1L1;SOAT2;CD36;LDLR
32 ABCG8;ABCG5;APOC2;APOC1;APOA2;APOC3
33 ABCG8;ABCG5;NPC1L1;SOAT2;CD36;LDLR
34 CETP;APOH;APOC1;APOA2;LPL;APOC3;APOE;APOA5
35 APOC1;APOA2;APOA1;APOA4;APOE;APOA5
36 ABCA1;CETP;LIPG;ANGPTL3;APOA1;ABCB11
37 SOAT1;SOAT2;APOC1;MTTP;APOC3;APOB
38 APOA2;ANGPTL3;APOA1;APOA4;PPARG;APOE;APOA5
39 ABCA1;APOA2;APOA1;APOA4;APOE;APOA5
40 SORT1;APOC1;ANGPTL3;APOC3;ANGPTL4
41 LRPAP1;APOC2;APOC1;APOC3;PCSK9
42 APOC2;APOA2;APOA1;APOC3;APOA5
43 ABCA1;NPC1;STAR;NPC2;LDLRAP1;LDLR
44 CETP;LRP1;LIPG;APOA1;PPARG;APOE;PLTP
45 ABCG8;ABCG5;APOA1;APOA4;APOA5
46 APOC2;APOH;APOA1;APOA4;APOA5
47 LIPC;LIPI;LIPG;APOA2;LPL;APOC3;APOA5
48 SCARB1;APOC2;APOA1;APOA4;APOE;LDLR;APOA5
49 SCARB1;APOC2;APOA1;APOA4;APOA5;LDLR
50 APOC2;APOH;APOA1;APOA4;APOA5
51 APOC1;APOA2;ANGPTL3;APOC3;ABCB11;APOA5
52 CYP27A1;STARD3;NPC1;STAR;TSPO;LRP2;ABCB11;LIPA;CYP7A1
53 APOC2;APOA2;ANGPTL3;APOA1;APOA4;APOA5
54 LIPC;LIPI;LIPG;APOC3;LPL;APOA5
55 SCARB1;OSBPL5;NPC2;MTTP;LDLR;PLTP
56 CETP;LIPC;APOA2;APOA1;LCAT;APOA4;APOA5;LPIN3
57 APOC2;APOA1;APOC3;APOA4;APOA5
58 LIPC;LIPI;LIPG;ANGPTL3;LPL;PPARG;CD36;ABCB11;LPIN3
59 APOC2;APOC1;APOA1;APOC3;APOA4;APOA5
60 LRP1;APOC1;TSPO;APOA4
61 ABCA1;LPL;PPARG;CD36;LDLR
62 CETP;LIPC;APOA2;APOB;LPA
63 ABCA1;CETP;LPL;PPARG;CD36;APOB
64 ABCA1;ABCG8;CETP;ABCG5;APOA1;APOA4;LRP2;APOA5;PLTP
65 CETP;LRP1;APOA1;PPARG;APOE;PLTP
66 SCARB1;LRP1;APOA1;CD36;LRP2;APOE;LDLRAP1;APOB;LDLR
67 NPC1L1;APOA1;APOA4;HMGCR;DHCR7;APOA5
68 ABCA1;SCARB1;LPL;PPARG;APOB
69 SCARB1;APOA1;CD36;LDLR
70 SCARB1;APOA1;CD36;LDLR
71 CYP27A1;LIPC;LIPI;LIPG;LPL;ABCB11;CYP7A1
72 NPC1L1;APOA1;APOA4;HMGCR;DHCR7;APOA5
73 APOC1;APOA2;PCSK9;APOA1;APOA4;PPARG;APOE;APOA5
74 NPC1L1;APOA1;APOA4;HMGCR;DHCR7;APOA5
75 APOC2;APOA1;APOA4;PPARG;APOA5
76 LRPAP1;APOC2;APOC1;APOC3;LDLRAP1;APOA5
77 FADS3;LIPC;LIPI;EPHX2;LIPG;LPL;FADS1
78 ABCA1;APOA1;APOC3;APOE
79 APOC2;APOA1;APOA4;APOA5
80 LIPC;STAR;LIPI;LIPG;LPL;HMGCR;FADS1
81 LRP1;APOA1;PPARG;APOE;PLTP
82 LRPAP1;APOC2;APOC1;PCSK9;APOC3
83 LRP1;PPARG;CD36;APOB
84 NPC2;APOC2;APOC1;APOC3;PPARG;HMGCR;DHCR7
85 NPC1;ADH1B;ANGPTL3;LPL;PPARG;VDAC1;CD36;ABCB11
86 LRP1;PPARG;CD36;APOB
87 LIPC;LIPI;LIPG;LPL;APOA4
88 APOC2;APOA1;APOA4;APOA5
89 ABCA1;NPC1;STAR;NPC2
90 CYP27A1;STAR;HMGCR;DHCR7;ABCB11;CYP7A1
91 STAR;APOA1;APOA4;APOE;APOA5
92 LIPC;APOA2;ANGPTL3;LPL
93 SCARB1;STAR;APOC2;APOA1;APOA4;CD36;APOA5;LDLR
94 LRPAP1;LRP1;HMGCR;APOE
95 LIPG;APOA2;ANGPTL3;LPL;LCAT;FADS1
96 APOA1;APOA4;APOA5
97 LRP1;LRP2;LDLR
98 APOA1;APOA4;APOE;CD36;APOA5
99 EPHX2;APOE;LDLRAP1;KPNB1
100 SOAT1;SOAT2;PPARG
101 SCARB1;LPL;APOB
102 SOAT1;SOAT2;PPARG
103 CYP27A1;HMGCR;DHCR7;ABCB11;CYP7A1
104 STAR;EPHX2;APOE;ABCB11
105 VAPA;VAPB;APOA2;APOA1;LCAT;APOE;LPIN3
106 APOC2;APOC1;APOA2;APOC3
107 LRP1;LRP2;LDLR
108 LRPAP1;LRP1;APOE
109 LIPG;APOA2;ANGPTL3;LPIN3
110 CETP;ANGPTL3;APOA4;PPARG;ABCB11
111 CYP27A1;APOE;CYP7A1
112 CYP27A1;APOE;CYP7A1
113 STARD3;STAR;TSPO;DHCR7
114 APOC3;PCSK9;LDLRAP1
115 CYP27A1;NPC1;ABCB11;CYP7A1
116 APOA2;LCAT;APOA1;LPIN3
117 CYP27A1;APOE;CYP7A1
118 LIPG;ANGPTL3;APOA2
119 LRP1;APOC2;ANGPTL3
120 LRP1;LPL;APOB
121 CETP;APOA1;APOE
122 CETP;APOA1;LCAT;APOA4;APOA5
123 ABCG8;ABCG5;NPC2;ABCB11
124 ABCA1;CETP;PPARG
125 CETP;LRP1;APOE
126 STARD3;STAR;TSPO
127 NPC1;VAPA;VAPB;LRP2;LDLRAP1;APOB;LDLR
128 LRP1;APOE;LDLRAP1;APOA5
129 GHR;ABCA1;LRPAP1;LRP1;APOC2;CD36;APOE;APOA5
130 APOC1;APOA2;APOC3;HMGCR
131 APOC1;APOA2;APOC3
132 SCARB1;NPC2;PLTP
133 LPL;CD36;APOB
134 ABCA1;LRP1;MTTP;PPARG;CD36;LRP2;APOE;APOB
135 PPARG;APOE;CD36
136 SCARB1;LPL;APOB
137 STARD3;STAR;TSPO
138 LIPG;APOA2;ANGPTL3
139 APOC2;APOC1;APOC3
140 PPARG;HMGCR;APOE;DHCR7;LDLR
141 LRPAP1;APOA2;APOA1;APOC3;APOA4;HMGCR
142 CYP27A1;ABCB11;CYP7A1
143 PCSK9;APOE
144 ABCA1;APOA1;APOC3;APOE
145 EPHX2;APOE;ABCB11
146 APOC2;APOA1;APOA4;APOE;APOA5
147 LRP1;ANGPTL3;LRP2
148 APOA2;APOA1;APOC3;APOA4
149 NPC2;PLTP
150 LIPG;LDLRAP1
151 CETP;LIPG
152 PPARG;APOE;CD36
153 SORT1;PCSK9;PPARG;LPIN3
154 ABCB11;CYP7A1
155 PCSK9;APOE
156 LRP1;APOA2;APOA1;APOE
157 APOH;PPARG;APOE
158 APOH;PPARG;APOE
159 APOE;LDLR
160 LRPAP1;HMGCR
161 LRPAP1;PCSK9;APOE
162 LIPI;APOA2;APOA1;LCAT;LPIN3
163 APOA2;APOA1
164 FADS3;FADS1
165 TSPO;VDAC2;VDAC1
166 PCSK9;LDLRAP1;APOA5
167 ABCA1;PPARG
168 STAR;CYP7A1
169 APOA2;APOA1
170 MYLIP;PCSK9
171 MYLIP;PCSK9
172 APOA2;APOA1
173 VAPA;APOE
174 SCARB1;LDLR
175 LRP1;CD36;LDLRAP1
176 APOA2;LPL;CYP7A1
177 LRP1;APOC2;APOE;APOA5
178 APOC1;APOC3
179 APOH;APOE
180 APOA2;APOA1
181 ALDH2;ADH1B
182 APOE;LDLR
183 HMGCR;APOE;LDLR
184 FADS3;FADS2;FADS1
185 FADS2;FADS1
186 ITIH4;APOH;APOA1;CD36
187 APOC2;APOC1;APOC3
188 APOE;LDLR
189 APOH;APOE
190 APOE;CD36
191 NPC1L1;CD36
192 LRP1;CD36;LDLRAP1
193 SCARB1;APOA2;APOA1
194 APOE;LDLR
195 LPL;PPARG
196 SCARB1;LDLR
197 APOA2;PCSK9;APOA1;APOE;APOB;APOA5
198 LRPAP1;LRP1;APOE
199 APOA1;APOA4;CD36
200 PPARG;LDLRAP1
201 PCSK9;LPL;FADS1
202 APOA2;APOA1
203 APOC1;APOC3
204 APOE;KPNB1
205 STAR;CYP7A1
206 APOA2;ANGPTL3;APOA5
207 APOE;LDLRAP1
208 APOE;CD36
209 SCARB1;APOE
210 ALDH2;ADH1B
211 PCSK9;APOE
212 LPL;CD36
213 APOE;LDLR
214 ABCA1;PPARG
215 FADS2;FADS1
216 APOC1;APOC3
217 LPL;APOB
218 APOA1;LPL;CD36
219 FADS2;EPHX2;FADS1
220 APOA2;APOA1
221 APOA2;PCSK9;APOA1;APOE;APOB;APOA5
222 APOA1;PPARG;APOE
223 LRP1;CD36;LRP2
224 MYLIP;PCSK9
225 APOA2;LPL
226 ITIH4;APOH;APOA1;CD36
227 SCARB1;APOH;APOE
228 HMGCR;APOE
229 LRP1;PPARG;APOE
230 APOH;APOE
231 SCARB1;APOE
232 APOH;APOE
233 LRPAP1;PCSK9;APOE;LDLR
234 EPHX2;FADS1
235 GHR;APOE
236 LRPAP1;LRP1;CD36
237 APOH;ANGPTL3;PPARG;ANGPTL4
238 APOA1;LPL;PPARG;APOE
239 SCARB1;LRP1
240 PCSK9;PPARG;LPIN3
241 PPARG;APOE
242 EPHX2;ANGPTL3;LPL;LCAT
243 APOH;APOE
244 LRP1;CD36
245 APOE;CD36
246 LRPAP1;PCSK9
247 APOA4;PPARG;CD36
248 PPARG;LDLRAP1
249 ABCA1;CD36;APOE
250 TSPO;VDAC2;VDAC1
251 APOA1;PPARG;APOE
252 LRPAP1;LRP1;LDLRAP1
253 APOE;CD36
254 HMGCR;APOE
255 HMGCR;APOE
256 SCARB1;APOE
257 APOH;APOE
258 GHR;LRP2;LDLRAP1
259 PCSK9;PPARG;LPIN3
260 LRP1;CD36
261 ABCA1;MTTP
262 NPC2;ABCB11
263 APOE;LDLR
264 LPL;PPARG;CD36;APOB
265 MYLIP;APOE
266 LPL;PPARG
267 PPARG;LRP2
268 APOC1;APOC3
269 APOA2;APOA1
[1] "GO_Cellular_Component_2021"
Term Overlap
1 high-density lipoprotein particle (GO:0034364) 12/19
2 chylomicron (GO:0042627) 10/10
3 triglyceride-rich plasma lipoprotein particle (GO:0034385) 10/15
4 very-low-density lipoprotein particle (GO:0034361) 10/15
5 early endosome (GO:0005769) 13/266
6 low-density lipoprotein particle (GO:0034362) 4/7
7 spherical high-density lipoprotein particle (GO:0034366) 4/8
8 endoplasmic reticulum lumen (GO:0005788) 10/285
9 endocytic vesicle membrane (GO:0030666) 8/158
10 endoplasmic reticulum membrane (GO:0005789) 14/712
11 lysosome (GO:0005764) 11/477
12 lytic vacuole (GO:0000323) 8/219
13 endocytic vesicle (GO:0030139) 7/189
14 clathrin-coated endocytic vesicle membrane (GO:0030669) 5/69
15 clathrin-coated endocytic vesicle (GO:0045334) 5/85
16 clathrin-coated vesicle membrane (GO:0030665) 5/90
17 lysosomal membrane (GO:0005765) 8/330
18 intracellular organelle lumen (GO:0070013) 12/848
19 collagen-containing extracellular matrix (GO:0062023) 8/380
20 endocytic vesicle lumen (GO:0071682) 3/21
21 organelle outer membrane (GO:0031968) 5/142
22 ATP-binding cassette (ABC) transporter complex (GO:0043190) 2/6
23 lytic vacuole membrane (GO:0098852) 6/267
24 endosome membrane (GO:0010008) 6/325
25 mitochondrial outer membrane (GO:0005741) 4/126
26 platelet dense granule lumen (GO:0031089) 2/14
27 vesicle (GO:0031982) 5/226
28 endolysosome membrane (GO:0036020) 2/17
29 basolateral plasma membrane (GO:0016323) 4/151
30 cytoplasmic vesicle membrane (GO:0030659) 6/380
31 platelet dense granule (GO:0042827) 2/21
32 lysosomal lumen (GO:0043202) 3/86
33 endolysosome (GO:0036019) 2/25
34 secretory granule lumen (GO:0034774) 5/316
35 brush border membrane (GO:0031526) 2/37
36 mitochondrial envelope (GO:0005740) 3/127
37 extracellular membrane-bounded organelle (GO:0065010) 2/56
38 extracellular vesicle (GO:1903561) 2/59
39 vacuolar lumen (GO:0005775) 3/161
40 caveola (GO:0005901) 2/60
Adjusted.P.value
1 5.261200e-24
2 6.209923e-24
3 9.203512e-21
4 9.203512e-21
5 1.246888e-10
6 7.731648e-08
7 1.321996e-07
8 6.153361e-07
9 8.075627e-07
10 1.200431e-06
11 6.211359e-06
12 7.353950e-06
13 2.938912e-05
14 2.938912e-05
15 7.671871e-05
16 9.509306e-05
17 1.065748e-04
18 1.698308e-04
19 2.574496e-04
20 2.574496e-04
21 6.432532e-04
22 8.164449e-04
23 1.420908e-03
24 3.827987e-03
25 3.898444e-03
26 4.116966e-03
27 4.199032e-03
28 5.675277e-03
29 6.551600e-03
30 6.795770e-03
31 7.845057e-03
32 1.043474e-02
33 1.043474e-02
34 1.423039e-02
35 2.126720e-02
36 2.763580e-02
37 4.460396e-02
38 4.700422e-02
39 4.700422e-02
40 4.700422e-02
Genes
1 CETP;APOC2;APOH;APOC1;APOA2;APOA1;APOC3;LCAT;APOA4;APOE;APOA5;PLTP
2 APOC2;APOH;APOC1;APOA2;APOA1;APOC3;APOA4;APOE;APOB;APOA5
3 APOC2;APOH;APOC1;APOA2;APOA1;APOC3;APOA4;APOE;APOB;APOA5
4 APOC2;APOH;APOC1;APOA2;APOA1;APOC3;APOA4;APOE;APOB;APOA5
5 LRP1;SORT1;APOA2;PCSK9;APOA1;APOC3;APOA4;APOC2;LIPG;APOE;LDLRAP1;APOB;LDLR
6 APOC2;APOE;APOB;APOA5
7 APOC2;APOA2;APOA1;APOC3
8 LRPAP1;LIPC;MTTP;APOA2;PCSK9;APOA1;APOA4;APOE;APOB;APOA5
9 SCARB1;LRP1;CD36;LRP2;APOE;LDLRAP1;APOB;LDLR
10 ABCA1;STARD3;HMGCR;CYP7A1;FADS2;NCEH1;SOAT1;VAPA;SOAT2;VAPB;DHCR7;APOB;FADS1;LPIN3
11 SCARB1;STARD3;NPC1;LRP1;NPC2;SORT1;PCSK9;LRP2;APOB;LIPA;LDLR
12 SCARB1;NPC1;NPC2;SORT1;PCSK9;LRP2;LIPA;LDLR
13 ABCA1;SCARB1;LRP1;APOA1;CD36;APOE;APOB
14 LRP2;APOE;LDLRAP1;APOB;LDLR
15 LRP2;APOE;LDLRAP1;APOB;LDLR
16 LRP2;APOE;LDLRAP1;APOB;LDLR
17 SCARB1;STARD3;NPC1;LRP1;VAPA;PCSK9;LRP2;LDLR
18 CYP27A1;LIPC;ALDH2;MTTP;APOA2;PCSK9;APOA1;APOA4;APOE;APOB;APOA5;KPNB1
19 ITIH4;APOH;ANGPTL3;APOA1;APOC3;APOA4;ANGPTL4;APOE
20 APOA1;APOE;APOB
21 VDAC3;TSPO;VDAC2;VDAC1;DHCR7
22 ABCG8;ABCG5
23 SCARB1;STARD3;NPC1;LRP1;PCSK9;LRP2
24 STARD3;SORT1;PCSK9;ABCB11;APOB;LDLR
25 VDAC3;TSPO;VDAC2;VDAC1
26 ITIH4;APOH
27 ABCA1;CETP;VAPA;APOA1;APOE
28 PCSK9;LDLR
29 LRP1;MTTP;ABCB11;LDLR
30 SCARB1;LRP1;SORT1;CD36;APOB;LDLR
31 ITIH4;APOH
32 NPC2;APOB;LIPA
33 PCSK9;LDLR
34 ITIH4;NPC2;APOH;APOA1;KPNB1
35 LRP2;CD36
36 STAR;VDAC2;VDAC1
37 APOA1;APOE
38 APOA1;APOE
39 NPC2;APOB;LIPA
40 SCARB1;CD36
[1] "GO_Molecular_Function_2021"
Term
1 cholesterol binding (GO:0015485)
2 sterol binding (GO:0032934)
3 cholesterol transfer activity (GO:0120020)
4 sterol transfer activity (GO:0120015)
5 lipoprotein particle receptor binding (GO:0070325)
6 phosphatidylcholine-sterol O-acyltransferase activator activity (GO:0060228)
7 lipoprotein particle binding (GO:0071813)
8 low-density lipoprotein particle binding (GO:0030169)
9 lipase inhibitor activity (GO:0055102)
10 low-density lipoprotein particle receptor binding (GO:0050750)
11 lipoprotein lipase activity (GO:0004465)
12 amyloid-beta binding (GO:0001540)
13 triglyceride lipase activity (GO:0004806)
14 lipase activity (GO:0016298)
15 lipase binding (GO:0035473)
16 apolipoprotein A-I binding (GO:0034186)
17 apolipoprotein receptor binding (GO:0034190)
18 phospholipase A1 activity (GO:0008970)
19 lipase activator activity (GO:0060229)
20 carboxylic ester hydrolase activity (GO:0052689)
21 voltage-gated anion channel activity (GO:0008308)
22 voltage-gated ion channel activity (GO:0005244)
23 phosphatidylcholine transporter activity (GO:0008525)
24 protein heterodimerization activity (GO:0046982)
25 phosphatidylcholine transfer activity (GO:0120019)
26 phospholipase activity (GO:0004620)
27 O-acyltransferase activity (GO:0008374)
28 high-density lipoprotein particle binding (GO:0008035)
29 ceramide transfer activity (GO:0120017)
30 clathrin heavy chain binding (GO:0032050)
31 phospholipase inhibitor activity (GO:0004859)
32 protein homodimerization activity (GO:0042803)
33 anion channel activity (GO:0005253)
34 phospholipid transfer activity (GO:0120014)
35 oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen, NAD(P)H as one donor, and incorporation of one atom of oxygen (GO:0016709)
36 steroid hydroxylase activity (GO:0008395)
37 NADP binding (GO:0050661)
38 peptidase inhibitor activity (GO:0030414)
39 endopeptidase regulator activity (GO:0061135)
Overlap Adjusted.P.value
1 17/50 2.288174e-28
2 17/60 4.390322e-27
3 11/18 5.744987e-22
4 11/19 1.020647e-21
5 10/28 4.677379e-17
6 6/6 3.484605e-14
7 8/24 2.055320e-13
8 6/17 3.140441e-10
9 5/10 1.805253e-09
10 6/23 2.016360e-09
11 4/5 9.113232e-09
12 7/80 1.430772e-07
13 5/23 1.612041e-07
14 6/49 1.859889e-07
15 3/5 3.788104e-06
16 3/5 3.788104e-06
17 3/6 7.112969e-06
18 3/10 3.991032e-05
19 3/12 6.897596e-05
20 5/96 1.501407e-04
21 3/16 1.501407e-04
22 3/16 1.501407e-04
23 3/18 2.082322e-04
24 6/188 3.016202e-04
25 2/5 7.035280e-04
26 4/73 7.035280e-04
27 3/30 8.567836e-04
28 2/6 9.653527e-04
29 2/8 1.732107e-03
30 2/9 2.147965e-03
31 2/10 2.592555e-03
32 8/636 7.345938e-03
33 3/68 7.879809e-03
34 2/22 1.181407e-02
35 2/36 2.870121e-02
36 2/36 2.870121e-02
37 2/36 2.870121e-02
38 2/40 3.429432e-02
39 2/46 4.375411e-02
Genes
1 ABCA1;STARD3;CETP;OSBPL5;APOA2;APOA1;APOC3;APOA4;APOA5;NPC1;SOAT1;STAR;NPC2;SOAT2;TSPO;VDAC2;VDAC1
2 ABCA1;STARD3;CETP;OSBPL5;APOA2;APOA1;APOC3;APOA4;APOA5;NPC1;SOAT1;STAR;NPC2;SOAT2;TSPO;VDAC2;VDAC1
3 ABCA1;ABCG8;CETP;ABCG5;NPC2;MTTP;APOA2;APOA1;APOA4;APOB;PLTP
4 ABCA1;ABCG8;CETP;ABCG5;NPC2;MTTP;APOA2;APOA1;APOA4;APOB;PLTP
5 LRPAP1;LRP1;APOA2;PCSK9;APOA1;APOC3;APOE;APOB;LDLRAP1;APOA5
6 APOC1;APOA2;APOA1;APOA4;APOE;APOA5
7 SCARB1;LIPC;APOA2;LPL;PCSK9;CD36;LDLR;PLTP
8 SCARB1;LIPC;PCSK9;CD36;LDLR;PLTP
9 APOC2;APOC1;ANGPTL3;APOA2;APOC3
10 LRPAP1;PCSK9;APOE;APOB;LDLRAP1;APOA5
11 LIPC;LIPI;LIPG;LPL
12 LRPAP1;LRP1;APOA1;CD36;APOE;LDLRAP1;LDLR
13 LIPC;LIPI;LIPG;LCAT;LPL
14 LIPC;LIPI;LIPG;LCAT;LPL;LIPA
15 LRPAP1;APOB;APOA5
16 ABCA1;SCARB1;LCAT
17 APOA2;APOA1;PCSK9
18 LIPC;LIPG;LPL
19 APOC2;APOH;APOA5
20 LIPC;LIPG;LPL;LCAT;LIPA
21 VDAC3;VDAC2;VDAC1
22 VDAC3;VDAC2;VDAC1
23 ABCA1;MTTP;PLTP
24 ABCG8;ABCG5;VAPA;VAPB;MTTP;APOA2
25 MTTP;PLTP
26 LIPC;LIPI;LIPG;LPL
27 SOAT1;SOAT2;LCAT
28 APOA2;PLTP
29 MTTP;PLTP
30 LRP1;LDLR
31 APOC1;ANGPTL3
32 GHR;STARD3;VAPB;EPHX2;APOA2;LPL;APOA4;APOE
33 VDAC3;VDAC2;VDAC1
34 MTTP;PLTP
35 CYP27A1;CYP7A1
36 CYP27A1;CYP7A1
37 HMGCR;DHCR7
38 ITIH4;LPA
39 ITIH4;LPA
GO_known_annotations <- do.call(rbind, GO_enrichment)
GO_known_annotations <- GO_known_annotations[GO_known_annotations$Adjusted.P.value<0.05,]
#GO enrichment analysis for cTWAS genes
genes <- ctwas_gene_res$genename[ctwas_gene_res$susie_pip>0.8]
GO_enrichment <- enrichr(genes, dbs)
Uploading data to Enrichr... Done.
Querying GO_Biological_Process_2021... Done.
Querying GO_Cellular_Component_2021... Done.
Querying GO_Molecular_Function_2021... Done.
Parsing results... Done.
GO_ctwas_genes <- do.call(rbind, GO_enrichment)
#optionally subset to only significant GO terms
#GO_ctwas_genes <- GO_ctwas_genes[GO_ctwas_genes$Adjusted.P.value<0.05,]
#identify cTWAS genes in silver standard enriched GO terms
GO_ctwas_genes <- GO_ctwas_genes[GO_ctwas_genes$Term %in% GO_known_annotations$Term,]
overlap_genes <- lapply(GO_ctwas_genes$Genes, function(x){unlist(strsplit(x, ";"))})
overlap_genes <- -sort(-table(unlist(overlap_genes)))
#ctwas genes in silver standard enriched GO terms, not already in silver standard
overlap_genes[!(names(overlap_genes) %in% known_annotations)]
named integer(0)
save(overlap_genes, file=paste0(results_dir, "/overlap_genes.Rd"))
load(paste0(results_dir, "/overlap_genes.Rd"))
overlap_genes <- overlap_genes[!(names(overlap_genes) %in% known_annotations)]
overlap_genes
named integer(0)
overlap_genes <- names(overlap_genes)
#ctwas_gene_res[ctwas_gene_res$genename %in% overlap_genes, report_cols,]
out_table <- ctwas_gene_res
report_cols <- report_cols[!(report_cols %in% c("mu2", "PVE"))]
report_cols <- c(report_cols,"silver","GO_overlap_silver", "bystander")
#reload silver standard genes
known_annotations <- read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
out_table$silver <- F
out_table$silver[out_table$genename %in% known_annotations] <- T
#create extended bystanders list (all silver standard, not just imputed silver standard)
# library(biomaRt)
# library(GenomicRanges)
#
# ensembl <- useEnsembl(biomart="ENSEMBL_MART_ENSEMBL", dataset="hsapiens_gene_ensembl")
# G_list <- getBM(filters= "chromosome_name", attributes= c("hgnc_symbol","chromosome_name","start_position","end_position","gene_biotype"), values=1:22, mart=ensembl)
# G_list <- G_list[G_list$hgnc_symbol!="",]
# G_list <- G_list[G_list$gene_biotype %in% c("protein_coding","lncRNA"),]
# G_list$start <- G_list$start_position
# G_list$end <- G_list$end_position
# G_list_granges <- makeGRangesFromDataFrame(G_list, keep.extra.columns=T)
#
# known_annotations_positions <- G_list[G_list$hgnc_symbol %in% known_annotations,]
# half_window <- 1000000
# known_annotations_positions$start <- known_annotations_positions$start_position - half_window
# known_annotations_positions$end <- known_annotations_positions$end_position + half_window
# known_annotations_positions$start[known_annotations_positions$start<1] <- 1
# known_annotations_granges <- makeGRangesFromDataFrame(known_annotations_positions, keep.extra.columns=T)
#
# bystanders_extended <- findOverlaps(known_annotations_granges,G_list_granges)
# bystanders_extended <- unique(subjectHits(bystanders_extended))
# bystanders_extended <- G_list$hgnc_symbol[bystanders_extended]
# bystanders_extended <- unique(bystanders_extended[!(bystanders_extended %in% known_annotations)])
#
# save(bystanders_extended, file=paste0(results_dir, "/bystanders_extended.Rd"))
load(paste0(results_dir, "/bystanders_extended.Rd"))
#add extended bystanders list to output
out_table$bystander <- F
out_table$bystander[out_table$genename %in% bystanders_extended] <- T
#reload GO overlaps with silver standard
load(paste0(results_dir, "/overlap_genes.Rd"))
out_table$GO_overlap_silver <- NA
out_table$GO_overlap_silver[out_table$susie_pip>0.8] <- 0
for (i in names(overlap_genes)){
out_table$GO_overlap_silver[out_table$genename==i] <- overlap_genes[i]
}
#report number of weights before imputation
nrow(gene_info)
[1] 11502
library(dplyr)
library(ggplot2)
#png(filename = "output/LDL_manhattan_plot.png", width = 8, height = 5, units = "in", res=150)
pdf(file = "output/LDL_manhattan_plot.pdf", width = 5, height = 3)
full_gene_pip_summary <- data.frame(gene_name = ctwas_gene_res$genename,
gene_pip = ctwas_gene_res$susie_pip,
gene_id = ctwas_gene_res$id,
chr = as.integer(ctwas_gene_res$chrom),
start = ctwas_gene_res$pos / 1e3,
is_highlight = F, stringsAsFactors = F) %>% as_tibble()
full_gene_pip_summary$is_highlight <- full_gene_pip_summary$gene_pip > 0.80
don <- full_gene_pip_summary %>%
# Compute chromosome size
group_by(chr) %>%
summarise(chr_len=max(start)) %>%
# Calculate cumulative position of each chromosome
mutate(tot=cumsum(chr_len)-chr_len) %>%
dplyr::select(-chr_len) %>%
# Add this info to the initial dataset
left_join(full_gene_pip_summary, ., by=c("chr"="chr")) %>%
# Add a cumulative position of each SNP
arrange(chr, start) %>%
mutate( BPcum=start+tot)
nudge_x <- rep(0, sum(don$is_highlight))
names(nudge_x) <- don$gene_name[don$is_highlight]
#nudge_x["USP1"] <- 0.2
nudge_y <- rep(0, sum(don$is_highlight))
names(nudge_y) <- don$gene_name[don$is_highlight]
#nudge_y["USP1"] <- 0.25
axisdf <- don %>% group_by(chr) %>% summarize(center=( max(BPcum) + min(BPcum) ) / 2 )
x_axis_labels <- axisdf$chr
x_axis_labels[seq(15,21,2)] <- ""
ggplot(don, aes(x=BPcum, y=gene_pip)) +
# Show all points
ggrastr::geom_point_rast(aes(color=as.factor(chr)), size=1.7) +
scale_color_manual(values = rep(c("grey", "skyblue"), 22 )) +
scale_x_continuous(label = x_axis_labels,
breaks = axisdf$center,
limits=) +
scale_y_continuous(expand = c(0, 0), limits = c(0,1.25), breaks=(1:5)*0.2, minor_breaks=(1:10)*0.1) + # remove space between plot area and x axis
# Add highlighted points
ggrastr::geom_point_rast(data=subset(don, is_highlight==T), color="orange", size=1.7) +
# Add label using ggrepel to avoid overlapping
ggrepel::geom_label_repel(data=subset(don, is_highlight==T),
aes(label=gene_name),
size=1.8,
min.segment.length = 0,
label.size = NA,
fill = alpha(c("white"),0),
max.time=20, max.iter=400000, max.overlaps=100, seed=10,
nudge_x = nudge_x, nudge_y = nudge_y,
force = 1,
force_pull = 1) +
# Custom the theme:
theme_bw() +
theme(
text = element_text(size = 14),
legend.position="none",
panel.border = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
axis.text.x = element_text(color = "grey20", size = 8, angle = 90, hjust = .5, vjust = .5, face = "plain"),
axis.text.y = element_text(size=8),
axis.title = element_text(size=9)
) +
xlab("Chromosome") +
ylab("cTWAS PIP")
dev.off()
png
2
#number of SNPs at PIP>0.8 threshold
sum(out_table$susie_pip>0.8)
[1] 35
#number of SNPs at PIP>0.5 threshold
sum(out_table$susie_pip>0.5)
[1] 64
#genes with PIP>0.8
head(out_table[order(-out_table$susie_pip),report_cols], sum(out_table$susie_pip>0.8))
genename region_tag susie_pip z num_eqtl silver
4433 PSRC1 1_67 1.0000000 -41.687336 1 FALSE
11327 HPR 16_38 0.9999997 -17.962770 2 FALSE
3720 INSIG2 2_69 0.9999957 -8.982702 3 FALSE
5561 ABCG8 2_27 0.9999453 -20.293982 1 TRUE
5988 FADS1 11_34 0.9998404 12.926351 2 TRUE
10612 TRIM39 6_24 0.9985885 8.840164 3 FALSE
7405 ABCA1 9_53 0.9955314 7.982017 1 TRUE
8523 TNKS 8_12 0.9910883 11.038564 2 TRUE
9365 GAS6 13_62 0.9883382 -8.923688 1 FALSE
1597 PLTP 20_28 0.9883283 -5.732491 1 TRUE
1999 PRKD2 19_33 0.9871587 5.072217 2 FALSE
7036 INHBB 2_70 0.9825109 -8.518936 1 FALSE
5542 CNIH4 1_114 0.9789702 6.145535 2 FALSE
2092 SP4 7_19 0.9759456 10.693191 1 FALSE
6090 CSNK1G3 5_75 0.9745191 9.116291 1 FALSE
11257 CYP2A6 19_28 0.9650551 5.407028 1 FALSE
8853 FUT2 19_33 0.9641649 -11.927107 1 FALSE
3247 KDSR 18_35 0.9602264 -4.526287 1 FALSE
233 NPC1L1 7_32 0.9515004 -10.761931 1 TRUE
4702 DDX56 7_32 0.9495892 9.641861 2 FALSE
6387 TTC39B 9_13 0.9450026 -4.334495 3 FALSE
1114 SRRT 7_62 0.9405116 5.424996 2 FALSE
6774 PKN3 9_66 0.9380390 -6.620563 1 FALSE
3300 C10orf88 10_77 0.9371487 -6.787850 2 FALSE
6217 PELO 5_31 0.9363014 8.288398 2 FALSE
8571 STAT5B 17_25 0.9336311 5.426252 2 FALSE
3562 ACVR1C 2_94 0.9320372 -4.687370 2 FALSE
6953 USP1 1_39 0.8941255 16.258211 1 FALSE
9046 KLHDC7A 1_13 0.8393363 4.124187 1 FALSE
8918 CRACR2B 11_1 0.8274447 -3.989585 1 FALSE
9054 SPTY2D1 11_13 0.8251281 -5.557123 1 FALSE
8411 POP7 7_62 0.8234854 -5.845258 1 FALSE
5413 SYTL1 1_19 0.8163154 -3.962854 1 FALSE
6097 ALLC 2_2 0.8133753 4.919066 1 FALSE
3212 CCND2 12_4 0.8041948 -4.065830 1 FALSE
GO_overlap_silver bystander
4433 0 TRUE
11327 0 FALSE
3720 0 FALSE
5561 16 FALSE
5988 11 FALSE
10612 0 FALSE
7405 38 FALSE
8523 0 FALSE
9365 0 FALSE
1597 20 FALSE
1999 0 FALSE
7036 0 FALSE
5542 0 FALSE
2092 0 FALSE
6090 0 FALSE
11257 0 FALSE
8853 0 FALSE
3247 0 FALSE
233 11 FALSE
4702 0 TRUE
6387 0 FALSE
1114 0 FALSE
6774 0 FALSE
3300 0 FALSE
6217 0 FALSE
8571 0 FALSE
3562 0 FALSE
6953 0 TRUE
9046 0 FALSE
8918 0 FALSE
9054 0 FALSE
8411 0 FALSE
5413 0 FALSE
6097 0 FALSE
3212 0 FALSE
head(out_table[order(-out_table$susie_pip),report_cols[-(7:8)]], sum(out_table$susie_pip>0.8))
genename region_tag susie_pip z num_eqtl silver
4433 PSRC1 1_67 1.0000000 -41.687336 1 FALSE
11327 HPR 16_38 0.9999997 -17.962770 2 FALSE
3720 INSIG2 2_69 0.9999957 -8.982702 3 FALSE
5561 ABCG8 2_27 0.9999453 -20.293982 1 TRUE
5988 FADS1 11_34 0.9998404 12.926351 2 TRUE
10612 TRIM39 6_24 0.9985885 8.840164 3 FALSE
7405 ABCA1 9_53 0.9955314 7.982017 1 TRUE
8523 TNKS 8_12 0.9910883 11.038564 2 TRUE
9365 GAS6 13_62 0.9883382 -8.923688 1 FALSE
1597 PLTP 20_28 0.9883283 -5.732491 1 TRUE
1999 PRKD2 19_33 0.9871587 5.072217 2 FALSE
7036 INHBB 2_70 0.9825109 -8.518936 1 FALSE
5542 CNIH4 1_114 0.9789702 6.145535 2 FALSE
2092 SP4 7_19 0.9759456 10.693191 1 FALSE
6090 CSNK1G3 5_75 0.9745191 9.116291 1 FALSE
11257 CYP2A6 19_28 0.9650551 5.407028 1 FALSE
8853 FUT2 19_33 0.9641649 -11.927107 1 FALSE
3247 KDSR 18_35 0.9602264 -4.526287 1 FALSE
233 NPC1L1 7_32 0.9515004 -10.761931 1 TRUE
4702 DDX56 7_32 0.9495892 9.641861 2 FALSE
6387 TTC39B 9_13 0.9450026 -4.334495 3 FALSE
1114 SRRT 7_62 0.9405116 5.424996 2 FALSE
6774 PKN3 9_66 0.9380390 -6.620563 1 FALSE
3300 C10orf88 10_77 0.9371487 -6.787850 2 FALSE
6217 PELO 5_31 0.9363014 8.288398 2 FALSE
8571 STAT5B 17_25 0.9336311 5.426252 2 FALSE
3562 ACVR1C 2_94 0.9320372 -4.687370 2 FALSE
6953 USP1 1_39 0.8941255 16.258211 1 FALSE
9046 KLHDC7A 1_13 0.8393363 4.124187 1 FALSE
8918 CRACR2B 11_1 0.8274447 -3.989585 1 FALSE
9054 SPTY2D1 11_13 0.8251281 -5.557123 1 FALSE
8411 POP7 7_62 0.8234854 -5.845258 1 FALSE
5413 SYTL1 1_19 0.8163154 -3.962854 1 FALSE
6097 ALLC 2_2 0.8133753 4.919066 1 FALSE
3212 CCND2 12_4 0.8041948 -4.065830 1 FALSE
head(out_table[order(-out_table$susie_pip),report_cols[c(1,7:8)]], sum(out_table$susie_pip>0.8))
genename GO_overlap_silver bystander
4433 PSRC1 0 TRUE
11327 HPR 0 FALSE
3720 INSIG2 0 FALSE
5561 ABCG8 16 FALSE
5988 FADS1 11 FALSE
10612 TRIM39 0 FALSE
7405 ABCA1 38 FALSE
8523 TNKS 0 FALSE
9365 GAS6 0 FALSE
1597 PLTP 20 FALSE
1999 PRKD2 0 FALSE
7036 INHBB 0 FALSE
5542 CNIH4 0 FALSE
2092 SP4 0 FALSE
6090 CSNK1G3 0 FALSE
11257 CYP2A6 0 FALSE
8853 FUT2 0 FALSE
3247 KDSR 0 FALSE
233 NPC1L1 11 FALSE
4702 DDX56 0 TRUE
6387 TTC39B 0 FALSE
1114 SRRT 0 FALSE
6774 PKN3 0 FALSE
3300 C10orf88 0 FALSE
6217 PELO 0 FALSE
8571 STAT5B 0 FALSE
3562 ACVR1C 0 FALSE
6953 USP1 0 TRUE
9046 KLHDC7A 0 FALSE
8918 CRACR2B 0 FALSE
9054 SPTY2D1 0 FALSE
8411 POP7 0 FALSE
5413 SYTL1 0 FALSE
6097 ALLC 0 FALSE
3212 CCND2 0 FALSE
TNKS is a silver standard (assumed true positive gene) that is correctly detected. The bystander gene RP11-115J16.2 is significant using TWAS but has low PIP using cTWAS.
#TNKS gene
locus_plot4("8_12", label="cTWAS")
out_table[out_table$region_tag=="8_12",report_cols[-(7:8)]]
out_table[out_table$region_tag=="8_12",report_cols[c(1,7:8)]]
FADS1 is a silver standard gene (assumed true positive gene) that is correctly detected. There are 5 significant TWAS genes at this locus, including FADS2, another silver standard gene. FADS2 is not detected due to its high LD with FADS1. The remaining 3 bystander genes at this locus have low PIP using cTWAS.
#FADS1 gene
locus_plot3("11_34", focus="FADS1")
out_table[out_table$region_tag=="11_34",report_cols[-(7:8)]]
out_table[out_table$region_tag=="11_34",report_cols[c(1,7:8)]]
#number of significant TWAS genes at this locus
sum(abs(out_table$z[out_table$region_tag=="11_34"])>sig_thresh)
POLK is a gene that is significant using TWAS but not detected using TWAS. cTWAS places a high posterior probability on SNPs are this locus. OpenTargets suggets that the causal gene at this locus is HMGCR (note: different GWAS, similar population), which is not imputed in our dataset. cTWAS selected the variants at this locus because the causal gene is not imputed. Note that MR-JTI claims POLK is causal using their method, and their paper includes a discussion of its potential relevance to LDL.
locus_plot("5_45", label="TWAS")
#locus_plot("5_45", label="TWAS", rerun_ctwas = T)
out_table[out_table$region_tag=="5_45",report_cols[-(7:8)]]
out_table[out_table$region_tag=="5_45",report_cols[c(1,7:8)]]
load(paste0(results_dir, "/known_annotations.Rd"))
load(paste0(results_dir, "/bystanders.Rd"))
#remove genes without imputed expression from bystander list
unrelated_genes <- unrelated_genes[unrelated_genes %in% ctwas_gene_res$genename]
#subset results to genes in known annotations or bystanders
ctwas_gene_res_subset <- ctwas_gene_res[ctwas_gene_res$genename %in% c(known_annotations, unrelated_genes),]
#assign ctwas and TWAS genes
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>0.8]
twas_genes <- ctwas_gene_res_subset$genename[abs(ctwas_gene_res_subset$z)>sig_thresh]
#sensitivity / recall
sensitivity <- rep(NA,2)
names(sensitivity) <- c("ctwas", "TWAS")
sensitivity["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(known_annotations)
sensitivity["TWAS"] <- sum(twas_genes %in% known_annotations)/length(known_annotations)
sensitivity
ctwas TWAS
0.1304348 0.4130435
#specificity / (1 - False Positive Rate)
specificity <- rep(NA,2)
names(specificity) <- c("ctwas", "TWAS")
specificity["ctwas"] <- sum(!(unrelated_genes %in% ctwas_genes))/length(unrelated_genes)
specificity["TWAS"] <- sum(!(unrelated_genes %in% twas_genes))/length(unrelated_genes)
specificity
ctwas TWAS
0.9962894 0.9220779
#precision / PPV / (1 - False Discovery Rate)
precision <- rep(NA,2)
names(precision) <- c("ctwas", "TWAS")
precision["ctwas"] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
precision["TWAS"] <- sum(twas_genes %in% known_annotations)/length(twas_genes)
precision
ctwas TWAS
0.7500000 0.3114754
#store sensitivity and specificity calculations for plots
sensitivity_plot <- sensitivity
specificity_plot <- specificity
#precision / PPV by PIP threshold
pip_range <- c(0.5, 0.8, 1)
precision_range <- rep(NA, length(pip_range))
number_detected <- rep(NA, length(pip_range))
for (i in 1:length(pip_range)){
pip_upper <- pip_range[i]
if (i==1){
pip_lower <- 0
} else {
pip_lower <- pip_range[i-1]
}
#assign ctwas genes using PIP threshold
ctwas_genes <- ctwas_gene_res_subset$genename[ctwas_gene_res_subset$susie_pip>=pip_lower]
number_detected[i] <- length(ctwas_genes)
precision_range[i] <- sum(ctwas_genes %in% known_annotations)/length(ctwas_genes)
}
names(precision_range) <- paste0(">= ", c(0, pip_range[-length(pip_range)]))
precision_range <- precision_range*100
precision_range <- c(precision_range, precision["TWAS"]*100)
names(precision_range)[4] <- "TWAS Bonferroni"
number_detected <- c(number_detected, length(twas_genes))
barplot(precision_range, ylim=c(0,100), main="Precision for Distinguishing Silver Standard and Bystander Genes", xlab="PIP Threshold for Detection", ylab="% of Detected Genes in Silver Standard")
abline(h=20, lty=2)
abline(h=40, lty=2)
abline(h=60, lty=2)
abline(h=80, lty=2)
xx <- barplot(precision_range, add=T, col=c(rep("darkgrey",3), "white"))
text(x = xx, y = rep(0, length(number_detected)), label = paste0(number_detected, " detected"), pos = 3, cex=0.8)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#text(x = xx, y = precision_range, label = paste0(round(precision_range,1), "%"), pos = 3, cex=0.8, offset = 1.5)
#false discovery rate by PIP threshold
barplot(100-precision_range, ylim=c(0,100), main="False Discovery Rate for Distinguishing Silver Standard and Bystander Genes", xlab="PIP Threshold for Detection", ylab="% Bystanders in Detected Genes")
abline(h=20, lty=2)
abline(h=40, lty=2)
abline(h=60, lty=2)
abline(h=80, lty=2)
xx <- barplot(100-precision_range, add=T, col=c(rep("darkgrey",3), "white"))
text(x = xx, y = rep(0, length(number_detected)), label = paste0(number_detected, " detected"), pos = 3, cex=0.8)
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
#text(x = xx, y = precision_range, label = paste0(round(precision_range,1), "%"), pos = 3, cex=0.8, offset = 1.5)
####################
#png(file = "output/LDL_silver_standard_precision.png", width = 3, height = 3.5, units = "in", res=150)
pdf(file = "output/LDL_silver_standard_precision.pdf", width = 2.75, height = 3.5)
par(mar=c(6.1, 4.1, 1, 2.1))
par(las=2)
colset <- c("#ebebeb","#bebada","#fb8072","#ffffb3","#8dd3c7","#87CEFA")
number_detected <- number_detected[names(precision_range)!=">= 0.5"]
precision_range <- precision_range[names(precision_range)!=">= 0.5"]
names(precision_range)[names(precision_range)==">= 0"] <- "All Genes"
names(precision_range)[names(precision_range)==">= 0.8"] <- "cTWAS (PIP > 0.8)"
names(precision_range)[names(precision_range)=="TWAS Bonferroni"] <- "TWAS (Bonf.)"
barplot(precision_range, ylim=c(0,100), main="", xlab="", ylab="% Detected Genes in Silver Standard", cex.lab=0.8, cex.names=0.7)
abline(h=20, lty=2)
abline(h=40, lty=2)
abline(h=60, lty=2)
abline(h=80, lty=2)
xx <- barplot(precision_range, add=T, col=colset[c(1,3,5)], cex.lab=0.8, cex.names=0.7)
#text(x = xx, y = rep(0, length(number_detected)), label = paste0(number_detected, " detected"), pos = 3, cex=0.6)
detected_label <- c(number_detected[1], paste0(number_detected[-1], "\ndetected"))
text(x = xx, y = rep(-3, length(number_detected)), label = detected_label, pos = 3, cex=0.55)
dev.off()
png
2
par(las=1)
For all 69 silver standard genes, sequentially bin each gene using the following criteria: 1) gene not imputed; 2) gene detected by cTWAS at PIP>0.8; 3) gene insignificant by TWAS; 4) gene nearby a detected silver standard gene; 5) gene nearby a detected bystander gene; 6) gene nearby a detected SNP; 7) inconclusive.
#reload silver standard genes
known_annotations <- read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
#categorize silver standard genes by case
silver_standard_case <- c()
uncertain_regions <- matrix(NA, 0, 2)
for (i in 1:length(known_annotations)){
current_gene <- known_annotations[i]
if (current_gene %in% ctwas_gene_res$genename) {
if (ctwas_gene_res$susie_pip[ctwas_gene_res$genename == current_gene] > 0.8){
silver_standard_case <- c(silver_standard_case, "Detected (PIP > 0.8)")
} else {
if (abs(ctwas_gene_res$z[ctwas_gene_res$genename == current_gene]) < sig_thresh){
silver_standard_case <- c(silver_standard_case, "Insignificant z-score")
} else {
current_region <- ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]
current_gene_res <- ctwas_gene_res[ctwas_gene_res$region_tag==current_region,]
current_snp_res <- ctwas_snp_res[ctwas_snp_res$region_tag==current_region,]
if (any(current_gene_res$susie_pip>0.8)){
if (any(current_gene_res$genename[current_gene_res$susie_pip>0.8] %in% known_annotations)){
silver_standard_case <- c(silver_standard_case, "Nearby Silver Standard Gene")
} else {
silver_standard_case <- c(silver_standard_case, "Nearby Bystander Gene")
}
} else {
#if (any(current_snp_res$susie_pip>0.8)){
if (sum(current_snp_res$susie_pip)>0.8){
silver_standard_case <- c(silver_standard_case, "Nearby SNP(s)")
} else {
silver_standard_case <- c(silver_standard_case, "Inconclusive")
uncertain_regions <- rbind(uncertain_regions, c(current_gene, ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]))
print(c(current_gene, ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]))
}
}
}
}
} else {
silver_standard_case <- c(silver_standard_case, "Not Imputed")
}
}
names(silver_standard_case) <- known_annotations
#table of outcomes for silver standard genes
-sort(-table(silver_standard_case))
silver_standard_case
Insignificant z-score Not Imputed
27 23
Nearby SNP(s) Detected (PIP > 0.8)
11 6
Nearby Bystander Gene Nearby Silver Standard Gene
1 1
#show inconclusive genes
silver_standard_case[silver_standard_case=="Inconclusive"]
named character(0)
# for (i in 1:nrow(uncertain_regions)){
# locus_plot3(uncertain_regions[i,2], focus=uncertain_regions[i,1])
# }
#pie chart of outcomes for silver standard genes
df <- data.frame(-sort(-table(silver_standard_case)))
names(df) <- c("Outcome", "Frequency")
#df <- df[df$Outcome!="Not Imputed",] #exclude genes not imputed
df$Outcome <- droplevels(df$Outcome) #exclude genes not imputed
bp<- ggplot(df, aes(x=Outcome, y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity", position=position_dodge()) +
theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust=1)) + theme(legend.position = "none")
bp
pie <- ggplot(df, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank())
pie
locus_plot3(focus="KPNB1", region_tag="17_27")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
locus_plot3(focus="LPIN3", region_tag="20_25")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
locus_plot3(focus="LIPC", region_tag="15_26")
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
TTC39B is a member of the Dyslipidaemia term in the disease_GLAD4U. This gene was not included in our silver standard. This gene is not significant using TWAS but is detected by cTWAS.
locus_plot3(focus="TTC39B", region_tag="9_13")
pip_threshold <- 0.5
false_positives <- ctwas_gene_res$genename[abs(ctwas_gene_res$z)>sig_thresh & ctwas_gene_res$susie_pip<pip_threshold]
df_plot <- data.frame(Outcome=c("SNPs", "Genes", "Both", "Neither"), Frequency=rep(0,4))
for (i in 1:length(false_positives)){
gene <- false_positives[i]
region <- ctwas_gene_res$region_tag[ctwas_gene_res$genename==gene]
gene_pip <- sum(ctwas_gene_res$susie_pip[ctwas_gene_res$region_tag==region]) - ctwas_gene_res$susie_pip[ctwas_gene_res$genename==gene]
snp_pip <- sum(ctwas_snp_res$susie_pip[ctwas_snp_res$region_tag==region])
if (gene_pip < 0.5 & snp_pip < 0.5){
df_plot$Frequency[df_plot$Outcome=="Neither"] <- df_plot$Frequency[df_plot$Outcome=="Neither"] + 1
} else if (gene_pip >= 0.5 & snp_pip >= 0.5){
df_plot$Frequency[df_plot$Outcome=="Both"] <- df_plot$Frequency[df_plot$Outcome=="Both"] + 1
} else if (gene_pip < 0.5 & snp_pip >= 0.5){
df_plot$Frequency[df_plot$Outcome=="SNPs"] <- df_plot$Frequency[df_plot$Outcome=="SNPs"] + 1
} else if (gene_pip >= 0.5 & snp_pip < 0.5){
df_plot$Frequency[df_plot$Outcome=="Genes"] <- df_plot$Frequency[df_plot$Outcome=="Genes"] + 1
}
}
pie <- ggplot(df_plot, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank())
pie
Version | Author | Date |
---|---|---|
25b795b | wesleycrouse | 2022-06-24 |
pip_threshold <- 0.5
false_positives <- ctwas_gene_res$genename[abs(ctwas_gene_res$z)>sig_thresh & ctwas_gene_res$susie_pip<pip_threshold]
false_positives <- data.frame(genename=as.character(false_positives), region_tag=as.character(NA), cs_index=as.integer(NA), cs_cor=as.numeric(NA),stringsAsFactors=F)
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
for (i in 1:nrow(false_positives)){
gene <- false_positives$genename[i]
gene_id <- ctwas_gene_res$id[ctwas_gene_res$genename==gene]
region_tag1 <- as.character(ctwas_gene_res$region_tag1[ctwas_gene_res$genename==gene])
region_tag2 <- as.character(ctwas_gene_res$region_tag2[ctwas_gene_res$genename==gene])
region_tag <- ctwas_gene_res$region_tag[ctwas_gene_res$genename==gene]
false_positives$region_tag[i] <- region_tag
ctwas_res_subset <- ctwas_res[ctwas_res$region_tag==region_tag,]
if (!any(ctwas_res_subset$cs_index!=0)){
next
}
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
cs_index <- ctwas_res_subset$cs_index[which(ctwas_res_subset$genename==gene)]
if (cs_index!=0){
false_positives$cs_index[i] <- cs_index
false_positives$cs_cor[i] <- 1
next
}
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
R_snp_gene <- R_snp_gene[rownames(R_snp_gene) %in% region$sid,,drop=F]
gene_correlations <- c(R_gene[gene_id, !(colnames(R_gene) %in% gene_id)], R_snp_gene[,gene_id])
gene_correlations <- abs(gene_correlations[ctwas_res_subset$id[ctwas_res_subset$cs_index!=0]])
gene_correlations <- -sort(-gene_correlations)
false_positives$cs_index[i] <- ctwas_res_subset$cs_index[ctwas_res_subset$id==names(gene_correlations)[1]]
false_positives$cs_cor[i] <- gene_correlations[1]
}
cor_threshold <- 0.5
df_plot <- data.frame(Outcome=c("SNPs", "Genes", "Both", "Neither"), Frequency=rep(0,4))
for (i in 1:nrow(false_positives)){
gene <- false_positives$genename[i]
region_tag <- false_positives$region_tag[i]
cs_index <- false_positives$cs_index[i]
cs_cor <- false_positives$cs_cor[i]
if (isTRUE(cs_cor >= cor_threshold)){
ctwas_res_subset <- ctwas_res[ctwas_res$region_tag==region_tag,]
ctwas_res_subset <- ctwas_res_subset[ctwas_res_subset$cs_index==cs_index,]
ctwas_res_subset <- ctwas_res_subset[!sapply(ctwas_res_subset$genename==gene, isTRUE),]
gene_pip <- sum(ctwas_res_subset$susie_pip[ctwas_res_subset$type=="gene"])
snp_pip <- sum(ctwas_res_subset$susie_pip[ctwas_res_subset$type=="SNP"])
if (gene_pip < 0.5 & snp_pip < 0.5){
df_plot$Frequency[df_plot$Outcome=="Neither"] <- df_plot$Frequency[df_plot$Outcome=="Neither"] + 1
} else if (gene_pip >= 0.5 & snp_pip >= 0.5){
df_plot$Frequency[df_plot$Outcome=="Both"] <- df_plot$Frequency[df_plot$Outcome=="Both"] + 1
} else if (gene_pip < 0.5 & snp_pip >= 0.5){
df_plot$Frequency[df_plot$Outcome=="SNPs"] <- df_plot$Frequency[df_plot$Outcome=="SNPs"] + 1
} else if (gene_pip >= 0.5 & snp_pip < 0.5){
df_plot$Frequency[df_plot$Outcome=="Genes"] <- df_plot$Frequency[df_plot$Outcome=="Genes"] + 1
}
}
}
pie <- ggplot(df_plot, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank())
pie
Version | Author | Date |
---|---|---|
b48afdd | wesleycrouse | 2022-06-30 |
#number of false positive genes with PIP < threshold
nrow(false_positives)
[1] 170
#number of genes assigned to "pure" credible set
sum(false_positives$cs_cor>cor_threshold, na.rm=T)
[1] 83
df_plot <- data.frame(Outcome=c("Confounding by Variants", "Confounding by Genes"), Frequency=rep(0,2))
for (i in 1:nrow(false_positives)){
gene <- false_positives$genename[i]
region_tag <- false_positives$region_tag[i]
cs_index <- false_positives$cs_index[i]
cs_cor <- false_positives$cs_cor[i]
if (isTRUE(cs_cor >= cor_threshold)){
ctwas_res_subset <- ctwas_res[ctwas_res$region_tag==region_tag,]
ctwas_res_subset <- ctwas_res_subset[ctwas_res_subset$cs_index==cs_index,]
ctwas_res_subset <- ctwas_res_subset[!sapply(ctwas_res_subset$genename==gene, isTRUE),]
gene_pip <- sum(ctwas_res_subset$susie_pip[ctwas_res_subset$type=="gene"])
snp_pip <- sum(ctwas_res_subset$susie_pip[ctwas_res_subset$type=="SNP"])
if (gene_pip > snp_pip){
df_plot$Frequency[df_plot$Outcome=="Confounding by Genes"] <- df_plot$Frequency[df_plot$Outcome=="Confounding by Genes"] + 1
} else {
df_plot$Frequency[df_plot$Outcome=="Confounding by Variants"] <- df_plot$Frequency[df_plot$Outcome=="Confounding by Variants"] + 1
}
}
}
pie <- ggplot(df_plot, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank())
pie
############
df_plot$Outcome <- as.character(df_plot$Outcome)
df_plot$Outcome[df_plot$Outcome=="Confounding by Variants"] <- "Confounding\nby Variants"
df_plot$Outcome[df_plot$Outcome=="Confounding by Genes"] <- "Confounding\nby Genes"
df_plot$Outcome <- paste0(df_plot$Outcome, "\n(n=", df_plot$Frequency, ")")
pdf(file = "output/LDL_TWAS_false_positive.pdf", width = 2.5, height = 3.5)
pie <- ggplot(df_plot, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
#pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank(), legend.position="top")
pie <- pie + coord_polar("y", start=0) + theme_minimal()
pie <- pie + theme(axis.title.y=element_blank(),
legend.position="none",
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.grid = element_blank())
pie <- pie + geom_text(aes(label = Outcome), position = position_stack(vjust = 0.5), size=2.5)
pie
dev.off()
png
2
locus_plot_final <- function(region_tag, xlim=NULL, return_table=F, focus=NULL, label_panel="TWAS", label_genes=NULL, label_pos=NULL, plot_eqtl=NULL, draw_gene_track=T, rerun_ctwas=F, rerun_load_only=F, legend_side="right", legend_panel="cTWAS"){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep="\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
if (!rerun_load_only){
ctwas::ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
}
a_bkup <- a
a <- as.data.frame(data.table::fread("temp.susieIrss.txt", header = T))
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$genename <- NA
a$gene_type <- NA
a[a$type=="gene",c("genename", "gene_type")] <- a_bkup[match(a$id[a$type=="gene"], a_bkup$id),c("genename","gene_type")]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a_pos_bkup <- a$pos
a$pos[a$type=="gene"] <- G_list$tss[match(sapply(a$id[a$type=="gene"], function(x){unlist(strsplit(x, "[.]"))[1]}) ,G_list$ensembl_gene_id)]
a$pos[is.na(a$pos)] <- a_pos_bkup[is.na(a$pos)]
a$pos <- a$pos/1000000
if (!is.null(xlim)){
if (is.na(xlim[1])){
xlim[1] <- min(a$pos)
}
if (is.na(xlim[2])){
xlim[2] <- max(a$pos)
}
a <- a[a$pos>=xlim[1] & a$pos<=xlim[2],,drop=F]
}
if (is.null(focus)){
focus <- a$genename[a$z==max(abs(a$z)[a$type=="gene"])]
}
if (is.null(label_genes)){
label_genes <- focus
}
if (is.null(label_pos)){
label_pos <- rep(3, length(label_genes))
}
if (is.null(plot_eqtl)){
plot_eqtl <- focus
}
focus <- a$id[which(a$genename==focus)]
a$focus <- 0
a$focus <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
start <- min(a$pos)
end <- max(a$pos)
if (draw_gene_track){
layout(matrix(1:4, ncol = 1), widths = 1, heights = c(1.5,0.25,1.5,0.75), respect = FALSE)
} else {
layout(matrix(1:3, ncol = 1), widths = 1, heights = c(1.5,0.25,1.5), respect = FALSE)
}
par(mar = c(0, 4.1, 0, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"), frame.plot=FALSE, bg = colorsall[1], ylab = "-log10(p value)", panel.first = grid(), ylim =c(0, max(a$PVALUE)*1.1), xaxt = 'n', xlim=c(start, end))
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$focus == 1], a$PVALUE[a$type == "SNP" & a$focus == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$focus == 1], a$PVALUE[a$type == "gene" & a$focus == 1], pch = 22, bg = "salmon", cex = 2)
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
if (legend_panel=="TWAS"){
x_pos <- ifelse(legend_side=="right", max(a$pos)-0.2*(max(a$pos)-min(a$pos)), min(a$pos)+0.05*(max(a$pos)-min(a$pos)))
legend(x_pos, y= max(a$PVALUE), c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
}
if (label_panel=="TWAS"){
for (i in 1:length(label_genes)){
text(a$pos[a$genename==label_genes[i]], a$PVALUE[a$genename==label_genes[i]], labels=label_genes[i], pos=label_pos[i], cex=0.7)
}
}
par(mar = c(0.25, 4.1, 0.25, 2.1))
plot(NA, xlim = c(start, end), ylim = c(0, length(plot_eqtl)), frame.plot = F, axes = F, xlab = NA, ylab = NA)
for (i in 1:length(plot_eqtl)){
cgene <- a$id[which(a$genename==plot_eqtl[i])]
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
eqtl_pos <- a$pos[a$id %in% eqtls]
col="grey"
rect(start, length(plot_eqtl)+1-i-0.8, end, length(plot_eqtl)+1-i-0.2, col = col, border = T, lwd = 1)
if (length(eqtl_pos)>0){
for (j in 1:length(eqtl_pos)){
segments(x0=eqtl_pos[j], x1=eqtl_pos[j], y0=length(plot_eqtl)+1-i-0.2, length(plot_eqtl)+1-i-0.8, lwd=1.5)
}
}
}
text(start, length(plot_eqtl)-(1:length(plot_eqtl))+0.5,
labels = plot_eqtl, srt = 0, pos = 2, xpd = TRUE, cex=0.7)
par(mar = c(4.1, 4.1, 0, 2.1))
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"),frame.plot=FALSE, col = "white", ylim= c(0,1.1), ylab = "cTWAS PIP", xlim = c(start, end))
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$focus == 1], a$susie_pip[a$type == "SNP" & a$focus == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$focus == 1], a$susie_pip[a$type == "gene" & a$focus == 1], pch = 22, bg = "salmon", cex = 2)
if (legend_panel=="cTWAS"){
x_pos <- ifelse(legend_side=="right", max(a$pos)-0.2*(max(a$pos)-min(a$pos)), min(a$pos)+0.05*(max(a$pos)-min(a$pos)))
legend(x_pos, y= 1 ,c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
}
if (label_panel=="cTWAS"){
for (i in 1:length(label_genes)){
text(a$pos[a$genename==label_genes[i]], a$susie_pip[a$genename==label_genes[i]], labels=label_genes[i], pos=label_pos[i], cex=0.7)
}
}
if (draw_gene_track){
source("code/trackplot.R")
query_ucsc = TRUE
build = "hg38"
col = "gray70"
txname = NULL
genename = NULL
collapse_txs = TRUE
gene_model = "data/hg38.ensGene.gtf.gz"
isGTF = T
##########
start <- min(a$pos)*1000000
end <- max(a$pos)*1000000
chr <- paste0("chr",as.character(unique(a$chrom)))
#collect gene models
if(is.null(gene_model)){
if(query_ucsc){
message("Missing gene model. Trying to query UCSC genome browser..")
etbl = .extract_geneModel_ucsc(chr, start = start, end = end, refBuild = build, txname = txname, genename = genename)
} else{
etbl = NULL
}
} else{
if(isGTF){
etbl = .parse_gtf(gtf = gene_model, chr = chr, start = start, end = end, txname = txname, genename = genename)
} else{
etbl = .extract_geneModel(ucsc_tbl = gene_model, chr = chr, start = start, end = end, txname = txname, genename = genename)
}
}
#draw gene models
if(!is.null(etbl)){
if(collapse_txs){
etbl = .collapse_tx(etbl)
}
#subset to protein coding genes in ensembl and lincRNAs included in the analysis
#etbl <- etbl[names(etbl) %in% G_list$ensembl_gene_id]
etbl <- etbl[names(etbl) %in% c(G_list$ensembl_gene_id[G_list$gene_biotype=="protein_coding"], sapply(a$id[a$type=="gene"], function(x){unlist(strsplit(x, split="[.]"))[1]}))]
for (i in 1:length(etbl)){
ensembl_name <- attr(etbl[[i]], "gene")
gene_name <- G_list$hgnc_symbol[match(ensembl_name, G_list$ensembl_gene_id)]
if (gene_name==""){
gene_name <- a$genename[sapply(a$id, function(x){unlist(strsplit(x,split="[.]"))[1]})==ensembl_name]
}
if (length(gene_name)>0){
attr(etbl[[i]], "gene") <- gene_name
}
attr(etbl[[i]], "imputed") <- ensembl_name %in% sapply(ctwas_gene_res$id, function(x){unlist(strsplit(x, split="[.]"))[1]})
}
par(mar = c(0, 4.1, 0, 2.1))
plot(NA, xlim = c(start, end), ylim = c(0, length(etbl)), frame.plot = FALSE, axes = FALSE, xlab = NA, ylab = NA)
etbl <- etbl[order(-sapply(etbl, function(x){attr(x, "start")}))]
for(tx_id in 1:length(etbl)){
txtbl = etbl[[tx_id]]
if (attr(txtbl, "imputed")){
exon_col = "#192a56"
} else {
exon_col = "darkred"
}
segments(x0 = attr(txtbl, "start"), y0 = tx_id-0.45, x1 = attr(txtbl, "end"), y1 = tx_id-0.45, col = exon_col, lwd = 1)
if(is.na(attr(txtbl, "tx"))){
text(x = start, y = tx_id-0.45, labels = paste0(attr(txtbl, "gene")), cex = 0.7, adj = 0, srt = 0, pos = 2, xpd = TRUE)
} else {
text(x = start, y = tx_id-0.45, labels = paste0(attr(txtbl, "tx"), " [", attr(txtbl, "gene"), "]"), cex = 0.7, adj = 0, srt = 0, pos = 2, xpd = TRUE)
}
rect(xleft = txtbl[[1]], ybottom = tx_id-0.75, xright = txtbl[[2]], ytop = tx_id-0.25, col = exon_col, border = NA)
if(attr(txtbl, "strand") == "+"){
dirat = pretty(x = c(min(txtbl[[1]]), max(txtbl[[2]])))
dirat[1] = min(txtbl[[1]]) #Avoid drawing arrows outside gene length
dirat[length(dirat)] = max(txtbl[[2]])
points(x = dirat, y = rep(tx_id-0.45, length(dirat)), pch = ">", col = exon_col)
}else{
dirat = pretty(x = c(min(txtbl[[1]]), max(txtbl[[2]])))
dirat[1] = min(txtbl[[1]]) #Avoid drawing arrows outside gene length
dirat[length(dirat)] = max(txtbl[[2]])
points(x = dirat, y = rep(tx_id-0.45, length(dirat)), pch = "<", col = exon_col)
}
}
}
}
if (return_table){
return(a)
}
}
a <- locus_plot_final(region_tag = "8_12", focus="TNKS", label_genes=c("TNKS"), label_pos=c(3), plot_eqtl=c("TNKS"), return_table=T)
a[a$type=="gene",]
a <- locus_plot_final(region_tag = "5_45", xlim=c(75,76), return_table=T,
focus="POLK",
label_genes=c("POLK", "ANKDD1B", "POC5"),
label_pos=c(3,3,3),
plot_eqtl=c("POLK"), rerun_ctwas=T, rerun_load_only=F,
label_panel="cTWAS")
a[a$type=="gene",]
a <- locus_plot_final(region_tag="19_33", xlim=c(NA,46.85), return_table=T,
focus="PRKD2",
label_genes=c("STRN4","SLC1A5","PRKD2","FKRP","DACT3"),
label_pos=c(3,3,3,3,3),
plot_eqtl=c("PRKD2"),
label_panel="cTWAS")
a[a$type=="gene",]
####################
#####load positions for all genes on autosomes in ENSEMBL, subset to only protein coding and lncRNA with non-missing HGNC symbol
# library(biomaRt)
#
# ensembl <- useEnsembl(biomart="ENSEMBL_MART_ENSEMBL", dataset="hsapiens_gene_ensembl")
# G_list <- getBM(filters= "chromosome_name", attributes= c("hgnc_symbol","chromosome_name","start_position","end_position","gene_biotype", "ensembl_gene_id", "strand"), values=1:22, mart=ensembl)
#
# save(G_list, file=paste0(results_dir, "/G_list_", trait_id, ".RData"))
load(paste0(results_dir, "/G_list_", trait_id, ".RData"))
G_list <- G_list[G_list$gene_biotype %in% c("protein_coding"),]
G_list$hgnc_symbol[G_list$hgnc_symbol==""] <- "-"
G_list$tss <- G_list[,c("end_position", "start_position")][cbind(1:nrow(G_list),G_list$strand/2+1.5)]
#####load z scores from the analysis and add positions from the LD reference
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
# LDR_dir <- "/project2/mstephens/wcrouse/UKB_LDR_0.1/"
# LDR_files <- list.files(LDR_dir)
# LDR_files <- LDR_files[grep(".Rvar" ,LDR_files)]
#
# z_snp$chrom <- as.integer(NA)
# z_snp$pos <- as.integer(NA)
#
# for (i in 1:length(LDR_files)){
# print(i)
#
# LDR_info <- read.table(paste0(LDR_dir, LDR_files[i]), header=T)
# z_snp_index <- which(z_snp$id %in% LDR_info$id)
# z_snp[z_snp_index,c("chrom", "pos")] <- t(sapply(z_snp_index, function(x){unlist(LDR_info[match(z_snp$id[x], LDR_info$id),c("chrom", "pos")])}))
# }
#
# z_snp <- z_snp[,c("id", "z", "chrom","pos")]
# save(z_snp, file=paste0(results_dir, "/z_snp_pos_", trait_id, ".RData"))
load(paste0(results_dir, "/z_snp_pos_", trait_id, ".RData"))
####################
#identify genes within 500kb of genome-wide significant variant ("nearby")
G_list$nearby <- NA
window_size <- 500000
for (chr in 1:22){
#index genes on chromosome
G_list_index <- which(G_list$chromosome_name==chr)
#subset z_snp to chromosome, then subset to significant genome-wide significant variants
z_snp_chr <- z_snp[z_snp$chrom==chr,,drop=F]
z_snp_chr <- z_snp_chr[abs(z_snp_chr$z)>qnorm(1-(5E-8/2), lower=T),,drop=F]
#iterate over genes on chromsome and check if a genome-wide significant SNP is within the window
for (i in G_list_index){
window_start <- G_list$start_position[i] - window_size
window_end <- G_list$end_position[i] + window_size
G_list$nearby[i] <- any(z_snp_chr$pos>=window_start & z_snp_chr$pos<=window_end)
}
}
####################
#identify genes that are nearest to lead genome-wide significant variant ("nearest")
G_list$nearest <- F
G_list$distance <- Inf
G_list$which_nearest <- NA
window_size <- 500000
n_peaks <- 0
for (chr in 1:22){
#index genes on chromosome
G_list_index <- which(G_list$chromosome_name==chr & G_list$gene_biotype=="protein_coding")
#subset z_snp to chromosome, then subset to significant genome-wide significant variants
z_snp_chr <- z_snp[z_snp$chrom==chr,,drop=F]
z_snp_chr <- z_snp_chr[abs(z_snp_chr$z)>qnorm(1-(5E-8/2), lower=T),,drop=F]
while (nrow(z_snp_chr)>0){
n_peaks <- n_peaks + 1
lead_index <- which.max(abs(z_snp_chr$z))
lead_position <- z_snp_chr$pos[lead_index]
distances <- sapply(G_list_index, function(i){
if (lead_position >= G_list$start_position[i] & lead_position <= G_list$end_position[i]){
distance <- 0
} else {
distance <- min(abs(G_list$start_position[i] - lead_position), abs(G_list$end_position[i] - lead_position))
}
distance
})
min_distance <- min(distances)
G_list$nearest[G_list_index[distances==min_distance]] <- T
nearest_genes <- paste0(G_list$hgnc_symbol[G_list_index[distances==min_distance]], collapse=", ")
update_index <- which(G_list$distance[G_list_index] > distances)
G_list$distance[G_list_index][update_index] <- distances[update_index]
G_list$which_nearest[G_list_index][update_index] <- nearest_genes
window_start <- lead_position - window_size
window_end <- lead_position + window_size
z_snp_chr <- z_snp_chr[!(z_snp_chr$pos>=window_start & z_snp_chr$pos<=window_end),,drop=F]
}
}
G_list$distance[G_list$distance==Inf] <- NA
#report number of GWAS peaks
sum(n_peaks)
[1] 182
library(readxl)
known_annotations <- read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
results_summary <- ctwas_gene_res[ctwas_gene_res$susie_pip>0.8,c("genename", "id", "region_tag", "susie_pip", "z", "num_eqtl")]
names(results_summary)[names(results_summary)=="id"] <- "ensembl_gene_id"
results_summary$ensembl_gene_id <- sapply(results_summary$ensembl_gene_id, function(x){unlist(strsplit(x, split="[.]"))[1]})
results_summary <- cbind(results_summary, G_list[match(results_summary$ensembl_gene_id, G_list$ensembl_gene_id),c("chromosome_name", "start_position", "nearby", "nearest", "distance", "which_nearest")])
names(results_summary)[names(results_summary)=="chromosome_name"] <- "chromosome"
results_summary$known <- results_summary$genename %in% known_annotations
results_summary$twas_fp <- NA
results_summary$gene_nearest_region_peak <- NA
for (i in 1:nrow(results_summary)){
genename <- results_summary$genename[i]
region_tag <- results_summary$region_tag[i]
ctwas_gene_res_subset <- ctwas_gene_res[ctwas_gene_res$region_tag==region_tag & ctwas_gene_res$genename!=genename,]
results_summary$twas_fp[i] <- any(ctwas_gene_res_subset$z > sig_thresh & ctwas_gene_res_subset$susie_pip < 0.8)
ctwas_snp_res_subset <- ctwas_snp_res[ctwas_snp_res$region_tag==region_tag,]
chromosome <- unique(ctwas_snp_res_subset$chrom)
lead_position <- ctwas_snp_res_subset$pos[which.max(abs(ctwas_snp_res_subset$z))]
G_list_index <- which(G_list$chromosome_name==chromosome)
distances <- sapply(G_list_index, function(i){
if (lead_position >= G_list$start_position[i] & lead_position <= G_list$end_position[i]){
distance <- 0
} else {
distance <- min(abs(G_list$start_position[i] - lead_position), abs(G_list$end_position[i] - lead_position))
}
distance
})
results_summary$gene_nearest_region_peak[i] <- paste0(G_list$hgnc_symbol[G_list_index[which(distances==min(distances))]], collapse="; ")
}
####################
#GO enrichment of cTWAS genes
# genes <- results_summary$genename
#
# dbs <- c("GO_Biological_Process_2021", "GO_Cellular_Component_2021", "GO_Molecular_Function_2021")
# GO_enrichment <- enrichr(genes, dbs)
#
# save(GO_enrichment, file=paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
####################
#enrichment of silver standard genes
# genes <- known_annotations
#
# dbs <- c("GO_Biological_Process_2021", "GO_Cellular_Component_2021", "GO_Molecular_Function_2021")
# GO_enrichment_silver_standard <- enrichr(genes, dbs)
#
# save(GO_enrichment_silver_standard, file=paste0(results_dir, "/",trait_id, "silver_standard_enrichment_results.RData"))
####################
#report GO cTWAS
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment$DB <- sapply(rownames(GO_enrichment), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment) <- NULL
GO_enrichment_out <- cbind(GO_enrichment[,c("Term", "DB"),drop=F],
GO_enrichment[,!(colnames(GO_enrichment) %in%
c("Term", "DB", "Old.P.value", "Old.Adjusted.P.value")), drop=F])
write.csv(GO_enrichment_out, file="output/LDL_GO_ctwas.csv", row.names=F)
GO_enrichment <- GO_enrichment[GO_enrichment$Adjusted.P.value < 0.05,]
GO_enrichment <- GO_enrichment[order(-GO_enrichment$Odds.Ratio),]
results_summary$GO <- sapply(results_summary$genename, function(x){terms <- GO_enrichment$Term[grep(x, GO_enrichment$Genes)];
if (length(terms)>0){terms <- terms[1:min(length(terms),5)]};
paste0(terms, collapse="; ")})
####################
#report GO silver standard
load(paste0(results_dir, "/", trait_id, "silver_standard_enrichment_results.RData"))
GO_enrichment_silver_standard <- do.call(rbind, GO_enrichment_silver_standard)
GO_enrichment_silver_standard$DB <- sapply(rownames(GO_enrichment_silver_standard), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment_silver_standard) <- NULL
GO_enrichment_silver_standard_out <- cbind(GO_enrichment_silver_standard[,c("Term", "DB"),drop=F],
GO_enrichment_silver_standard[,!(colnames(GO_enrichment_silver_standard) %in% c("Term", "DB", "Old.P.value", "Old.Adjusted.P.value")),drop=F])
write.csv(GO_enrichment_silver_standard_out, file="output/LDL_GO_silver.csv", row.names=F)
GO_enrichment_silver_standard <- GO_enrichment_silver_standard[GO_enrichment_silver_standard$Adjusted.P.value < 0.05,]
GO_enrichment_silver_standard <- GO_enrichment_silver_standard[order(-GO_enrichment_silver_standard$Odds.Ratio),]
#reload GO cTWAS for GO crosswalk
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment$DB <- sapply(rownames(GO_enrichment), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment) <- NULL
#overlap between sets
GO_enrichment <- GO_enrichment[GO_enrichment$Term %in% GO_enrichment_silver_standard$Term,,drop=F]
GO_enrichment_silver_standard <- GO_enrichment_silver_standard[GO_enrichment_silver_standard$Term %in% GO_enrichment$Term,,drop=F]
GO_enrichment <- GO_enrichment[match(GO_enrichment_silver_standard$Term, GO_enrichment$Term),]
results_summary$GO_silver <- sapply(results_summary$genename, function(x){terms <- GO_enrichment$Term[grep(x, GO_enrichment$Genes)];
if (length(terms)>0){terms <- terms[1:min(length(terms),5)]};
paste0(terms, collapse="; ")})
####################
#report FUMA
FUMA <- data.table::fread(paste0("/project2/xinhe/shengqian/cTWAS/cTWAS_analysis/data/FUMA_output/", trait_id, "/GS.txt"))
FUMA <- FUMA[FUMA$Category %in% c("GO_bp", "GO_cc", "GO_mf"),,drop=F]
FUMA <- FUMA[order(FUMA$p),]
FUMA <- FUMA[,-c("link")]
write.csv(FUMA, file="output/LDL_MAGMA.csv", row.names=F)
#reload GO cTWAS for GO crosswalk
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment$DB <- sapply(rownames(GO_enrichment), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment) <- NULL
GO_enrichment$Term_FUMA <- sapply(GO_enrichment$Term, function(x){rev(rev(unlist(strsplit(x, split=" [(]GO")))[-1])})
GO_enrichment$Term_FUMA <- paste0("GO_", toupper(gsub(" ", "_", GO_enrichment$Term_FUMA)))
#overlap between sets
GO_enrichment <- GO_enrichment[GO_enrichment$Term_FUMA %in% FUMA$GeneSet,,drop=F]
FUMA <- FUMA[FUMA$GeneSet %in% GO_enrichment$Term_FUMA]
GO_enrichment <- GO_enrichment[match(FUMA$GeneSet, GO_enrichment$Term_FUMA),]
results_summary$GO_MAGMA <- sapply(results_summary$genename, function(x){terms <- GO_enrichment$Term[grep(x, GO_enrichment$Genes)];
if (length(terms)>0){terms <- terms[1:min(length(terms),5)]};
paste0(terms, collapse="; ")})
####################
#report FUMA + susieGO
gsesusie <- as.data.frame(readxl::read_xlsx("gsesusie_enrichment.xlsx", sheet=trait_id))
gsesusie$GeneSet <- paste0("(", gsesusie$GeneSet, ")")
#reload GO cTWAS for GO crosswalk
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment$DB <- sapply(rownames(GO_enrichment), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment) <- NULL
GO_enrichment$GeneSet <- sapply(GO_enrichment$Term, function(x){rev(unlist(strsplit(x, " ")))[1]})
#overlap between sets
GO_enrichment <- GO_enrichment[GO_enrichment$GeneSet %in% gsesusie$GeneSet,,drop=F]
gsesusie <- gsesusie[gsesusie$GeneSet %in% GO_enrichment$GeneSet,,drop=F]
GO_enrichment <- GO_enrichment[match(gsesusie$GeneSet, GO_enrichment$GeneSet),]
results_summary$GO_MAGMA_SuSiE <- sapply(results_summary$genename, function(x){terms <- GO_enrichment$Term[grep(x, GO_enrichment$Genes)];
if (length(terms)>0){terms <- terms[1:min(length(terms),5)]};
paste0(terms, collapse="; ")})
write.csv(results_summary, file=paste0("results_summary_LDL_cholesterol_corrected.csv"), row.names=F)
#number of genes in silver standard or at least one enriched term from GO silver standard or GO MAGMA
sum(results_summary$GO_silver!="" | results_summary$GO_MAGMA!="" | results_summary$known)
[1] 19
#number of genes in silver standard or at least one enriched term from GO silver standard or GO MAGMA or GO cTWAS
sum(results_summary$GO_silver!="" | results_summary$GO_MAGMA!="" | results_summary$known | results_summary$GO!="")
[1] 23
####################
#table of all genes
results_all_genes <- ctwas_gene_res
results_all_genes <- results_all_genes[,!(colnames(results_all_genes) %in% c("type", "region_tag1", "region_tag2", "gene_type"))]
results_all_genes <- results_all_genes[,c("id", "genename", "chrom", "pos","region_tag", "cs_index", "susie_pip", "mu2", "PVE", "z", "num_eqtl")]
results_all_genes <- dplyr::rename(results_all_genes, PIP="susie_pip", tau2="mu2")
write.csv(results_all_genes, file=paste0("output/LDL_results_all_genes.csv"), row.names=F)
####################
#table of silver standard genes
#reload silver standard list
known_annotations <- readxl::read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- unique(known_annotations$`Gene Symbol`)
#reload bystander list
load(paste0(results_dir, "/bystanders.Rd"))
#remove genes without imputed expression from bystander list
unrelated_genes <- unrelated_genes[unrelated_genes %in% ctwas_gene_res$genename]
results_silver_bystander <- results_all_genes[results_all_genes$genename %in% c(known_annotations, unrelated_genes),]
results_silver_bystander <- results_silver_bystander[,c("genename", "id", "chrom", "pos","region_tag", "cs_index", "PIP", "tau2", "PVE", "z", "num_eqtl")]
results_silver_bystander <- rbind(data.frame(genename=known_annotations[!(known_annotations %in% results_silver_bystander$genename)], id=NA, chrom=NA, pos=NA, region_tag=NA, cs_index=NA, PIP=NA, tau2=NA, PVE=NA, z=NA, num_eqtl=0), results_silver_bystander)
results_silver_bystander$annotation <- ""
results_silver_bystander$annotation[results_silver_bystander$genename %in% known_annotations] <- "known"
results_silver_bystander$annotation[results_silver_bystander$genename %in% unrelated_genes] <- "bystander"
results_silver_bystander <- results_silver_bystander[order(results_silver_bystander$annotation=="bystander"),]
write.csv(results_silver_bystander, file=paste0("output/LDL_results_silver_bystander.csv"), row.names=F)
results_summary_compact <- results_summary[results_summary$susie_pip>0.9,]
# results_summary_compact$evidence <- ""
# results_summary_compact$evidence[results_summary_compact$nearby & !results_summary_compact$nearest & !results_summary_compact$known] <- "Nearby"
# results_summary_compact$evidence[results_summary_compact$nearby & !results_summary_compact$nearest & results_summary_compact$known] <- "Nearby; Known"
# results_summary_compact$evidence[results_summary_compact$nearest & !results_summary_compact$known] <- "Nearest"
# results_summary_compact$evidence[results_summary_compact$nearest & results_summary_compact$known] <- "Nearest; Known"
results_summary_compact$evidence <- "Novel"
results_summary_compact$evidence[results_summary_compact$nearest & !results_summary_compact$known] <- "Nearest"
results_summary_compact$evidence[!results_summary_compact$nearest & results_summary_compact$known] <- "Known"
results_summary_compact$evidence[results_summary_compact$nearest & results_summary_compact$known] <- "Nearest; Known"
results_summary_compact$position <- paste0("chr", results_summary_compact$chromosome, ":", results_summary_compact$start_position)
results_summary_compact$z <- round(results_summary_compact$z, 2)
results_summary_compact <- results_summary_compact[,c("genename", "position", "susie_pip", "z", "evidence")]
rownames(results_summary_compact) <- NULL
colnames(results_summary_compact) <- c("Gene", "Position", "PIP", "Z-score", "Evidence")
write.csv(results_summary_compact, file=paste0("results_summary_LDL_cholesterol_compact.csv"), row.names=F)
library(enrichR)
#plot non-redundant GO results for all databases
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment <- GO_enrichment[order(GO_enrichment$Adjusted.P.value),]
GO_enrichment <- GO_enrichment[GO_enrichment$Adjusted.P.value < 0.05,]
GO_enrichment <- GO_enrichment[!duplicated(GO_enrichment$Genes),]
plotEnrich(GO_enrichment)
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
plotEnrich(GO_enrichment, numChar=max(sapply(GO_enrichment$Term, nchar)))
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
#plot non-redundant GO results for GO_Biological_Process_2021 only
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- GO_enrichment[["GO_Biological_Process_2021"]]
GO_enrichment <- GO_enrichment[GO_enrichment$Adjusted.P.value < 0.05,]
GO_enrichment <- GO_enrichment[!duplicated(GO_enrichment$Genes),]
plotEnrich(GO_enrichment)
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
plotEnrich(GO_enrichment, numChar=max(sapply(GO_enrichment$Term, nchar)))
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
GO_enrichment$Term <- sapply(GO_enrichment$Term, function(x){unlist(strsplit(x, " [(]GO:"))[1]})
plotEnrich(GO_enrichment)
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
plotEnrich(GO_enrichment, numChar=max(sapply(GO_enrichment$Term, nchar)))
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
####################
#non-redundant results excluding subsets
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment <- GO_enrichment[["GO_Biological_Process_2021"]]
GO_enrichment <- GO_enrichment[GO_enrichment$Adjusted.P.value < 0.05,]
GO_gene_list <- lapply(GO_enrichment$Genes, function(x){unlist(strsplit(x, ";"))})
GO_enrichment_indices <- 1
for (i in 2:length(GO_gene_list)){
redundant_flag <- F
for (j in 1:(i-1)){
if (all(GO_gene_list[[i]] %in% GO_gene_list[[j]])){
redundant_flag <- T
}
}
if (!redundant_flag){
GO_enrichment_indices <- c(GO_enrichment_indices, i)
}
}
GO_enrichment <- GO_enrichment[GO_enrichment_indices,]
GO_enrichment$Term <- sapply(GO_enrichment$Term, function(x){unlist(strsplit(x, " [(]GO:"))[1]})
plotEnrich(GO_enrichment, title="", xlab="Gene Count", ylab="Enriched Terms")
Version | Author | Date |
---|---|---|
f26dabe | wesleycrouse | 2022-07-29 |
####################
GO_enrichment$Term[8] <- "positive regulation of cyclin-dependent\nprotein serine/threonine kinase activity"
pdf(file = "output/LDL_GO_nonredundant.pdf", width = 2.5, height = 3.5)
p <- enrichR::plotEnrich(GO_enrichment, title="", xlab="", ylab="Gene Count",
numChar=80)
p <- p + theme(legend.position="bottom", axis.title = element_text(size=6), axis.text=element_text(size=6))
p <- p + theme(legend.title=element_text(size=6),
legend.text=element_text(size=6, angle = 90))
p
dev.off()
png
2
library(dplyr, ev)
slimGO_modified <-
function (GO = GO, tool = c("enrichR", "rGREAT", "GOfuncR"),
annoDb = annoDb, plots = FALSE, threshold = 0.7, pval=0.05)
{
if (tool == "enrichR") {
GO <- GO %>% data.table::rbindlist(idcol = "Gene Ontology") %>%
dplyr::as_tibble() %>% dplyr::filter(`Gene Ontology` %in%
c("GO_Biological_Process_2021", "GO_Cellular_Component_2021",
"GO_Molecular_Function_2021")) %>% dplyr::mutate(Term = stringr::str_extract(.$Term,
"\\(GO.*")) %>% dplyr::mutate(Term = stringr::str_replace_all(.$Term,
"[//(//)]", ""), "") %>% dplyr::mutate(`Gene Ontology` = dplyr::case_when(`Gene Ontology` ==
"GO_Biological_Process_2021" ~ "BP", `Gene Ontology` ==
"GO_Cellular_Component_2021" ~ "CC", `Gene Ontology` ==
"GO_Molecular_Function_2021" ~ "MF")) %>% dplyr::select(p = P.value,
go = Term, "Gene Ontology") %>% dplyr::filter(p <=
pval)
}
else if (tool == "rGREAT") {
GO <- GO %>% data.table::rbindlist(idcol = "Gene Ontology") %>%
dplyr::as_tibble() %>% dplyr::mutate(`Gene Ontology` = dplyr::case_when(`Gene Ontology` ==
"GO Biological Process" ~ "BP", `Gene Ontology` ==
"GO Cellular Component" ~ "CC", `Gene Ontology` ==
"GO Molecular Function" ~ "MF")) %>% dplyr::select(p = Hyper_Raw_PValue,
go = ID, "Gene Ontology") %>% dplyr::filter(p <= pval)
}
else if (tool == "GOfuncR") {
GO <- GO$results %>% dplyr::as_tibble() %>% dplyr::mutate(`Gene Ontology` = dplyr::case_when(ontology ==
"biological_process" ~ "BP", ontology == "cellular_component" ~
"CC", ontology == "molecular_function" ~ "MF")) %>%
dplyr::select(p = raw_p_overrep, go = node_id, "Gene Ontology") %>%
dplyr::filter(p <= pval)
}
else {
stop(glue("{tool} is not supported, please choose either enrichR, rGREAT, or GOfuncR [Case Sensitive]"))
}
print(glue::glue("Submiting results from {tool} to rrvgo..."))
.slim <- function(GO = GO, ont = ont, annoDb = annoDb, plots = plots,
tool = tool, threshold = threshold) {
GO <- GO %>% dplyr::filter(`Gene Ontology` == ont)
print(glue::glue("rrvgo is now slimming {ont} GO terms from {tool}"))
simMatrix <- rrvgo::calculateSimMatrix(GO$go, orgdb = annoDb,
ont = ont, method = "Rel")
reducedTerms <- rrvgo::reduceSimMatrix(simMatrix, setNames(-log10(GO$p),
GO$go), threshold = threshold, orgdb = annoDb)
if (plots == TRUE) {
p <- rrvgo::scatterPlot(simMatrix, reducedTerms)
plot(p)
rrvgo::treemapPlot(reducedTerms)
}
print(glue::glue("There are {max(reducedTerms$cluster)} clusters in your GO {ont} terms from {tool}"))
reducedTerms %>% dplyr::as_tibble() %>% return()
}
slimmed <- GO %>% dplyr::select(`Gene Ontology`) %>% table() %>%
names() %>% purrr::set_names() %>% purrr::map_dfr(~.slim(GO = GO,
ont = ., annoDb = annoDb, tool = tool, plots = plots,
threshold = threshold), .id = "Gene Ontology") %>% dplyr::inner_join(GO) %>%
dplyr::filter(term == as.character(parentTerm)) %>% dplyr::mutate(`-log10.p-value` = -log10(p)) %>%
dplyr::mutate(`Gene Ontology` = dplyr::recode_factor(`Gene Ontology`,
BP = "Biological Process", CC = "Cellular Component",
MF = "Molecular Function")) %>% dplyr::arrange(dplyr::desc(`-log10.p-value`)) %>%
return()
}
load(paste0(results_dir, "/", trait_id, "_enrichment_results.RData"))
GO_enrichment_slim <- slimGO_modified(GO=GO_enrichment, tool="enrichR",annoDb = "org.Hs.eg.db", plots=T)
GO_enrichment <- do.call(rbind, GO_enrichment)
GO_enrichment$db <- sapply(rownames(GO_enrichment), function(x){unlist(strsplit(x, split="[.]"))[1]})
rownames(GO_enrichment) <- NULL
sqlite <- RSQLite::dbDriver("SQLite")
db = RSQLite::dbConnect(sqlite, "/project2/mstephens/wcrouse/predictdb/mashr_Liver_nolnc.db")
query <- function(...) RSQLite::dbGetQuery(db, ...)
weights_table <- query("select * from weights")
extra_table <- query("select * from extra")
RSQLite::dbDisconnect(db)
a <- locus_plot_final(region_tag="16_38", xlim=c(71.6,72.4), return_table=T,
focus="HPR",
label_genes=c("MARVELD3", "PHLPP2", "ATXN1L", "ZNF821", "PKD1L3", "HPR"),
label_pos=c(3,3,3,3,3,3),
plot_eqtl=c("HPR"),
label_panel="cTWAS")
a[a$type=="gene",]
weights_table[weights_table$gene=="ENSG00000261701.6",]
a[a$id %in% c("rs150367531", "rs3794695"),]
a <- locus_plot_final(region_tag="1_114", xlim=c(224,225), return_table=T,
focus="CNIH4",
label_genes=c("CNIH4"),
label_pos=c(3),
plot_eqtl=c("CNIH4"))
a[a$type=="gene",]
weights_table[weights_table$gene=="ENSG00000143771.11",]
a[a$id %in% c("rs7517754", "rs56105022"),]
a <- locus_plot_final(region_tag="2_94", xlim=c(157.4, NA), return_table=T,
focus="ACVR1C",
label_genes=c("ACVR1C", "CYTIP"),
label_pos=c(3,3),
label_panel="TWAS",
plot_eqtl=c("ACVR1C"),
legend_side="left")
a[a$type=="gene",]
weights_table[weights_table$gene=="ENSG00000123612.15",]
a[a$id %in% c("rs10164853", "rs114245489"),]
a <- locus_plot_final(region_tag="2_70", xlim=c(119, 121), return_table=T,
focus="INHBB",
label_genes=c("INHBB","GLI2"),
label_pos=c(3,3),
label_panel="cTWAS",
plot_eqtl=c("INHBB"))
a[a$type=="gene",]
a <- locus_plot_final(region_tag="2_69", return_table=T,
focus="INSIG2",
label_genes=c("INSIG2"),
label_pos=c(3),
plot_eqtl=c("INSIG2"))
a[a$type=="gene",]
For all 69 silver standard genes, sequentially bin each gene using the following criteria: 1) gene not imputed; 2) gene detected by cTWAS at PIP>0.8; 3) gene insignificant by TWAS (with or without GWAS signal); 4) gene nearby a detected silver standard gene; 5) gene nearby a detected bystander gene; 6) gene nearby a detected SNP; 7) inconclusive.
library(ggplot2)
#reload silver standard genes
known_annotations <- readxl::read_xlsx("data/summary_known_genes_annotations.xlsx", sheet="LDL")
New names:
known_annotations <- as.character(unique(known_annotations$`Gene Symbol`))
#categorize silver standard genes by case
silver_standard_case <- c()
uncertain_regions <- matrix(NA, 0, 2)
for (i in 1:length(known_annotations)){
current_gene <- known_annotations[i]
if (current_gene %in% ctwas_gene_res$genename) {
if (ctwas_gene_res$susie_pip[ctwas_gene_res$genename == current_gene] > 0.8){
silver_standard_case <- c(silver_standard_case, "Detected (PIP > 0.8)")
} else {
if (abs(ctwas_gene_res$z[ctwas_gene_res$genename == current_gene]) < sig_thresh){
if (G_list$nearby[which(G_list$hgnc_symbol==current_gene)]){
silver_standard_case <- c(silver_standard_case, "Insignificant Z-score")
} else {
silver_standard_case <- c(silver_standard_case, "No GWAS Signal")
}
} else {
current_region <- ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]
current_gene_res <- ctwas_gene_res[ctwas_gene_res$region_tag==current_region,]
current_snp_res <- ctwas_snp_res[ctwas_snp_res$region_tag==current_region,]
if (any(current_gene_res$susie_pip>0.8)){
if (any(current_gene_res$genename[current_gene_res$susie_pip>0.8] %in% known_annotations)){
#silver_standard_case <- c(silver_standard_case, "Nearby Silver Standard Gene")
silver_standard_case <- c(silver_standard_case, "Nearby Gene(s)")
} else {
#silver_standard_case <- c(silver_standard_case, "Nearby Bystander Gene")
silver_standard_case <- c(silver_standard_case, "Nearby Gene(s)")
}
} else {
#if (any(current_snp_res$susie_pip>0.8)){
if (sum(current_snp_res$susie_pip)>0.8){
silver_standard_case <- c(silver_standard_case, "Nearby Variant(s)")
} else {
silver_standard_case <- c(silver_standard_case, "Inconclusive")
uncertain_regions <- rbind(uncertain_regions, c(current_gene, ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]))
print(c(current_gene, ctwas_gene_res$region_tag[ctwas_gene_res$genename == current_gene]))
}
}
}
}
} else {
silver_standard_case <- c(silver_standard_case, "Not Imputed")
}
}
names(silver_standard_case) <- known_annotations
#table of outcomes for silver standard genes
-sort(-table(silver_standard_case))
silver_standard_case
Not Imputed No GWAS Signal Nearby Variant(s)
23 18 11
Insignificant Z-score Detected (PIP > 0.8) Nearby Gene(s)
9 6 2
##########
#pie chart of outcomes for silver standard genes
#collapse categories
silver_standard_case[silver_standard_case=="Nearby Variant(s)" | silver_standard_case=="Nearby Gene(s)"] <- "Significant Z-score but Undetected"
#format data
df <- data.frame(-sort(-table(silver_standard_case)))
names(df) <- c("Outcome", "Frequency")
#df$Outcome <- droplevels(df$Outcome)
#df$Outcome[df$Outcome=="Detected (PIP > 0.8)"] <- "Detected (PIP > 0.8)"
df$Outcome <- factor(df$Outcome, levels = rev(c("Detected (PIP > 0.8)",
"Significant Z-score but Undetected",
"Insignificant Z-score",
"Not Imputed",
"No GWAS Signal")))
levels(df$Outcome) <- rev(c("Detected\n(PIP > 0.8)",
"Significant Z-score\nbut Undetected",
"Insignificant\nZ-score",
"Not\nImputed",
"No GWAS\nSignal"))
pdf(file = "output/LDL_false_negative.pdf", width = 2.75, height = 3.5)
pie <- ggplot(df, aes(x="", y=Frequency, fill=Outcome)) + geom_bar(width = 1, stat = "identity")
pie <- pie + coord_polar("y", start=0) + theme_minimal() + theme(axis.title.y=element_blank(), legend.position="none")
pie <- pie + geom_text(aes(label = Outcome), position = position_stack(vjust = 0.5), size=2.5)
pie <- pie + guides(fill = guide_legend(reverse = TRUE))
hex <- scales::hue_pal()(4)
custom_colors <- hex
custom_colors[2] <- "grey95"
custom_colors[1] <- "grey50"
custom_colors[3] <- hex[4]
custom_colors[4] <- hex[3]
custom_colors[5] <- hex[2]
pie <- pie + scale_fill_manual(values=custom_colors)
pie
dev.off()
png
2
library(dplyr)
library(ggplot2)
pdf(file = "output/LDL_manhattan_plot_annotated.pdf", width = 5, height = 3)
full_gene_pip_summary <- data.frame(gene_name = ctwas_gene_res$genename,
gene_pip = ctwas_gene_res$susie_pip,
gene_id = ctwas_gene_res$id,
chr = as.integer(ctwas_gene_res$chrom),
start = ctwas_gene_res$pos / 1e3,
is_highlight = F, stringsAsFactors = F) %>% as_tibble()
full_gene_pip_summary$is_highlight <- full_gene_pip_summary$gene_pip > 0.80
#add annotations
full_gene_pip_summary$is_nearest <- full_gene_pip_summary$gene_name %in% results_summary$genename[results_summary$nearest]
full_gene_pip_summary$is_silver <- full_gene_pip_summary$gene_name %in% results_summary$genename[results_summary$known]
#format data frame
don <- full_gene_pip_summary %>%
# Compute chromosome size
group_by(chr) %>%
summarise(chr_len=max(start)) %>%
# Calculate cumulative position of each chromosome
mutate(tot=cumsum(chr_len)-chr_len) %>%
dplyr::select(-chr_len) %>%
# Add this info to the initial dataset
left_join(full_gene_pip_summary, ., by=c("chr"="chr")) %>%
# Add a cumulative position of each SNP
arrange(chr, start) %>%
mutate( BPcum=start+tot)
#adjust labels
nudge_x <- rep(0, sum(don$is_highlight))
names(nudge_x) <- don$gene_name[don$is_highlight]
#nudge_x["USP1"] <- 0.2
nudge_y <- rep(0, sum(don$is_highlight))
names(nudge_y) <- don$gene_name[don$is_highlight]
#nudge_y["USP1"] <- 0.25
#chromosome information and labeling
axisdf <- don %>% group_by(chr) %>% summarize(center=( max(BPcum) + min(BPcum) ) / 2 )
x_axis_labels <- axisdf$chr
x_axis_labels[seq(15,21,2)] <- ""
#initialize plot
p <- ggplot(don, aes(x=BPcum, y=gene_pip))
#show all points
point_size <- 1.7
p <- p + ggrastr::geom_point_rast(aes(color=as.factor(chr)), size=point_size) +
scale_color_manual(values = rep(c("grey", "skyblue"), 22 )) +
scale_x_continuous(label = x_axis_labels,
breaks = axisdf$center,
limits=) +
scale_y_continuous(expand = c(0, 0),
limits = c(0,1.25),
breaks=(1:5)*0.2,
minor_breaks=(1:10)*0.1) # remove space between plot area and x axis
#add highlighted points
p <- p + ggrastr::geom_point_rast(data=subset(don, is_highlight==T), color="#C77CFF", size=point_size)
p <- p + ggrastr::geom_point_rast(data=subset(don, is_nearest==T), color="#F8766D", size=point_size)
p <- p + ggrastr::geom_point_rast(data=subset(don, is_silver==T), color="#7CAE00", size=point_size)
#add label using ggrepel to avoid overlapping
p <- p + ggrepel::geom_label_repel(data=subset(don, is_highlight==T),
aes(label=gene_name),
size=1.8,
min.segment.length = 0,
label.size = NA,
fill = alpha(c("white"),0),
max.time=20,
max.iter=400000,
max.overlaps=100,
nudge_x = nudge_x,
nudge_y = nudge_y,
force = 1,
force_pull = 1,
seed=10)
#customize the theme:
p <- p + theme_bw() +
theme(text = element_text(size = 14),
legend.position="none",
panel.border = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
axis.text.x = element_text(color = "grey20",
size = 8,
angle = 90,
hjust = .5,
vjust = .5,
face = "plain"),
axis.text.y = element_text(size=8),
axis.title = element_text(size=9)) +
xlab("Chromosome") +
ylab("cTWAS PIP")
p
dev.off()
png
2
locus_plot_final_pub <- function(region_tag, xlim=NULL, return_table=F, focus=NULL, label_panel="TWAS", label_genes=NULL, label_pos=NULL, plot_eqtl=NULL, rerun_ctwas=F, rerun_load_only=F, legend_side="right", legend_panel="cTWAS", twas_ymax=NULL){
region_tag1 <- unlist(strsplit(region_tag, "_"))[1]
region_tag2 <- unlist(strsplit(region_tag, "_"))[2]
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
regionlist <- readRDS(paste0(results_dir, "/", analysis_id, "_ctwas.regionlist.RDS"))
region <- regionlist[[as.numeric(region_tag1)]][[region_tag2]]
R_snp_info <- do.call(rbind, lapply(region$regRDS, function(x){data.table::fread(paste0(tools::file_path_sans_ext(x), ".Rvar"))}))
if (isTRUE(rerun_ctwas)){
ld_exprfs <- paste0(results_dir, "/", analysis_id, "_expr_chr", 1:22, ".expr.gz")
temp_reg <- data.frame("chr" = paste0("chr",region_tag1), "start" = region$start, "stop" = region$stop)
write.table(temp_reg,
#file= paste0(results_dir, "/", analysis_id, "_ctwas.temp.reg.txt") ,
file= "temp_reg.txt",
row.names=F, col.names=T, sep="\t", quote = F)
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_gene_temp <- z_gene[z_gene$id %in% a$id[a$type=="gene"],]
z_snp_temp <- z_snp[z_snp$id %in% R_snp_info$id,]
if (!rerun_load_only){
ctwas::ctwas_rss(z_gene_temp, z_snp_temp, ld_exprfs, ld_pgenfs = NULL,
ld_R_dir = dirname(region$regRDS)[1],
ld_regions_custom = "temp_reg.txt", thin = 1,
outputdir = ".", outname = "temp", ncore = 1, ncore.rerun = 1, prob_single = 0,
group_prior = estimated_group_prior, group_prior_var = estimated_group_prior_var,
estimate_group_prior = F, estimate_group_prior_var = F)
}
a_bkup <- a
a <- as.data.frame(data.table::fread("temp.susieIrss.txt", header = T))
rownames(z_snp_temp) <- z_snp_temp$id
z_snp_temp <- z_snp_temp[a$id[a$type=="SNP"],]
z_gene_temp <- z_gene_temp[a$id[a$type=="gene"],]
a$genename <- NA
a$gene_type <- NA
a[a$type=="gene",c("genename", "gene_type")] <- a_bkup[match(a$id[a$type=="gene"], a_bkup$id),c("genename","gene_type")]
a$z <- NA
a$z[a$type=="SNP"] <- z_snp_temp$z
a$z[a$type=="gene"] <- z_gene_temp$z
}
a_pos_bkup <- a$pos
a$pos[a$type=="gene"] <- G_list$tss[match(sapply(a$id[a$type=="gene"], function(x){unlist(strsplit(x, "[.]"))[1]}) ,G_list$ensembl_gene_id)]
a$pos[is.na(a$pos)] <- a_pos_bkup[is.na(a$pos)]
a$pos <- a$pos/1000000
if (!is.null(xlim)){
if (is.na(xlim[1])){
xlim[1] <- min(a$pos)
}
if (is.na(xlim[2])){
xlim[2] <- max(a$pos)
}
a <- a[a$pos>=xlim[1] & a$pos<=xlim[2],,drop=F]
}
if (is.null(focus)){
focus <- a$genename[a$z==max(abs(a$z)[a$type=="gene"])]
}
if (is.null(label_genes)){
label_genes <- focus
}
if (is.null(label_pos)){
label_pos <- rep(3, length(label_genes))
}
if (is.null(plot_eqtl)){
plot_eqtl <- focus
}
focus <- a$id[which(a$genename==focus)]
a$focus <- 0
a$focus <- as.numeric(a$id==focus)
a$PVALUE <- (-log(2) - pnorm(abs(a$z), lower.tail=F, log.p=T))/log(10)
R_gene <- readRDS(region$R_g_file)
R_snp_gene <- readRDS(region$R_sg_file)
R_snp <- as.matrix(Matrix::bdiag(lapply(region$regRDS, readRDS)))
rownames(R_gene) <- region$gid
colnames(R_gene) <- region$gid
rownames(R_snp_gene) <- R_snp_info$id
colnames(R_snp_gene) <- region$gid
rownames(R_snp) <- R_snp_info$id
colnames(R_snp) <- R_snp_info$id
a$r2max <- NA
a$r2max[a$type=="gene"] <- R_gene[focus,a$id[a$type=="gene"]]
a$r2max[a$type=="SNP"] <- R_snp_gene[a$id[a$type=="SNP"],focus]
r2cut <- 0.4
colorsall <- c("#7fc97f", "#beaed4", "#fdc086")
start <- min(a$pos)
end <- max(a$pos)
layout(matrix(1:4, ncol = 1), widths = 1, heights = c(1.5,0.25,1.75,0.75), respect = FALSE)
par(mar = c(0, 4.1, 0, 2.1))
if (is.null(twas_ymax)){
twas_ymax <- max(a$PVALUE)*1.1
}
plot(a$pos[a$type=="SNP"], a$PVALUE[a$type == "SNP"], pch = 21, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"), frame.plot=FALSE, bg = colorsall[1], ylab = "-log10(p value)", panel.first = grid(), ylim =c(0, twas_ymax), xaxt = 'n', xlim=c(start, end))
abline(h=-log10(alpha/nrow(ctwas_gene_res)), col ="red", lty = 2)
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$PVALUE[a$type == "SNP" & a$r2max > r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$focus == 1], a$PVALUE[a$type == "SNP" & a$focus == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$PVALUE[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$PVALUE[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$focus == 1], a$PVALUE[a$type == "gene" & a$focus == 1], pch = 22, bg = "salmon", cex = 2)
if (legend_panel=="TWAS"){
x_pos <- ifelse(legend_side=="right", max(a$pos)-0.2*(max(a$pos)-min(a$pos)), min(a$pos))
legend(x_pos, y= twas_ymax*0.95, c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
}
if (label_panel=="TWAS" | label_panel=="both"){
for (i in 1:length(label_genes)){
text(a$pos[a$genename==label_genes[i]], a$PVALUE[a$genename==label_genes[i]], labels=label_genes[i], pos=label_pos[i], cex=0.7)
}
}
par(mar = c(0.25, 4.1, 0.25, 2.1))
plot(NA, xlim = c(start, end), ylim = c(0, length(plot_eqtl)), frame.plot = F, axes = F, xlab = NA, ylab = NA)
for (i in 1:length(plot_eqtl)){
cgene <- a$id[which(a$genename==plot_eqtl[i])]
load(paste0(results_dir, "/",analysis_id, "_expr_chr", region_tag1, ".exprqc.Rd"))
eqtls <- rownames(wgtlist[[cgene]])
eqtl_pos <- a$pos[a$id %in% eqtls]
#col="grey"
col="#c6e8f0"
rect(start, length(plot_eqtl)+1-i-0.8, end, length(plot_eqtl)+1-i-0.2, col = col, border = T, lwd = 1)
if (length(eqtl_pos)>0){
for (j in 1:length(eqtl_pos)){
segments(x0=eqtl_pos[j], x1=eqtl_pos[j], y0=length(plot_eqtl)+1-i-0.2, length(plot_eqtl)+1-i-0.8, lwd=1.5)
}
}
}
text(start, length(plot_eqtl)-(1:length(plot_eqtl))+0.5,
labels = paste0(plot_eqtl, " eQTL"), srt = 0, pos = 2, xpd = TRUE, cex=0.7)
par(mar = c(4.1, 4.1, 0, 2.1))
plot(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 19, xlab=paste0("Chromosome ", region_tag1, " position (Mb)"),frame.plot=FALSE, col = "white", ylim= c(0,1.1), ylab = "cTWAS PIP", xlim = c(start, end))
grid()
points(a$pos[a$type=="SNP"], a$susie_pip[a$type == "SNP"], pch = 21, xlab="Genomic position", bg = colorsall[1])
points(a$pos[a$type=="SNP" & a$r2max > r2cut], a$susie_pip[a$type == "SNP" & a$r2max >r2cut], pch = 21, bg = "purple")
points(a$pos[a$type=="SNP" & a$focus == 1], a$susie_pip[a$type == "SNP" & a$focus == 1], pch = 21, bg = "salmon")
points(a$pos[a$type=="gene"], a$susie_pip[a$type == "gene"], pch = 22, bg = colorsall[1], cex = 2)
points(a$pos[a$type=="gene" & a$r2max > r2cut], a$susie_pip[a$type == "gene" & a$r2max > r2cut], pch = 22, bg = "purple", cex = 2)
points(a$pos[a$type=="gene" & a$focus == 1], a$susie_pip[a$type == "gene" & a$focus == 1], pch = 22, bg = "salmon", cex = 2)
if (legend_panel=="cTWAS"){
x_pos <- ifelse(legend_side=="right", max(a$pos)-0.2*(max(a$pos)-min(a$pos)), min(a$pos))
legend(x_pos, y= 1 ,c("Gene", "SNP","Lead TWAS Gene", "R2 > 0.4", "R2 <= 0.4"), pch = c(22,21,19,19,19), col = c("black", "black", "salmon", "purple", colorsall[1]), cex=0.7, title.adj = 0)
}
if (label_panel=="cTWAS" | label_panel=="both"){
for (i in 1:length(label_genes)){
text(a$pos[a$genename==label_genes[i]], a$susie_pip[a$genename==label_genes[i]], labels=label_genes[i], pos=label_pos[i], cex=0.7)
}
}
if (return_table){
return(a)
}
}
####################
library(Gviz)
Loading required package: grid
locus_plot_gene_track_pub <- function(a, label_pos=NULL){
chr <- unique(a$chrom)
start <- min(a$pos)*1000000
end <- max(a$pos)*1000000
biomTrack <- BiomartGeneRegionTrack(chromosome = chr,
start = start,
end = end,
name = "ENSEMBL",
biomart = ensembl,
filters=list(biotype="protein_coding"))
biomTrack <- as(biomTrack, "GeneRegionTrack")
biomTrack <- biomTrack[biomTrack@range@elementMetadata@listData$feature %in% c("protein_coding", "utr3", "utr5")]
if (isTRUE(label_pos=="above")){
displayPars(biomTrack)$just.group <- "above"
}
grid.newpage()
plotTracks(biomTrack, collapseTranscripts = "meta", transcriptAnnotation = "symbol", from=start, to=end, panel.only=T, add=F)
}
pdf(file = "output/LDL_ACVR1C_plot.pdf", width = 5, height = 3.5)
a <- locus_plot_final_pub(region_tag="2_94", xlim=c(157.4, NA), return_table=T,
focus="ACVR1C",
label_genes=c("ACVR1C", "CYTIP"),
label_pos=c(3,3),
label_panel="both",
plot_eqtl=c("ACVR1C"),
legend_side="left",
legend_panel="cTWAS")
dev.off()
png
2
pdf(file = "output/LDL_ACVR1C_plot_genetrack.pdf", width = 3.86, height = 0.3)
locus_plot_gene_track_pub(a, label_pos="above")
dev.off()
png
2
pdf(file = "output/LDL_HPR_plot.pdf", width = 5, height = 3.5)
a <- locus_plot_final_pub(region_tag="16_38", xlim=c(71.6,72.4), return_table=T,
focus="HPR",
label_genes=c("MARVELD3", "PHLPP2", "ATXN1L", "ZNF821", "PKD1L3", "HPR"),
label_pos=c(3,3,3,3,3,3),
plot_eqtl=c("HPR"),
label_panel="both",
legend_side="left",
legend_panel="TWAS",
twas_ymax=85)
dev.off()
png
2
pdf(file = "output/LDL_HPR_plot_genetrack.pdf", width = 3.86, height = 0.6)
locus_plot_gene_track_pub(a)
dev.off()
png
2
pdf(file = "output/LDL_POLK_plot.pdf", width = 5, height = 3.5)
a <- locus_plot_final_pub(region_tag = "5_45", xlim=c(75,75.8), return_table=T,
focus="POLK",
label_genes=c("POLK", "ANKDD1B", "POC5"),
label_pos=c(3,3,3),
plot_eqtl=c("POLK"), rerun_ctwas=T, rerun_load_only=F,
label_panel="both",
legend_side="left",
legend_panel="cTWAS")
dev.off()
pdf(file = "output/LDL_POLK_plot_genetrack.pdf", width = 3.86, height = 0.4)
locus_plot_gene_track_pub(a, label_pos="above")
dev.off()
pdf(file = "output/LDL_PRKD2_plot.pdf", width = 5, height = 3.5)
a <- locus_plot_final_pub(region_tag="19_33", xlim=c(NA, 46.85), return_table=T,
focus="PRKD2",
label_genes=c("STRN4","SLC1A5","PRKD2","FKRP","DACT3"),
label_pos=c(3,3,3,3,3),
plot_eqtl="PRKD2",
label_panel="both",
legend_side="left",
legend_panel="cTWAS")
dev.off()
png
2
pdf(file = "output/LDL_PRKD2_plot_genetrack.pdf", width = 3.86, height = 0.4)
locus_plot_gene_track_pub(a, label_pos="above")
dev.off()
png
2
library(coloc)
region_tag <- "16_38"
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
region_snps <- a$id[a$type=="SNP"]
region_genes <- a$genename[a$type=="gene"]
region_geneid <- a$id[a$type=="gene"]
####################
#colocalization analysis
#load eQTL data and subset to region
eqtl <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/gtex/GTEx_Liver.allpairs_processed.txt.gz", header = T))
Registered S3 method overwritten by 'R.oo':
method from
throw.default R.methodsS3
eqtl <- eqtl[eqtl$rs_id_dbSNP151_GRCh38p7 %in% region_snps,,drop=F]
#load GWAS summary statistics and subset to region
z_snp <- VariantAnnotation::readVcf("/project2/compbio/gwas_summary_statistics/ukbb_neale_v3/ukb-d-30780_irnt.vcf")
z_snp <- as.data.frame(gwasvcf::vcf_to_tibble(z_snp))
z_snp <- z_snp[z_snp$rsid %in% region_snps,,drop=F]
save.image("HPR_locus_image.RData")
#load("HPR_locus_image.RData")
coloc_res <- rep(NA, length(region_genes))
names(coloc_res) <- region_genes
for (i in 1:length(region_genes)){
gene <- region_genes[i]
gene_id <- unlist(strsplit(a$id[match(gene, a$genename)], "[.]"))[1]
eqtl_current <- eqtl[grep(gene_id, eqtl$gene_id),,drop=F]
#drop variants with duplicated records
eqtl_current <- eqtl_current[!(eqtl_current$rs_id_dbSNP151_GRCh38p7 %in% names(which(table(eqtl_current$rs_id_dbSNP151_GRCh38p7)>1))),,drop=F]
#drop invariant SNPs (standard error=0)
eqtl_current <- eqtl_current[!is.na(eqtl_current$slope_se),]
D1_eqtl <- list(snp=eqtl_current$rs_id_dbSNP151_GRCh38p7,
position=1:nrow(eqtl_current),
type="quant",
sdY=1,
beta=eqtl_current$slope,
varbeta=eqtl_current$slope_se^2)
z_snp_index <- match(D1_eqtl$snp, z_snp$rsid)
D2_gwas <- list(snp=D1_eqtl$snp,
position=1:length(D1_eqtl$snp),
type="quant",
sdY=1,
beta=z_snp$ES[z_snp_index],
varbeta=z_snp$SE[z_snp_index]^2)
coloc_res_current <- coloc.abf(dataset1=D1_eqtl,
dataset2=D2_gwas)
coloc_res[i] <- coloc_res_current$summary["PP.H4.abf"]
}
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
6.41e-58 4.58e-55 1.40e-03 9.98e-01 1.19e-04
[1] "PP abf for shared variant: 0.0119%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.05e-64 4.59e-55 2.28e-10 1.00e+00 8.66e-12
[1] "PP abf for shared variant: 8.66e-10%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.03e-55 3.50e-55 2.26e-01 7.62e-01 1.20e-02
[1] "PP abf for shared variant: 1.2%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
3.18e-55 1.27e-55 6.93e-01 2.76e-01 3.04e-02
[1] "PP abf for shared variant: 3.04%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
3.62e-55 7.89e-56 7.88e-01 1.72e-01 3.98e-02
[1] "PP abf for shared variant: 3.98%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
2.34e-56 4.34e-55 5.11e-02 9.45e-01 3.41e-03
[1] "PP abf for shared variant: 0.341%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
7.60e-56 3.75e-55 1.66e-01 8.17e-01 1.73e-02
[1] "PP abf for shared variant: 1.73%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
3.55e-55 8.74e-56 7.74e-01 1.90e-01 3.56e-02
[1] "PP abf for shared variant: 3.56%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
2.76e-55 1.51e-55 6.02e-01 3.30e-01 6.79e-02
[1] "PP abf for shared variant: 6.79%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.68e-56 4.38e-55 3.66e-02 9.55e-01 8.67e-03
[1] "PP abf for shared variant: 0.867%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.11e-55 5.28e-56 2.42e-01 1.14e-01 6.44e-01
[1] "PP abf for shared variant: 64.4%"
round(-sort(-coloc_res),3)
HPR ZNF821 TAT ATXN1L ZNF19 PHLPP2 CHST4 PKD1L3
0.644 0.068 0.040 0.036 0.030 0.017 0.012 0.009
MARVELD3 CMTR2 ZNF23
0.003 0.000 0.000
Note that results for PHLPP2 are not present despite being in the other analyses. FOCUS does an online query when importing the weights, and I believe that the single variant for PHLPP2 (rs7201649) is multiallelic and was dropped. Also note that the z scores for FOCUS are different than using cTWAS, even for genes with a single variant. I suspect that FOCUS is not scaling the weights by genotype variance, which was something we missed previously. Related, there is current an open issue on the FOCUS github about z scores not matching PrediXcan. Regardless, the z-scores are similar and I think the conclusions are valid.
library(tools)
library(RSQLite)
#prepare summary stats
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_snp <- z_snp[match(region_snps, z_snp$id),]
chr <- unlist(strsplit(region_tag, "_"))[1]
ld_snpinfo <- as.data.frame(data.table::fread(paste0("/project2/mstephens/wcrouse/UKB_analysis_known_anno/ukb-d-30780_irnt/Liver_nolnc_corrected/ukb-d-30780_irnt_Liver_ctwas_ld_R_chr", chr, ".txt")))
ld_snpinfo <- lapply(ld_snpinfo$RDS_file[ld_snpinfo$stop>min(a$pos) & ld_snpinfo$start<max(a$pos)], function(x){as.data.frame(data.table::fread(paste0(file_path_sans_ext(x), ".Rvar")))})
ld_snpinfo <- do.call(rbind, ld_snpinfo)
z_snp <- cbind(z_snp, ld_snpinfo[match(z_snp$id, ld_snpinfo$id), c("chrom", "pos")])
z_snp <- z_snp[,c("chrom", "id", "pos", "A1", "A2", "z", "ss")]
colnames(z_snp) <- c("CHR", "SNP", "BP", "A1", "A2", "Z", "N")
write.table(z_snp, file="/project2/mstephens/wcrouse/LDL_focus/LDL_HPR_locus.sumstats", sep="\t", quote=F, row.names=F, col.names=T)
#subset weights
weight <- "/project2/mstephens/wcrouse/predictdb/mashr_Liver_nolnc.db"
output_dir <- "/project2/mstephens/wcrouse/LDL_focus/"
weight_stem <- rev(unlist(strsplit(file_path_sans_ext(weight), "/")))[1]
sqlite <- RSQLite::dbDriver("SQLite")
db = RSQLite::dbConnect(sqlite, weight)
query <- function(...) RSQLite::dbGetQuery(db, ...)
weights_table <- query("select * from weights")
extra_table <- query("select * from extra")
dbDisconnect(db)
weights_table <- weights_table[weights_table$gene %in% region_geneid,,drop=F]
extra_table <- extra_table[extra_table$gene %in% region_geneid,,drop=F]
weight_info = read.table(gzfile(paste0(file_path_sans_ext(weight), ".txt.gz")), header = T)
weight_info <- weight_info[weight_info$GENE %in% extra_table$gene,]
if (file.exists(paste0(output_dir, weight_stem, "_HPR_temp.db"))){
file.remove(paste0(output_dir, weight_stem, "_HPR_temp.db"))
}
[1] TRUE
db <- dbConnect(RSQLite::SQLite(), paste0(output_dir, weight_stem, "_HPR_temp.db"))
dbWriteTable(db, "extra", extra_table)
dbWriteTable(db, "weights", weights_table)
dbDisconnect(db)
if (file.exists(paste0(output_dir, weight_stem, "_HPR_temp.txt.gz"))){
file.remove(paste0(output_dir, weight_stem, "_HPR_temp.txt.gz"))
}
[1] TRUE
weight_info_gz <- gzfile(paste0(output_dir, weight_stem, "_HPR_temp.txt.gz"), "w")
write.table(weight_info, weight_info_gz, sep=" ", quote=F, row.names=F, col.names=T)
close(weight_info_gz)
save.image("HPR_locus_image_2.RData")
#run focus (in terminal)
#focus import mashr_Liver_nolnc_HPR_temp.db predixcan --tissue liver --name liver --assay rnaseq --output Liver_nolnc_HPR_focus
#focus finemap /project2/mstephens/wcrouse/LDL_focus/LDL_HPR_locus.sumstats /project2/mstephens/wcrouse/UKB_LD_bed_0.1/ukb_chr16.b38.bed /project2/mstephens/wcrouse/LDL_focus/Liver_nolnc_HPR_focus.db --chr 16 --out LDL_HPR_locus
#report focus results
focus_results <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/LDL_focus/LDL_HPR_locus.focus.tsv"))
focus_results <- focus_results[order(-focus_results$pip),]
focus_results[,c("mol_name", "pip")]
mol_name pip
1 HPR 1.00e+00
2 ATXN1L 7.49e-01
3 ZNF821 2.42e-01
4 PKD1L3 5.16e-02
5 MARVELD3 4.36e-02
6 CHST4 3.54e-03
7 ZNF23 1.76e-03
8 CMTR2 1.20e-03
9 ZNF19 1.10e-03
10 TAT 3.45e-04
11 NULL 9.76e-57
HPR is not significant using SMR while several other genes are. SMR uses the most significant eQTL for each gene as an instrument. The most significant eQTL for HPR is not significant in the GWAS. The HPR PredictDB prediction model has 2 variants, so I think that selecting the top SNP is the reason for this discrepency.
region_tag <- "16_38"
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
region_snps <- a$id[a$type=="SNP"]
region_genes <- a$genename[a$type=="gene"]
region_geneid <- a$id[a$type=="gene"]
####################
#load eQTL data and subset to region
eqtl <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/gtex/GTEx_Liver.allpairs_processed.txt.gz", header = T))
eqtl <- eqtl[eqtl$rs_id_dbSNP151_GRCh38p7 %in% region_snps,,drop=F]
#subset to genes analyzed by cTWAS
eqtl$gene_id_trimmed <- sapply(eqtl$gene_id, function(x){unlist(strsplit(x, "[.]"))[1]})
eqtl <- eqtl[eqtl$gene_id_trimmed %in% sapply(region_geneid, function(x){unlist(strsplit(x, "[.]"))[1]}),,drop=F]
#drop duplicated gene+variant combinations
eqtl$record_id <- paste0(eqtl$gene_id, "_", eqtl$rs_id_dbSNP151_GRCh38p7)
eqtl <- eqtl[!(eqtl$record_id %in% names(which(table(eqtl$record_id)>1))),,drop=F]
#output file for SMR
eqtl_out <- cbind(eqtl[,c("gene_id", "rs_id_dbSNP151_GRCh38p7")],
100,
eqtl[,c("pval_nominal", "slope")])
write.table(eqtl_out, file="/project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.eqtl", sep="\t", quote=F, row.names=F, col.names=F)
# generate and update .esi and .epi
# .esi (chr, SNP, 0, position, the effect allele, the other allele and frequency)
# .epi (chr, probe ID, 0, position, gene ID and gene orientation)
esi <- eqtl[,c("rs_id_dbSNP151_GRCh38p7","alt","ref")]
esi <- cbind(esi,
a[match(esi$rs_id_dbSNP151_GRCh38p7, a$id), c("chrom","pos")],
0, NA)
rownames(esi) <- NULL
esi <- esi[,c("chrom","rs_id_dbSNP151_GRCh38p7","0","pos","alt","ref","NA")]
write.table(esi, file="/project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.esi_temp", sep="\t", quote=F, row.names=F, col.names=F)
epi <- cbind(chr, a$id[a$type=="gene"], 0, a$pos[a$type=="gene"], a$id[a$type=="gene"], "+")
write.table(epi, file="/project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.epi_temp", sep="\t", quote=F, row.names=F, col.names=F)
####################
#load GWAS summary statistics and subset to region
z_snp <- VariantAnnotation::readVcf("/project2/compbio/gwas_summary_statistics/ukbb_neale_v3/ukb-d-30780_irnt.vcf")
z_snp <- as.data.frame(gwasvcf::vcf_to_tibble(z_snp))
z_snp <- z_snp[z_snp$rsid %in% region_snps,,drop=F]
z_snp <- cbind(z_snp[,c("rsid", "ALT", "REF")],
NA,
z_snp[,c("ES", "SE", "LP", "SS")])
z_snp$LP <- 10^-z_snp$LP
colnames(z_snp) <- c("SNP", "A1", "A2", "freq", "b", "se", "p", "N")
write.table(z_snp, file="/project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.SMRsumstats", sep="\t", quote=F, row.names=F, col.names=T)
####################
#prepare besd format (in terminal)
#~/causalTWAS/smr_Linux --eqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.eqtl --fastqtl-nominal-format --make-besd --out LDL_HPR_locus
#~/causalTWAS/smr_Linux --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus --update-esi /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.esi_temp
#~/causalTWAS/smr_Linux --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus --update-epi /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.epi_temp
#run SMR (in terminal)
#~/causalTWAS/smr_Linux --bfile /project2/mstephens/wcrouse/UKB_LD_bed_0.1/ukb_chr16.b38 --gwas-summary /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.SMRsumstats --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus --out LDL_HPR_locus --peqtl-smr 5e-2
####################
smr_results <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/LDL_smr/LDL_HPR_locus.smr"))
smr_results$Gene <- a$genename[match(smr_results$probeID, a$id)]
smr_results[order(smr_results$p_SMR),!(colnames(smr_results) %in% c("probeID","ProbeChr","Probe_bp","topSNP_chr","topSNP_bp", "A1", "A2", "Freq", "b_GWAS","se_GWAS","b_eQTL","se_eQTL", "b_SMR", "se_SMR"))]
Gene topSNP p_GWAS p_eQTL p_SMR
2 ZNF23 rs16972663 2.150305e-07 1.694987e-14 1.735368e-05
7 PHLPP2 rs4788822 1.543121e-12 9.018099e-06 1.700108e-04
3 CHST4 rs12923309 1.655313e-08 1.151219e-06 2.290061e-04
10 PKD1L3 rs2070939 2.396900e-05 4.445218e-06 1.882528e-03
8 ATXN1L rs61452478 2.347416e-08 2.723270e-03 8.266624e-03
6 MARVELD3 rs12930418 1.861701e-03 3.545061e-06 9.777990e-03
4 ZNF19 rs16970692 1.660198e-03 3.034770e-04 1.769240e-02
9 ZNF821 rs918755 5.899293e-02 1.224759e-03 1.029911e-01
1 CMTR2 rs1424140 1.999001e-01 4.884779e-09 2.105236e-01
5 TAT rs78845905 3.410397e-01 1.257560e-03 3.611595e-01
11 HPR rs148960548 4.457999e-01 2.793340e-06 4.517267e-01
p_HEIDI nsnp_HEIDI
2 0.0036133230 20
7 0.3056144000 5
3 0.4519615000 11
10 0.0002191204 20
8 NA NA
6 0.0164198200 5
4 0.0485677900 4
9 NA NA
1 0.0796750600 20
5 NA NA
11 NA NA
region_tag <- "5_45"
a <- as.data.frame(data.table::fread("temp.susieIrss.txt", header = T))
a$genename <- NA
a$gene_type <- NA
a[a$type=="gene",c("genename", "gene_type")] <- ctwas_gene_res[match(a$id[a$type=="gene"], ctwas_gene_res$id),c("genename","gene_type")]
region_snps <- a$id[a$type=="SNP"]
region_genes <- a$genename[a$type=="gene"]
region_geneid <- a$id[a$type=="gene"]
####################
#colocalization analysis
#load eQTL data and subset to region
eqtl <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/gtex/GTEx_Liver.allpairs_processed.txt.gz", header = T))
eqtl <- eqtl[eqtl$rs_id_dbSNP151_GRCh38p7 %in% region_snps,,drop=F]
#load GWAS summary statistics and subset to region
z_snp <- VariantAnnotation::readVcf("/project2/compbio/gwas_summary_statistics/ukbb_neale_v3/ukb-d-30780_irnt.vcf")
z_snp <- as.data.frame(gwasvcf::vcf_to_tibble(z_snp))
z_snp <- z_snp[z_snp$rsid %in% region_snps,,drop=F]
save.image("POLK_locus_image.RData")
#load("POLK_locus_image.RData")
coloc_res <- rep(NA, length(region_genes))
names(coloc_res) <- region_genes
for (i in 1:length(region_genes)){
gene <- region_genes[i]
gene_id <- unlist(strsplit(a$id[match(gene, a$genename)], "[.]"))[1]
eqtl_current <- eqtl[grep(gene_id, eqtl$gene_id),,drop=F]
#drop variants with duplicated records
eqtl_current <- eqtl_current[!(eqtl_current$rs_id_dbSNP151_GRCh38p7 %in% names(which(table(eqtl_current$rs_id_dbSNP151_GRCh38p7)>1))),,drop=F]
#drop invariant SNPs (standard error=0)
eqtl_current <- eqtl_current[!is.na(eqtl_current$slope_se),]
D1_eqtl <- list(snp=eqtl_current$rs_id_dbSNP151_GRCh38p7,
position=1:nrow(eqtl_current),
type="quant",
sdY=1,
beta=eqtl_current$slope,
varbeta=eqtl_current$slope_se^2)
z_snp_index <- match(D1_eqtl$snp, z_snp$rsid)
D2_gwas <- list(snp=D1_eqtl$snp,
position=1:length(D1_eqtl$snp),
type="quant",
sdY=1,
beta=z_snp$ES[z_snp_index],
varbeta=z_snp$SE[z_snp_index]^2)
coloc_res_current <- coloc.abf(dataset1=D1_eqtl,
dataset2=D2_gwas)
coloc_res[i] <- coloc_res_current$summary["PP.H4.abf"]
}
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
5.43e-137 1.12e-137 7.89e-01 1.63e-01 4.83e-02
[1] "PP abf for shared variant: 4.83%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.61e-137 5.22e-137 2.34e-01 7.59e-01 7.63e-03
[1] "PP abf for shared variant: 0.763%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.68e-194 6.88e-137 2.44e-58 1.00e+00 1.07e-59
[1] "PP abf for shared variant: 1.07e-57%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
5.01e-137 1.64e-137 7.28e-01 2.38e-01 3.43e-02
[1] "PP abf for shared variant: 3.43%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.73e-137 2.61e-137 2.51e-01 3.79e-01 3.70e-01
[1] "PP abf for shared variant: 37%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
4.11e-137 2.43e-137 5.96e-01 3.53e-01 5.06e-02
[1] "PP abf for shared variant: 5.06%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.58e-137 5.21e-137 2.30e-01 7.57e-01 1.31e-02
[1] "PP abf for shared variant: 1.31%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
4.24e-137 2.30e-137 6.16e-01 3.34e-01 4.92e-02
[1] "PP abf for shared variant: 4.92%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
1.40e-121 1.18e-120 1.05e-01 8.90e-01 4.29e-03
[1] "PP abf for shared variant: 0.429%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
8.89e-96 8.63e-96 4.94e-01 4.79e-01 2.73e-02
[1] "PP abf for shared variant: 2.73%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
7.43e-48 2.50e-47 2.27e-01 7.65e-01 7.82e-03
[1] "PP abf for shared variant: 0.782%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
5.48e-26 1.93e-16 2.83e-10 1.00e+00 3.60e-10
[1] "PP abf for shared variant: 3.6e-08%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
0.152 0.108 0.423 0.299 0.018
[1] "PP abf for shared variant: 1.8%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
0.13400 0.21800 0.24300 0.39500 0.00946
[1] "PP abf for shared variant: 0.946%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
0.3280 0.1590 0.3330 0.1620 0.0171
[1] "PP abf for shared variant: 1.71%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
7.85e-06 5.59e-01 6.15e-06 4.38e-01 3.11e-03
[1] "PP abf for shared variant: 0.311%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
0.26000 0.69500 0.01130 0.03000 0.00347
[1] "PP abf for shared variant: 0.347%"
PP.H0.abf PP.H1.abf PP.H2.abf PP.H3.abf PP.H4.abf
0.44900 0.51800 0.01260 0.01450 0.00562
[1] "PP abf for shared variant: 0.562%"
round(-sort(-coloc_res),3)
POLK ANKDD1B AC113404.1 ENC1 FAM169A F2RL2
0.370 0.051 0.049 0.048 0.034 0.027
CRHBP ZBED3 POC5 AGGF1 F2R GFM2
0.018 0.017 0.013 0.009 0.008 0.008
AP3B1 IQGAP2 WDR41 PDE8B F2RL1 NSA2
0.006 0.004 0.003 0.003 0.000 0.000
I’m not sure why the “NULL” model is listed twice.
library(tools)
library(RSQLite)
#prepare summary stats
load(paste0(results_dir, "/", analysis_id, "_expr_z_snp.Rd"))
z_snp <- z_snp[match(region_snps, z_snp$id),]
chr <- unlist(strsplit(region_tag, "_"))[1]
ld_snpinfo <- as.data.frame(data.table::fread(paste0("/project2/mstephens/wcrouse/UKB_analysis_known_anno/ukb-d-30780_irnt/Liver_nolnc_corrected/ukb-d-30780_irnt_Liver_ctwas_ld_R_chr", chr, ".txt")))
ld_snpinfo <- lapply(ld_snpinfo$RDS_file[ld_snpinfo$stop>min(a$pos) & ld_snpinfo$start<max(a$pos)], function(x){as.data.frame(data.table::fread(paste0(file_path_sans_ext(x), ".Rvar")))})
ld_snpinfo <- do.call(rbind, ld_snpinfo)
z_snp <- cbind(z_snp, ld_snpinfo[match(z_snp$id, ld_snpinfo$id), c("chrom", "pos")])
z_snp <- z_snp[,c("chrom", "id", "pos", "A1", "A2", "z", "ss")]
colnames(z_snp) <- c("CHR", "SNP", "BP", "A1", "A2", "Z", "N")
write.table(z_snp, file="/project2/mstephens/wcrouse/LDL_focus/LDL_POLK_locus.sumstats", sep="\t", quote=F, row.names=F, col.names=T)
#subset weights
weight <- "/project2/mstephens/wcrouse/predictdb/mashr_Liver_nolnc.db"
output_dir <- "/project2/mstephens/wcrouse/LDL_focus/"
weight_stem <- rev(unlist(strsplit(file_path_sans_ext(weight), "/")))[1]
sqlite <- RSQLite::dbDriver("SQLite")
db = RSQLite::dbConnect(sqlite, weight)
query <- function(...) RSQLite::dbGetQuery(db, ...)
weights_table <- query("select * from weights")
extra_table <- query("select * from extra")
dbDisconnect(db)
weights_table <- weights_table[weights_table$gene %in% region_geneid,,drop=F]
extra_table <- extra_table[extra_table$gene %in% region_geneid,,drop=F]
weight_info = read.table(gzfile(paste0(file_path_sans_ext(weight), ".txt.gz")), header = T)
weight_info <- weight_info[weight_info$GENE %in% extra_table$gene,]
if (file.exists(paste0(output_dir, weight_stem, "_POLK_temp.db"))){
file.remove(paste0(output_dir, weight_stem, "_POLK_temp.db"))
}
[1] TRUE
db <- dbConnect(RSQLite::SQLite(), paste0(output_dir, weight_stem, "_POLK_temp.db"))
dbWriteTable(db, "extra", extra_table)
dbWriteTable(db, "weights", weights_table)
dbDisconnect(db)
if (file.exists(paste0(output_dir, weight_stem, "_POLK_temp.txt.gz"))){
file.remove(paste0(output_dir, weight_stem, "_POLK_temp.txt.gz"))
}
[1] TRUE
weight_info_gz <- gzfile(paste0(output_dir, weight_stem, "_POLK_temp.txt.gz"), "w")
write.table(weight_info, weight_info_gz, sep=" ", quote=F, row.names=F, col.names=T)
close(weight_info_gz)
#run focus (in terminal)
#focus import mashr_Liver_nolnc_POLK_temp.db predixcan --tissue liver --name liver --assay rnaseq --output Liver_nolnc_POLK_focus
#focus finemap /project2/mstephens/wcrouse/LDL_focus/LDL_POLK_locus.sumstats /project2/mstephens/wcrouse/UKB_LD_bed_0.1/ukb_chr5.b38.bed /project2/mstephens/wcrouse/LDL_focus/Liver_nolnc_POLK_focus.db --chr 5 --out LDL_POLK_locus
#report focus results
focus_results <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/LDL_focus/LDL_POLK_locus.focus.tsv"))
focus_results <- focus_results[order(-focus_results$pip),]
focus_results[,c("mol_name", "pip")]
mol_name pip
1 POLK 1.00e+00
9 NULL 9.91e-01
2 ANKDD1B 7.98e-01
3 POC5 5.35e-01
10 IQGAP2 3.17e-03
11 AC113404.1 1.72e-03
12 F2RL1 1.63e-03
13 ZBED3 7.48e-04
14 F2R 6.68e-04
15 CRHBP 1.87e-04
16 F2RL2 1.84e-04
17 AGGF1 1.77e-04
18 WDR41 1.70e-04
19 PDE8B 1.68e-04
4 NSA2 4.33e-05
5 GFM2 2.13e-05
6 FAM169A 2.05e-05
7 ENC1 2.00e-05
8 NULL 1.74e-57
save.image("POLK_locus_image_2.RData")
region_tag <- "5_45"
a <- ctwas_res[ctwas_res$region_tag==region_tag,]
region_snps <- a$id[a$type=="SNP"]
region_genes <- a$genename[a$type=="gene"]
region_geneid <- a$id[a$type=="gene"]
####################
#load eQTL data and subset to region
eqtl <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/gtex/GTEx_Liver.allpairs_processed.txt.gz", header = T))
eqtl <- eqtl[eqtl$rs_id_dbSNP151_GRCh38p7 %in% region_snps,,drop=F]
#subset to genes analyzed by cTWAS
eqtl$gene_id_trimmed <- sapply(eqtl$gene_id, function(x){unlist(strsplit(x, "[.]"))[1]})
eqtl <- eqtl[eqtl$gene_id_trimmed %in% sapply(region_geneid, function(x){unlist(strsplit(x, "[.]"))[1]}),,drop=F]
#drop duplicated gene+variant combinations
eqtl$record_id <- paste0(eqtl$gene_id, "_", eqtl$rs_id_dbSNP151_GRCh38p7)
eqtl <- eqtl[!(eqtl$record_id %in% names(which(table(eqtl$record_id)>1))),,drop=F]
#output file for SMR
eqtl_out <- cbind(eqtl[,c("gene_id", "rs_id_dbSNP151_GRCh38p7")],
100,
eqtl[,c("pval_nominal", "slope")])
write.table(eqtl_out, file="/project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.eqtl", sep="\t", quote=F, row.names=F, col.names=F)
# generate and update .esi and .epi
# .esi (chr, SNP, 0, position, the effect allele, the other allele and frequency)
# .epi (chr, probe ID, 0, position, gene ID and gene orientation)
esi <- eqtl[,c("rs_id_dbSNP151_GRCh38p7","alt","ref")]
esi <- cbind(esi,
a[match(esi$rs_id_dbSNP151_GRCh38p7, a$id), c("chrom","pos")],
0, NA)
rownames(esi) <- NULL
esi <- esi[,c("chrom","rs_id_dbSNP151_GRCh38p7","0","pos","alt","ref","NA")]
write.table(esi, file="/project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.esi_temp", sep="\t", quote=F, row.names=F, col.names=F)
epi <- cbind(chr, a$id[a$type=="gene"], 0, a$pos[a$type=="gene"], a$id[a$type=="gene"], "+")
write.table(epi, file="/project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.epi_temp", sep="\t", quote=F, row.names=F, col.names=F)
####################
#load GWAS summary statistics and subset to region
z_snp <- VariantAnnotation::readVcf("/project2/compbio/gwas_summary_statistics/ukbb_neale_v3/ukb-d-30780_irnt.vcf")
z_snp <- as.data.frame(gwasvcf::vcf_to_tibble(z_snp))
z_snp <- z_snp[z_snp$rsid %in% region_snps,,drop=F]
z_snp <- cbind(z_snp[,c("rsid", "ALT", "REF")],
NA,
z_snp[,c("ES", "SE", "LP", "SS")])
z_snp$LP <- 10^-z_snp$LP
colnames(z_snp) <- c("SNP", "A1", "A2", "freq", "b", "se", "p", "N")
write.table(z_snp, file="/project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.SMRsumstats", sep="\t", quote=F, row.names=F, col.names=T)
####################
#prepare besd format (in terminal)
#~/causalTWAS/smr_Linux --eqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.eqtl --fastqtl-nominal-format --make-besd --out LDL_POLK_locus
#~/causalTWAS/smr_Linux --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus --update-esi /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.esi_temp
#~/causalTWAS/smr_Linux --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus --update-epi /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.epi_temp
#run SMR (in terminal)
#~/causalTWAS/smr_Linux --bfile /project2/mstephens/wcrouse/UKB_LD_bed_0.1/ukb_chr5.b38 --gwas-summary /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.SMRsumstats --beqtl-summary /project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus --out LDL_POLK_locus --peqtl-smr 5e-2
####################
smr_results <- as.data.frame(data.table::fread("/project2/mstephens/wcrouse/LDL_smr/LDL_POLK_locus.smr"))
smr_results$Gene <- a$genename[match(smr_results$probeID, a$id)]
smr_results[order(smr_results$p_SMR),!(colnames(smr_results) %in% c("probeID","ProbeChr","Probe_bp","topSNP_chr","topSNP_bp", "A1", "A2", "Freq", "b_GWAS","se_GWAS","b_eQTL","se_eQTL", "b_SMR", "se_SMR"))]
Gene topSNP p_GWAS p_eQTL p_SMR
7 POC5 rs253387 1.762788e-27 1.492120e-06 0.0000108333
5 POLK rs7717505 3.066197e-68 3.501330e-04 0.0004610693
6 ANKDD1B rs56009820 1.071297e-06 5.604621e-04 0.0048508060
12 F2RL1 rs2243003 1.865993e-02 1.504948e-11 0.0263386100
4 FAM169A rs6878227 5.858143e-03 1.426750e-03 0.0370618900
1 ENC1 rs147462655 5.439388e-03 9.207157e-03 0.0573577500
3 NSA2 rs79669494 8.024168e-02 2.796510e-40 0.0828572800
9 IQGAP2 rs152339 1.103199e-01 1.042450e-05 0.1332804000
18 AP3B1 rs4133339 1.068799e-01 2.911100e-03 0.1562575000
16 PDE8B rs34802194 1.874200e-01 1.115296e-13 0.1942915000
17 WDR41 rs73141052 2.867603e-01 1.025611e-05 0.3004444000
15 ZBED3 rs16874849 3.620704e-01 4.024459e-03 0.3849290000
13 CRHBP rs2681669 5.038300e-01 7.801387e-04 0.5120631000
10 F2RL2 rs458661 5.097802e-01 3.599041e-04 0.5168476000
11 F2R rs250742 5.412003e-01 1.432449e-05 0.5451419000
2 GFM2 rs17647023 6.463906e-01 5.567644e-06 0.6480498000
14 AGGF1 rs35359101 7.367107e-01 8.234453e-05 0.7376298000
8 AC113404.1 rs6882703 7.472794e-01 2.620308e-04 0.7482301000
p_HEIDI nsnp_HEIDI
7 0.06184058 3
5 0.45160630 6
6 NA NA
12 0.85453640 7
4 NA NA
1 NA NA
3 0.07907105 9
9 0.08843025 4
18 NA NA
16 0.69012420 16
17 NA NA
15 NA NA
13 NA NA
10 NA NA
11 0.23430950 3
2 NA NA
14 NA NA
8 NA NA
sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)
Matrix products: default
BLAS/LAPACK: /software/openblas-0.2.19-el7-x86_64/lib/libopenblas_haswellp-r0.2.19.so
locale:
[1] C
attached base packages:
[1] tools grid parallel stats4 stats graphics grDevices
[8] utils datasets methods base
other attached packages:
[1] RSQLite_2.2.7 coloc_3.2-1 Gviz_1.28.3
[4] ctwas_0.1.34 forcats_0.4.0 stringr_1.4.0
[7] dplyr_1.0.9 purrr_0.3.4 readr_1.4.0
[10] tidyr_1.1.0 tidyverse_1.3.0 tibble_3.1.7
[13] GenomicRanges_1.36.0 GenomeInfoDb_1.20.0 IRanges_2.18.1
[16] S4Vectors_0.22.1 BiocGenerics_0.30.0 biomaRt_2.40.1
[19] readxl_1.3.1 WebGestaltR_0.4.4 disgenet2r_0.99.2
[22] enrichR_3.0 cowplot_1.1.1 ggplot2_3.3.5
loaded via a namespace (and not attached):
[1] utf8_1.2.1 R.utils_2.9.0
[3] tidyselect_1.1.2 AnnotationDbi_1.46.0
[5] htmlwidgets_1.3 BiocParallel_1.18.0
[7] munsell_0.5.0 codetools_0.2-16
[9] withr_2.4.1 colorspace_1.4-1
[11] Biobase_2.44.0 knitr_1.23
[13] rstudioapi_0.10 leaps_3.1
[15] robustbase_0.93-5 labeling_0.3
[17] git2r_0.26.1 pgenlibr_0.3.1
[19] GenomeInfoDbData_1.2.1 bit64_4.0.5
[21] farver_2.1.0 rprojroot_2.0.2
[23] vctrs_0.4.1 generics_0.0.2
[25] xfun_0.8 biovizBase_1.32.0
[27] R6_2.5.0 doParallel_1.0.16
[29] ggbeeswarm_0.6.0 AnnotationFilter_1.8.0
[31] bitops_1.0-6 cachem_1.0.5
[33] reshape_0.8.8 DelayedArray_0.10.0
[35] assertthat_0.2.1 promises_1.0.1
[37] scales_1.2.0 nnet_7.3-12
[39] beeswarm_0.2.3 gtable_0.3.0
[41] Cairo_1.5-12.2 ensembldb_2.8.0
[43] workflowr_1.6.2 rlang_1.0.2
[45] splines_3.6.1 rtracklayer_1.44.0
[47] lazyeval_0.2.2 acepack_1.4.1
[49] dichromat_2.0-0 broom_0.7.9
[51] checkmate_2.1.0 inline_0.3.15
[53] yaml_2.2.0 reshape2_1.4.3
[55] modelr_0.1.8 snpStats_1.34.0
[57] GenomicFeatures_1.36.3 backports_1.1.4
[59] httpuv_1.5.1 Hmisc_4.2-0
[61] gwasvcf_0.1.0 logging_0.10-108
[63] ellipsis_0.3.2 RColorBrewer_1.1-2
[65] Rcpp_1.0.6 plyr_1.8.4
[67] base64enc_0.1-3 progress_1.2.2
[69] zlibbioc_1.30.0 RCurl_1.98-1.1
[71] prettyunits_1.0.2 rpart_4.1-15
[73] SummarizedExperiment_1.14.1 haven_2.3.1
[75] ggrepel_0.9.1 cluster_2.1.0
[77] fs_1.5.2 apcluster_1.4.8
[79] magrittr_2.0.3 data.table_1.14.0
[81] reprex_0.3.0 mvtnorm_1.0-11
[83] whisker_0.3-2 ProtGenerics_1.16.0
[85] matrixStats_0.57.0 hms_1.1.0
[87] evaluate_0.14 XML_3.98-1.20
[89] BMA_3.18.12 gridExtra_2.3
[91] compiler_3.6.1 crayon_1.4.1
[93] R.oo_1.22.0 htmltools_0.5.2
[95] pcaPP_1.9-73 later_0.8.0
[97] Formula_1.2-3 rrcov_1.4-7
[99] lubridate_1.7.4 DBI_1.1.1
[101] dbplyr_1.4.2 Matrix_1.5-3
[103] cli_3.3.0 R.methodsS3_1.7.1
[105] igraph_1.3.5 pkgconfig_2.0.3
[107] GenomicAlignments_1.20.1 foreign_0.8-71
[109] xml2_1.3.2 foreach_1.5.1
[111] svglite_1.2.2 vipor_0.4.5
[113] rngtools_1.5 XVector_0.24.0
[115] rvest_0.3.5 doRNG_1.8.2
[117] VariantAnnotation_1.30.1 digest_0.6.20
[119] Biostrings_2.52.0 rmarkdown_1.13
[121] cellranger_1.1.0 htmlTable_1.13.1
[123] gdtools_0.1.9 curl_3.3
[125] Rsamtools_2.0.0 rjson_0.2.20
[127] lifecycle_1.0.1 jsonlite_1.6
[129] BSgenome_1.52.0 fansi_0.5.0
[131] pillar_1.7.0 lattice_0.20-38
[133] ggrastr_0.2.3 fastmap_1.1.0
[135] httr_1.4.1 DEoptimR_1.0-8
[137] survival_2.44-1.1 glue_1.6.2
[139] iterators_1.0.13 bit_4.0.4
[141] stringi_1.4.3 blob_1.2.1
[143] latticeExtra_0.6-28 memoise_2.0.0