匹配传奇以绘制R曼哈顿地块中的点数

时间:2016-02-09 18:57:40

标签: r plot genetics

我正在R中创建一个曼哈顿的情节,我的目的是根据与其相关的特征突出显示SNP。

这是我的主数据框(gwas_plot)的尾部:

              SNP CHR        BP         P 
58008  rs77855001   1 249213034 8.665e-01
58009  rs74322942   1 249218520 7.437e-01
58010 rs114152373   1 249222547 6.504e-02
58011  rs11205304   1 149906423 4.000e-23
58012  rs11205305   1 149906433 2.000e-16
58013   rs1061956   1 149914327 4.000e-06

我有另一个数据集(gwascat_topsnp),其中包含gwas_plot中SNP的一个子集,并附有说明。它看起来像这样:

         SNP CHR        BP     P            Description
1 rs11205301   1 149906412 4e-23                 Height
2 rs11205301   1 149906412 2e-16                 Height
3  rs1061954   1 149914353 4e-06 Obesity-related Traits

我更改了曼哈顿情节的源代码(此处的原始源代码:https://github.com/stephenturner/qqman/tree/master/R),在特定部分允许您突出显示特定的SNP。我对其进行了更改,以使pch对于每个“描述”类别都是唯一的(在上面的数据框中)。

这是我添加的部分:

  keyword2=gwascat_topsnp$Description
# Highlight2: highlight snps from a second character vector
  if (!is.null(highlight2)) {
    if (any(!(highlight2 %in% d$SNP))) warning("You're trying to highlight SNPs that don't exist in your results.")
    d.highlight2=d[which(d$SNP %in% highlight2), ]
    with(d.highlight2, points(pos, logp, col="red1", pch=1:24[as.factor(keyword2)], ...)) 
  }

所以这是我用来绘制曼哈顿情节的代码:

par(xpd=T, mar=par()$mar+c(0,0,3,0))
manhattan_KB(gwas_plot,col=c("grey"),highlight=gwas_main[rownum,1],highlight2=gwascat_topsnp$SNP)
    par(xpd=TRUE)
    legend(0,40,legend=levels(as.factor(keyword2)),
           col=c("red1"),pch=1:24[as.factor(keyword2)],
           bty="n",cex=0.8,ncol=1,horiz=F)
    par(mar=c(5,4,4,2) + 0.1)

然而,在输出seen here中,标有“高度”的描述的两个SNP应该具有相同的pch,但它们不具有:其中一个具有圆形,其中一个具有三角形,并且其他特质的雷蒙斯在传说中没有标注。

有人可以帮助我解决我的错误吗?如果您需要更多信息,我将很乐意为您提供。

谢谢!

0 个答案:

没有答案