NC文章的全基因组部分,关于GWAS的一些图本来不想复现,但是看到近期很多文章包括单细胞总是会挖掘GWAS用于自己的研究,而小编负责的课题也涉及到这一部分,所以还是决定试一下。
复现的图是文章的FigureS6,数据下载链接(a,b图的):ftp.ebi.ac.uk:/pub/databases/gwas/summary_statistics/GCST90014001-GCST90015000/GCST90014052/GCST900140 52_buildGRCh38.tsv.gz
画曼哈顿图和qq图有很多包,例如qqman,ggplot也能实现。而这个文章中的图很明显用的是CMplot包,所以我们用这个包做图。
将下载的数据读入:
setwd("D:/生物信息学")
df <- read.table("GCST90014052_buildGRCh38.tsv.gz",header = T,sep = "\t")
安装软件包:
install.packages("CMplot")
library(CMplot)
这个包比较简单,只有一个函数CMplot,CMplot可以画很多图,曼哈顿图、QQ图、SNP密度图、圆形曼哈顿图等。可以单独画一个性状的曼哈顿图,也可以同时画多个。这次的例子画单个的即可!
函数参数的基本解释如下:
Pmap 数据文件
col 设置颜色
cex 点的大小
pch 点的形状
band 设置染色体之间的间隔
ylim 设置y轴的范围
cex.axis 设置坐标轴字体的大小
plot.type 设置不同的绘图类型,可以设定为 "d", "c", "m", "q" or "b",
m为曼哈顿图,q为QQ图,c为环状曼哈顿图等
xlab 设置x轴标签
ylab 设置y轴标签
threshold 设置阈值并添加阈值线
threshold.col 设置阈值线的颜色
threshold.lwd 设置阈值线的宽度
threshold.lty 设置阈值线的类型
amplify 设置是否放大显著的点
signal.cex 设置显著点的大小
signal.pch 设置显著点的形状
signal.col 设置显著点的颜色
LOG10 设置是否对p-value取log10对数
conf.int.col 设置QQ图中置信区间的颜色
画图曼哈顿图,结果与文章稍微有点不同,但大致一样,可能细节上的参数不一样!
CMplot(df,plot.type = "m",
threshold = c(0.01,0.05)/nrow(df),
threshold.col=c('grey','black'),
threshold.lty = c(1,2),threshold.lwd = c(1,1), amplify = T,
signal.cex = c(1,1), signal.pch = c(20,20),signal.col = c("red","orange"))
画QQ图,这图与文章中的可以说是一摸一样了!
CMplot(df,plot.type = "q",threshold = 0.05)
如果直接默认画图,可以直接出各种图:
CMplot(df1)
SNP密度图
环形曼哈顿图
曼哈顿图做出来了还没有结束,还要接着做Locus zoom,这是很多文章中常用的,Locus zoom类似于将曼哈顿染色体片段放大。
Locus zoom用在线工具,网址:http://locuszoom.org/
点击single plot:上传文件,选择放大区域!
选择基因版本,EUR表示欧洲,ASN表示亚洲,AMR表示美洲,AFR表示非洲。
然后点击下面plot data,就可以等出图!
与文章中有出入,但是大概的意思是到位了,方法就是这样,还需要根据自己的分析需求和具体问题去设置参数,得到想要的结果!
至此,NC文章图标的复现也就告一段落了,之后我们会进行转录组的系列,力求从数据分析和可视化两个方面提高和突破。
没有理论的实践是一塌糊涂的,没有展示理论结果的方法也是对数据分析的不尊重。继续努力吧!