我想在波纹管上绘制类似的图形。我需要将曼哈顿图结果和链接不平衡热图结果整合到一个图上。有什么知道该怎么做的吗?
在下面的图片中,它是针对两个基因完成的,我只针对一个基因进行了
manh.txt数据看起来像这样,以生成曼哈顿图:
SNP CHR BP P
1 rs1029830 17 17280783 0.0100877100
2 rs1029830 17 17280783 0.0100877100
3 rs1029832 17 17281431 0.0066054630
4 rs1029832 17 17281431 0.0066054630
5 rs1047799 17 17192173 0.0004173205
6 rs1047799 17 17192173 0.0004173205
...
我使用manh.txt
的rs number列生成链接不平衡热图,我使用了this网站,并从那里下载了我的R2文件,命名为LD_matrix_466
,然后:
library(gaston)
ld.x1=read.table("LD_matrix_466.txt", header=T)
LD.plot( ld.x1[1:20,1:20], snp.positions = x@snps$pos[1:20],graphical.par = list(cex = 1.3, bg = "gray"),
polygon.par = list(border = NA))
然后我得到了
要去曼哈顿,我会用:
library(qqman)
m=read.table(manh.txt, header=T)
manhattan(m, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.01,xlim=c(16975756,17326059))
我得到了这张图:
现在的问题是如何对齐Heatmap和Manhattan的结果,就像我在网上找到的第一张图所示。
我对齐它以寻找RS位置,其中我的SNP弹出显着性水平,然后选择LD矩阵的相应部分
如此:
LD.plot(ld.x1[40:60,40:60], snp.positions = x@snps$pos[40:60],graphical.par = list(cex = 1.3, bg = "gray"), polygon.par = list(border = NA))
manhattan(mm, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.01,xlim=c(17019118,17058585))
我得到了这张图(用绿线在photoshop中添加了它们):
如果有人有更好的解决方案,请分享。