library(tidyverse)
library(ggtext)
devtools::install_github("norment/normentR")
library(normentR)
gwas <- simulateGWAS(nSNPs = 1e5, nSigCols = 3) |>
janitor::clean_names()
计算Bonferroni校正后的显著性阈值。这是通过将0.05除以GWAS数据中的行数(即测试的总数)来实现的,用于调整多重比较的影响。
sig <- 0.05 / nrow(gwas)
ggplot(gwas, aes(x = bp_cum, y = -log10(p),color = as_factor(chr), size = -log10(p))) +
geom_hline(yintercept = -log10(sig), color = "grey40",
linetype = "dashed") +
geom_point(alpha = 0.5) +
scale_x_continuous(label = axis_set$chr,
breaks = axis_set$center) +
scale_y_continuous(expand = c(0, 0), limits = c(0, ylim)) +
scale_color_manual(values = rep(c("#788FCE","#E6956F"),unique(length(axis_set$chr)))) +
scale_size_continuous(range = c(0.5, 3)) +
labs(x = NULL,
y = "-log<sub>10</sub>(p)") +
theme_minimal() +
theme(
legend.position = "none",
panel.grid.major.x = element_blank(),
panel.grid.minor.x = element_blank(),
axis.title.y = element_markdown(),
axis.text.x = element_text(angle = 45, size = 8, vjust = 0.5)
)