这里,我们用示例数据,介绍一下CMplot对多个性状进行曼哈顿图。
出图的示例:
1. 数据准备
这里用CMplot的示例数据,数据格式:
行头分别是:
- SNP,SNP名称
- Chromosome,染色体的名称
- Position,物理位置
- 其它几列是不同性状的P值,比如这里分别是trait1,trait2,trait3三个性状的P值
这里,随机选择10000个位点,进行作图:
# 挑选10000个位点
library(tidyverse)
set.seed(123)
dd = pig60K %>% sample_n(10000)
2. 绘制单性状曼哈顿图
这里,选择前四列,第四列为trait1的P值。
阈值为0.05/SNP的个数。
CMplot(dd[,1:4],plot.type = "m",threshold = c(0.05/nrow(dd)))
3. 多个性状合并曼哈顿图
这里,将multracks = TRUE
,设置一下,出两个图,一个是按照顺序叠加图,一个是同一个坐标下合并图。
CMplot(dd,plot.type="m",
threshold=c(0.05)/nrow(dd),
multracks=TRUE,
file.output=TRUE)
叠加图:
三个性状的曼哈顿图,按照顺序进行了合并。最上面为trait1,中间为trait2,下面为trait3.
合并曼哈顿图:
三个性状的曼哈顿图合并到了一张图上,用不同的颜色表示。蓝色的为trait1,黄色的为trait2,紫色的为trait3
4. 去掉多性状曼哈顿图的图例
CMplot中没有专门去掉图例的参数,但是可以设置:trait.legend.ncol
去指定图例的位置,设置比较大时,图例就不显示在图片上了,比如:
CMplot(dd,plot.type="m",
threshold=c(0.05)/nrow(dd),
multracks=TRUE, cir.legend = FALSE,
trait.legend.ncol = 120,
file.output=TRUE)
5. 应用场景介绍
同一个性状,在不同的环境中定位了GWAS显著性位点,想着曼哈顿图上看一下相关趋势,将不同环境的结果合并在一起,用不同的颜色表示,更直观。
多个性状,有遗传相关,通过合并曼哈顿图的形式,展示趋势,更直观。