好久没写博文了,分享一个为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 图的结果有点异常,请忽略。
欢迎大家大家关注「小刘哥」公众号,进行交流。
网友评论