多性状或者多个模型的QQ和曼哈顿重叠图

科技   2024-11-12 19:01   河南  

大家好,我是邓飞。

之前介绍了好几篇QQ图和曼哈顿图的绘制GWAS的曼哈顿图和QQ图diamanteGWAS分析QQ图挺好,曼哈顿图没有显著性,如何调整阈值,今天介绍一下多个性状或者多个模型的QQ图和曼哈顿图如何绘制。这里,整理了示例数据和代码,比葫芦画瓢,很容易复现。

多性状的QQ图:

多性状的曼哈顿图:

1,多性状曼哈顿图应用场景

场景一:多环境的数据,一般分开进行分析,结果就是同一个性状在多个环境中有多个结果,如果想把结果合并到一个图中,这就需要多性状曼哈顿图,每个环境的数据一个颜色,看一下交叉情况。

场景二:同一个性状,使用多个模型,比如GLM、MLM、Farmcpu等,想把同一个性状不同的模型放在一起,也可以用多性状曼哈顿图。

2,如何准备数据

我们这里使用的包是 CMplot,数据格式可以用Excel进行整理:

  • 第一列是SNP名称,如果没有,可以用染色体+物理位置表示

  • 第二列是染色体编号

  • 第三列是物理位置

  • 第四列以后,就是每个性状的GWAS分析的Pvalue值,比如trait1就是trait1性状的P值,trait2就是trait2性状的P值,等等

3,代码介绍

将上面的数据整理好之后,使用下面的数据进行分析:


library(CMplot)library(openxlsx)
rm(list=ls())
dd = read.xlsx("multi_trait_manhtn_data.xlsx")
## QQ图:分开绘制CMplot(dd,plot.type = "q",multracks=TRUE, threshold = 0.05)## QQ图:合并绘制CMplot(dd,plot.type = "q",multracks=TRUE,, threshold = 0.05,multraits = TRUE)
## 曼哈顿图:分开绘制CMplot(dd,plot.type="m", threshold=c(0.05)/nrow(dd),multracks=TRUE, file.output=TRUE)## 曼哈顿图:合并绘制CMplot(dd,plot.type="m", threshold=c(0.05)/nrow(dd),multracks=TRUE, file.output=TRUE,multraits = TRUE)

上面有四个图,分别是:

  • 分开绘制的QQ图

  • 合并绘制的QQ图

  • 分开绘制的曼哈顿图

  • 合并绘制的曼哈顿图

关键参数:

  • multracks=TRUE,这个参数是多个性状放在一个图中

  • multraits = TRUE,这个参数是多个性状叠加效果

4,文件介绍

压缩包:

压缩包的文件:


电子板文件获得方法,公众号后台回复:QQ图,获得下载链接。关于文中的内容,相关问题交流可以加入星球提供答疑:


育种数据分析之放飞自我
本公众号主要介绍动植物育种数据分析中的相关问题, 算法及程序代码.
 最新文章