SNP连锁不平衡图(LD)可视化R包LDheatmap的使用

理解SNPs之间的联系或连锁不平衡(LD)模式对于单体型的选择具有重要作用,然而,对于密集的SNP图谱,随着区域内SNPs数量的增加,很难直接从复杂的VCF文件来看出SNPs间的连锁不平衡关系。LDheatmap就是这样一个能够可视化SNPs之间连锁不平衡关系的R包。

先举个小例子:

随机创建100个样本5个SNPs的基因型矩阵,并实现LD热图:

rm(list=ls())
set.seed(1)
gdat<-matrix(rbinom(n=500,size=2,prob=.5),ncol=5) 
require(chopsticks)
gdat<-as(gdat,"snp.matrix")

LDheatmap(gdat,genetic.distances=c(0,1000,3000,4000,10000))

上图的5个SNPs的物理距离为10kb,每个SNP的位置通过genetic.distances参数控制。颜色越深表示LD显著。

下面使用这个包的内置数据:

data(CEUData)

这个包的内置数据分为两部分:
一个是SNPs在各个样本中的基因型信息:

 

 

另一个是所对应SNPs的物理距离:

 

作图:

MyHeatmap <- LDheatmap(CEUSNP, genetic.distances = CEUDist,color = grey.colors(20))

也可以翻转图形:

flippedHeatmap<-LDheatmap(MyHeatmap,flip=TRUE)

还可以高亮指定的区域,比如用红色高亮出第3个SNP到第5个SNP之间的区域:

MyHeatmap <- LDheatmap(CEUSNP, genetic.distances = CEUDist,color = grey.colors(20))
LDheatmap.highlight(MyHeatmap, i = 3, j = 5, col = "red")

对指定区域进行标注符号,比如用红色星号标注第4个和第7个SNP的LD:

MyHeatmap <- LDheatmap(CEUSNP, genetic.distances = CEUDist, color = grey.colors(20))
LDheatmap.marks(MyHeatmap,  4,  7,  gp=gpar(cex=2,col="red"),  pch = "*")

也可以自定义调色板重新上色:

rgb.palette <- colorRampPalette(rev(c("blue", "orange", "red")), space = "rgb")
LDheatmap(MyHeatmap, color=rgb.palette(18))

在物理距离图谱上标注SNP的名称:

MyHeatmap <- LDheatmap(CEUSNP, genetic.distances = CEUDist, color = grey.colors(20))
LDheatmap(MyHeatmap, SNP.name = c("rs2283092", "rs6979287"))

使用grid.edit修改图形的各项属性:

# 修改标题颜色
grid.edit(gPath("ldheatmap", "heatMap", "title"), gp = gpar(col = "red"))

# 修改SNP标签大小
grid.edit(gPath("ldheatmap", "geneMap","SNPnames"), gp = gpar(cex=1.5))

# 使用白线间隔LD色块:
grid.edit(gPath("ldheatmap", "heatMap", "heatmap"), gp = gpar(col = "white",lwd = 2))

grid.edit更详细的使用方法请参考官方文档。



作者:生信杂谈
链接:https://www.jianshu.com/p/0b92a3134a5c
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 1
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SNP连锁平衡分析是一种用于研究和评估单核苷酸多态性(SNP)之间的相互关系和连锁平衡的工具。SNP是DNA序列中发生的最小变异形式,可以在个体或种群之间发生不同。SNP连锁平衡是指多个SNP之间存在相互依赖的关系,即其出现的频率与其他SNP共同出现的频率不一致。 SNP连锁平衡分析的目的是为了确定SNP之间的相互关系,以及SNP在基因组中的位置和分布特征。这项技术可以用于研究和识别与特定疾病或性状相关的遗传变异。通过对不同个体或种群的SNP进行基因组分析,可以找到某些SNP连锁平衡模式,并确定它们与特定表型(如疾病)之间的相关性。 SNP连锁平衡分析通常依赖于大规模基因组数据和高通量测序技术。通过对大量样本进行测序并分析SNP的频率和连锁平衡模式,可以获得SNP的基因型分布和频率。这些信息可以用于确定和推断SNP之间的关联和连锁平衡模式。 SNP连锁平衡分析在人类基因组学研究中广泛应用。它可以帮助确定与疾病相关的遗传变异,提供了疾病诊断和治疗的新靶点。此外,它还可以用于人类演化研究,了解人类群体的遗传历史和起源。 总之,SNP连锁平衡分析是一种重要的遗传学工具,通过研究和识别SNP之间的关联和连锁平衡模式,可以为疾病研究和人类基因组学提供有价值的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值