GWAS现在非常的流行,尤其是在复杂疾病的研究,由于在畜牧的行业里许多的经济性状与我们动物的遗传育种与繁殖息息相关。而且许多经济性状都是属于数量性状,所以用GWAS方法来探索就非常的适用和实用。但是在做完GWAS之后得到的结果,如何呈现呢??这又是个头疼的问题,所以一般做完GWAS分析之后都会画一个曼哈顿图和QQ图来将GWAS的结果进行可视化。那么问题又来了,这个曼哈顿图和QQ图怎么画呢。其实画曼哈顿图和QQ图的方法和软件有很多,不过我认为比较方便的还是用R语言利用qqman这个package,这个软件包非常的简单和方便。好了废话不多说直奔主题吧 。
首先在分析之前,要把数据准备好,也就是GWAS得到的结果文件,这个结果文件分为四列,分别是第一例是snpID(例如rs.......),染色体ID(如CHR.......),snp物理位置(BP)和P值。例如
这是qqman包的对数据的格式要求,把自己的GWAS的结果调整为上述格式,会免除许多不必要的麻烦。
之后上代码,首先要调用qqman这个R包
>library("qqman") ###如果没有这个R包的话需要提前安装。
之后读入我们刚刚提前准备好的GWAS的结果文件
>setwd("E:\\GWAS_RESULT") ##这是我的例子,我的路径就是在E盘的GWAS_RESULT文件夹里面,需要结合自己的实际的路径。
>mydata=read.csv("gwas-result.csv",header = T,sep=",") ##然后用read命令读入提前准备好的qqman的要求的格式文件。
>manhattan(mydata)
>manhattan(mydata,main="GWAS-Manhattan",highlight = GL,ylim=c(0,10),cex=0.8,cex.axis=0.8,suggestiveline = F, genomewideline = 4.596,col = c("gray75","red","black"))
### main="GWAS-Manhattan"这个命令是给图片取名字;
highlight = GL这个命令是标记出高亮的snp的点,需要提前准备一个名字GL文件(GL文件里面包含高亮的SNP位点信息)如果不需要标记高亮snp,这个命令可以不写;
ylim=c(0,10)这个命令是规定y轴的取值区间,结合自己数据情况而定;
cex=0.8,cex.axis=0.8这个命令是规定曼哈顿图里面点的大小的命令;
suggestiveline = F, genomewideline = 4.596这两个命令是设定阈值用的可以按照自己的需要设定,如果不需要都设为F,那么在曼哈顿图里面就不会显示这两条阈值线了;
col = c("gray75","red","black")这个命令就是规定曼哈顿图的颜色的,可以根据自己的需要而定。
这样之后一个曼哈顿图片就绘制完成了。每个曼哈顿图一般都会需要一个相对应的QQ图所以QQ图也是很重要的,qq图的画法就非常容易了代码如下
>qq(mydata$P) ##哈哈,没想到吧就是折磨简单。
这样就完成了用qqman的R包绘制曼哈顿图的基本过程。如果需要细致的绘制还需要在添加一些调节的命令。还有如果存在多条染色体的话,但是想要查看单条染色体的曼哈顿图也是可以的,不过我就不一一赘述了。如有需要可以自己研究,哈哈。
上述的命令均为自己手打,难免有些书写或者标点中英文转换错误,用的时候注意,而且上述均为自己个人理解,如有差错请指出,我会虚心接受。