我有一个从运行 GWAS 的输出得出的数据帧。每行都是基因组中的一个 SNP,及其染色体、位置和 P 值。从这个数据框中,我想生成一个曼哈顿图,其中 x 轴从 Chr 1 上的第一个 SNP 到 Chr 5 上的最后一个 SNP,y 轴是 -log10(P.value)。为此,我生成了一个索引列,以沿着 x 轴以正确的顺序绘制 SNP,但是,我希望 x 轴由染色体列而不是索引来标记。不幸的是,我无法使用染色体来绘制 x 轴,因为这样任何给定染色体上的所有 SNP 都将绘制在单列点中。
这是一个可以使用的示例数据框:
library(tidyverse)
df <- tibble(Index = seq(1, 500, by = 1),
Chromosome = rep(seq(1, 5, by = 1), each = 100),
Position = rep(seq(1, 500, by = 5), 5),
P.value = sample(seq(1e-5, 1e-2, by = 1e-5), 500, replace = TRUE))
Run Code Online (Sandbox Code Playgroud)
到目前为止我所掌握的情节:
df %>%
ggplot(aes(x = Index, y = -log10(P.value), color = as.factor(Chromosome))) …
Run Code Online (Sandbox Code Playgroud)