This script creates a volcano plot of the DNAm results in blood.
Load packages
library(tidyverse)
library(ggrepel)
library(GenomicRanges)
library(ggpubr)
library(DNAmArray)
Load data
load("../GOTO_Data/GOTO_results-full-blood.Rdata")
dim(limma_base)
## [1] 755777 7
Save top CpGs
load("../GOTO_Data/GOTO_results-top-blood.Rdata")
cpg_list <- top_cpgs$cpg
length(cpg_list)
## [1] 441
Save limits
sig_df <- top_cpgs %>%
filter(
padj_fdr <= 0.05
)
if(nrow(sig_df) >= 1){
sig_limit <- max(sig_df$p)
} else {
sig_limit <- 10E-07
}
min <- as.numeric(min(
abs(limma_base$beta),
na.rm=TRUE))
max <- as.numeric(max(
abs(limma_base$beta),
na.rm=TRUE))
p_max <- as.numeric(-log10(min(limma_base$p, na.rm=TRUE))) + 2
min
## [1] 7.781955e-10
max
## [1] 0.03539525
p_max
## [1] 10.68585
Print volcano plot
plot <- limma_base %>%
ggplot(aes(
x = beta,
y = -log10(p)
)) +
geom_hline(
yintercept = -log10(sig_limit),
linetype = "dashed",
linewidth = 1,
color = "#BBBBBB"
) +
xlim(-0.13, 0.13) +
ylim(0,13) +
geom_point(
color = ifelse(limma_base$p > sig_limit,
"#BBBBBB", ifelse(
abs(limma_base$beta) >= 0.05, "#4477AA", '#4477AA')),
size = ifelse(limma_base$p > sig_limit,
2, ifelse(
abs(limma_base$beta) >= 0.05, 2, 2)),
) +
ggtitle("") +
ylab(bquote(-log[10]~"p")) +
xlab("Effect Size") +
theme(
axis.text = element_text(
size=14,
color="#1B2021"),
axis.title = element_text(
size=16,
hjust=0.5,
color="#1B2021"),
panel.background = element_rect(
fill="white"),
panel.border = element_rect(
color="#1B2021",
fill=NA),
panel.grid.major = element_line(
color="grey95"),
panel.grid.minor = element_line(
color="grey95"),
plot.background = element_rect(
fill="white"))
print(plot)
png('../GOTO_Data/Figures/Figure_5B.png')
print(plot)
dev.off()
## png
## 2
sessionInfo()
## R version 4.2.2 (2022-10-31)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Rocky Linux 8.10 (Green Obsidian)
##
## Matrix products: default
## BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.15.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] parallel stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] ggpubr_0.4.0
## [2] ggrepel_0.9.1
## [3] lmerTest_3.1-3
## [4] lme4_1.1-30
## [5] Matrix_1.5-4.1
## [6] IlluminaHumanMethylation450kmanifest_0.4.0
## [7] IlluminaHumanMethylationEPICmanifest_0.3.0
## [8] FlowSorted.BloodExtended.EPIC_1.1.1
## [9] FlowSorted.Blood.EPIC_1.12.1
## [10] IlluminaHumanMethylationEPICanno.ilm10b4.hg19_0.6.0
## [11] nlme_3.1-162
## [12] quadprog_1.5-8
## [13] genefilter_1.76.0
## [14] ExperimentHub_2.2.1
## [15] AnnotationHub_3.2.2
## [16] BiocFileCache_2.2.1
## [17] dbplyr_2.2.1
## [18] MuSiC_0.2.0
## [19] nnls_1.4
## [20] lubridate_1.9.2
## [21] DNAmArray_2.0.0
## [22] pls_2.8-2
## [23] FDb.InfiniumMethylation.hg19_2.2.0
## [24] org.Hs.eg.db_3.14.0
## [25] TxDb.Hsapiens.UCSC.hg19.knownGene_3.2.2
## [26] GenomicFeatures_1.46.5
## [27] AnnotationDbi_1.56.2
## [28] minfi_1.40.0
## [29] bumphunter_1.36.0
## [30] locfit_1.5-9.8
## [31] iterators_1.0.14
## [32] foreach_1.5.2
## [33] Biostrings_2.62.0
## [34] XVector_0.34.0
## [35] SummarizedExperiment_1.24.0
## [36] Biobase_2.58.0
## [37] MatrixGenerics_1.10.0
## [38] matrixStats_1.0.0
## [39] GenomicRanges_1.46.1
## [40] GenomeInfoDb_1.34.9
## [41] IRanges_2.32.0
## [42] S4Vectors_0.36.2
## [43] BiocGenerics_0.44.0
## [44] forcats_0.5.2
## [45] stringr_1.5.0
## [46] dplyr_1.1.3
## [47] purrr_0.3.4
## [48] readr_2.1.2
## [49] tidyr_1.2.1
## [50] tibble_3.2.1
## [51] ggplot2_3.4.3
## [52] tidyverse_1.3.2
## [53] cli_3.6.1
## [54] htmltools_0.5.5
## [55] rlang_1.1.1
## [56] rmarkdown_2.16
##
## loaded via a namespace (and not attached):
## [1] utf8_1.2.3 tidyselect_1.2.0
## [3] RSQLite_2.2.17 grid_4.2.2
## [5] BiocParallel_1.32.6 cinaR_0.2.3
## [7] munsell_0.5.0 codetools_0.2-19
## [9] preprocessCore_1.60.2 withr_2.5.0
## [11] colorspace_2.1-0 filelock_1.0.2
## [13] highr_0.10 knitr_1.43
## [15] rstudioapi_0.14 ggsignif_0.6.3
## [17] labeling_0.4.2 GenomeInfoDbData_1.2.9
## [19] MCMCpack_1.6-3 farver_2.1.1
## [21] bit64_4.0.5 rhdf5_2.42.1
## [23] coda_0.19-4 vctrs_0.6.3
## [25] generics_0.1.3 xfun_0.39
## [27] timechange_0.2.0 R6_2.5.1
## [29] illuminaio_0.40.0 bitops_1.0-7
## [31] rhdf5filters_1.10.1 cachem_1.0.8
## [33] reshape_0.8.9 DelayedArray_0.24.0
## [35] assertthat_0.2.1 vroom_1.5.7
## [37] promises_1.2.0.1 BiocIO_1.8.0
## [39] scales_1.2.1 googlesheets4_1.0.1
## [41] gtable_0.3.3 mcmc_0.9-7
## [43] MatrixModels_0.5-1 splines_4.2.2
## [45] rstatix_0.7.0 rtracklayer_1.54.0
## [47] gargle_1.5.0 GEOquery_2.62.2
## [49] htm2txt_2.2.2 broom_1.0.1
## [51] abind_1.4-5 BiocManager_1.30.21
## [53] yaml_2.3.7 reshape2_1.4.4
## [55] modelr_0.1.9 backports_1.4.1
## [57] httpuv_1.6.11 tools_4.2.2
## [59] nor1mix_1.3-0 ellipsis_0.3.2
## [61] jquerylib_0.1.4 RColorBrewer_1.1-3
## [63] siggenes_1.68.0 Rcpp_1.0.10
## [65] plyr_1.8.8 sparseMatrixStats_1.10.0
## [67] progress_1.2.2 zlibbioc_1.44.0
## [69] RCurl_1.98-1.12 prettyunits_1.1.1
## [71] openssl_2.0.6 haven_2.5.1
## [73] fs_1.6.2 magrittr_2.0.3
## [75] data.table_1.14.8 SparseM_1.81
## [77] reprex_2.0.2 googledrive_2.0.0
## [79] mime_0.12 hms_1.1.2
## [81] evaluate_0.21 xtable_1.8-4
## [83] XML_3.99-0.14 mclust_6.0.0
## [85] readxl_1.4.1 compiler_4.2.2
## [87] biomaRt_2.50.3 crayon_1.5.2
## [89] minqa_1.2.5 later_1.3.1
## [91] tzdb_0.4.0 DBI_1.1.3
## [93] MASS_7.3-60 rappdirs_0.3.3
## [95] boot_1.3-28.1 car_3.1-0
## [97] pkgconfig_2.0.3 GenomicAlignments_1.30.0
## [99] numDeriv_2016.8-1.1 xml2_1.3.4
## [101] annotate_1.72.0 bslib_0.5.0
## [103] rngtools_1.5.2 multtest_2.50.0
## [105] beanplot_1.3.1 rvest_1.0.3
## [107] doRNG_1.8.6 scrime_1.3.5
## [109] digest_0.6.31 base64_2.0.1
## [111] cellranger_1.1.0 edgeR_3.40.2
## [113] DelayedMatrixStats_1.16.0 restfulr_0.0.15
## [115] curl_5.0.1 shiny_1.7.2
## [117] Rsamtools_2.10.0 quantreg_5.94
## [119] nloptr_2.0.3 rjson_0.2.21
## [121] lifecycle_1.0.3 jsonlite_1.8.5
## [123] Rhdf5lib_1.20.0 carData_3.0-5
## [125] askpass_1.1 limma_3.54.2
## [127] fansi_1.0.4 pillar_1.9.0
## [129] lattice_0.21-8 KEGGREST_1.34.0
## [131] fastmap_1.1.1 httr_1.4.6
## [133] survival_3.5-5 interactiveDisplayBase_1.32.0
## [135] glue_1.6.2 png_0.1-8
## [137] BiocVersion_3.16.0 bit_4.0.5
## [139] stringi_1.7.12 sass_0.4.6
## [141] HDF5Array_1.22.1 blob_1.2.4
## [143] memoise_2.0.1
Clear
rm(list=ls())