【GWAS】为TASSEL结果绘制曼哈顿图及QQ图

好久没写博文了,分享一个为TASSEL结果绘制曼哈顿图的代码:

# 加载需要的包
library(data.table)    # 用于快速读取大文件
library(CMplot)        # 用于绘制图形

# 读取数据
Tassl.Res <- fread("mlm_output17.txt", header = T, sep = "\t")
Tassl.Res[1:5, 1:8]  # 查看数据前5行,前8列。

# 提取 Mean_LS 性状的结果,由于 Maker 较多,只绘制 Pvalue < 0.05 的 Maker
Pdat <- Tassl.Res[Tassl.Res$Trait=="Mean_LS"&Tassl.Res$p<0.05,c(2,3,4,7)]

# unique(Tassl.Res$Trait) # 查看所有的性状

# 绘制曼哈顿图
# 使用 threshold 系列参数,绘制了两组阈值线,并指定了线型及颜色
# 输出出 dpi=600 的 tiff 格式图片
CMplot(
  Pdat, type = "p", plot.type = "m", LOG10 = TRUE, signal.cex = c(1, 1),
  threshold = c(1e-5,4.43e-7), threshold.col = c("lightgrey", "red"), 
  threshold.lty = c(1,2), file="tiff", memo="Mean_LS", dpi=600,
  file.output=TRUE, verbose=TRUE, width=14, height=6
)

# 绘制 QQ-plot
CMplot(
  Tassl.Res[Tassl.Res$Trait=="Mean_LS", c(2,3,4,7)],
  plot.type = "q", box = FALSE,file = "jpg", memo = "", dpi = 300,
  conf.int = TRUE, conf.int.col = NULL, threshold.col = "red", threshold.lty = 2,
  file.output = TRUE, verbose = TRUE, width = 6, height = 6
)

结果如下:


Tassel 结果曼哈顿图
QQ-Plot

QQ 图的结果有点异常,请忽略。

欢迎大家大家关注「小刘哥」公众号,进行交流。

你可能感兴趣的:(【GWAS】为TASSEL结果绘制曼哈顿图及QQ图)