最近整理点数据,顺便使用R中的包"qqman"绘制一张曼哈顿图,用起来是还很简单的,这势必要感谢前人给我们留下的宝贵资源,方便我们学习与思考,那么先说说这图是干嘛的,否则图与实际脱轨,导致学无用武之地。
曼哈顿图本质上是一个散点图,用于显示大量非零大范围波动数值,最早应用于全基因组关联分析(GWAS)研究展示高度相关位点。它得名源于样式与曼哈顿天际线相似。大数据中,即展示数据全貌,又能快速找到目标基因或OTU,同时可知目标的具体位置和分类、显著程度等信息。绝对高端大气,而且还有内涵。
那么曼哈顿图到底怎么画呢?很简单,如下:
install.packages("qqman") #下载安装qqman包
library(qqman) #调取qqman包
head(gwasResults) ##读取内置数据集格式
manhattan(gwasResults)#利用内置数据集默认参数绘图
snpsOfInterest #对于我们感兴趣的SNPs可以存在向量里面,但是要求该向量里面的位点必须同时在数据集gwasResults里面。
manhattan(gwasResults,highlight=snpsOfInterest)
qqman里内置了一套数据集gwasResults,共4列,分别是:SNP-id,染色体编号,SNP坐标,P value。格式如下:
当然如果我们觉得曼哈顿图不够完美,可以调用参数画更美丽的曼哈顿图,比如添加标题,现在Y轴,控制点的大小,以及调整X轴标签的字体大小,改变颜色等,基本元素的操作,这些操作与R中普通的plot调整参数是完全一致的,只有你觉得不够完美,那么就可以调整到完美为止。
例如:利用内置数据集默认绘图:manhattan(gwasResults)
添加标题 :manhattan(gwasResults,main="Manhattan Plot")
限制Y轴范围:manhattan(gwasResults,main="Manhattan Plot",ylim=c(0,10))
改变颜色:manhattan(gwasResults,main="Manhattan Plot",ylim=c(0,10),col=1:22)
去除suggestive的P值阈值线: manhattan(gwasResults,main="Manhattan Plot",ylim=c(0,10),col=1:22,suggestiveline=F)
做了一张比较清晰的图:manhattan(gwasResults, highlight=snpsOfInterest,main = "Manhattan Plot", ylim = c(0, 10), cex = 0.6, cex.axis = 0.9, col = c("blue4", "orange3"), suggestiveline = F, genomewideline = F)
绘图总是讲究先主后次,先画重点内容,再添加其他元素,最后看整体效果,如果你是想发文章,就要根据自己需要仔细调整参数使该图达到完美!
祝君好运!
领取专属 10元无门槛券
私享最新 技术干货