GWAS(Genome-wideassociation study),即全基因组关联分析,是指在人类全基因组范围内找出存在的序列变异,即单核苷酸多态性(SNP),从中筛选出与疾病相关的SNPs(摘自百度百科)。如何让GWAS的结果可视化,我们就用到了曼哈顿图来展示其结果。那么在R语言中当然也有研究者开发了相关的R包“qqman”。
首先我们看下函数构成,qqman包中只有一个主要函数那就是manhattan。
其中的主要参数:
X不用多说就是数据集了,其数据的结构是
参数中的chr,bp,p,snp分别对应数据集中的变量,当然如果你的染色体包含X,Y或者MT需要自己对其更换为对应的排序数字。或者你如果执意要显示对应的X,Y或者MT那么就用到我们的另一个参数chrlabs,用一个向量替换掉原有的值即可达到我们的目的。
Col参数主要控制每个染色体对应的颜色。
Suggestiveline和genomewideline都是有设定好的默认值,我们不需要进行改动,如果自定义只要修改数据就可以。
Highlight主要是将其中的某个或者一些SNP位点进行突出显示。此处需要提供一个SNP位点的向量。
annotatePval如果设置对应的值那我们如果annotateTop设为TRUE就会显示每个SNP点的顶点的值;如果annotateTop设为FALSE这样可以将所有在阈值下的SNP位点显示在图中。
还有未出现的参数main,为图提供标题。
以上就是曼哈顿函数的主要参数。
具体的实现过程,我们以官方的样例进行展示:
manhattan(gwasResults)#绘制曼哈顿图
manhattan(gwasResults, main ="Manhattan Plot", ylim = c(0, 10), cex = 0.6,
cex.axis = 0.9, col = c("blue4", "orange3"),suggestiveline = F, genomewideline = F,chrlabs = c(1:20, "P", "Q"))
manhattan(gwasResults, highlight =snpsOfInterest)
manhattan(subset(gwasResults, CHR == 3),highlight = snpsOfInterest, xlim = c(200,500), main ="Chr 3")
manhattan(gwasResults, annotatePval = 0.01)
manhattan(gwasResults, annotatePval =0.005, annotateTop = FALSE)