曼哈顿图(GWAS结果可视化)
创作时间:
作者:
@小白创作中心
曼哈顿图(GWAS结果可视化)
引用
CSDN
1.
https://blog.csdn.net/Da_gan/article/details/144118312
基因组广泛关联研究(GWAS)结果可视化是GWAS分析的重要步骤,旨在直观地展示和解释统计分析的结果,帮助研究者识别显著的遗传变异及其与表型之间的关系。以下是一些常用的GWAS结果可视化方法及其介绍:
1. 曼哈顿图(Manhattan Plot)
- 用途:展示整个基因组中每个SNP与表型关联的显著性水平。
- 特点:
- X轴表示SNP所在的染色体和其基因组位置。
- Y轴表示每个SNP的–log10(p-value)。
- 超过显著性阈值(如 Bonferroni 校正)的SNP通常用特殊颜色或标记突出显示。
- 工具:R包
qqman
、Python库Matplotlib
、Seaborn
,或专用的GWAS工具(如LocusZoom)。
2. QQ图(Quantile-Quantile Plot)
- 用途:评估GWAS结果中显著性水平的总体分布是否符合期望。
- 特点:
- X轴为期望的p-value分布的–log10值。
- Y轴为观察到的p-value分布的–log10值。
- 偏离对角线的点可能暗示潜在的信号或混杂因素(如群体结构)。
- 工具:R包
qqman
或qqplotr
,Python中的scipy.stats.probplot
。
3. 火山图(Volcano Plot)
- 用途:综合展示效应大小和显著性之间的关系。
- 特点:
- X轴为效应大小(如贝塔值)。
- Y轴为–log10(p-value)。
- 显著且效应较大的SNP通常位于图的左右上方。
- 工具:Python库
Matplotlib
或Plotly
。
4. 区域关联图(Regional Association Plot)
- 用途:展示某个特定基因组区域内SNP与表型的关联性。
- 特点:
- X轴为基因组位置。
- Y轴为–log10(p-value)。
- 附加信息:LD(连锁不平衡)情况、参考基因注释。
- 工具:LocusZoom软件。
5. 热图(Heatmap)
- 用途:可视化多个变量间的相关性,例如多个表型与多个基因之间的关联。
- 特点:
- 不同颜色代表不同的相关性强度。
- 可显示多维度的数据关系。
- 工具:R的
heatmap
函数、Python的Seaborn
库。
6. 圈图(Circos Plot)
- 用途:用于展示多种基因组数据,如GWAS结果与其他组学数据的整合。
- 特点:
- 将基因组信息按染色体编号排列成环状。
- 外圈常用于表示显著性或基因位置,内圈可显示其他组学数据。
- 工具:Circos软件、R包
circlize
。
7. 网络图(Network Plot)
- 用途:展示显著SNP之间的功能关联或其与表型的关联。
- 特点:
- 节点代表SNP或基因。
- 边表示关联或功能相互作用。
- 工具:Cytoscape、R包
igraph
。
8. 条形图与箱线图
- 用途:展示特定SNP的基因型与表型之间的关系。
- 特点:
- 条形图可显示不同基因型下表型的均值及误差。
- 箱线图显示不同基因型的表型分布。
- 工具:R中的
ggplot2
或Python的Seaborn
。
可视化注意事项
- 数据预处理:
- 对结果进行适当的多重检验校正(如FDR、Bonferroni)。
- 删除质量较低的SNP。
- 显著性阈值:根据研究需要设定,比如常用的 5×10−8。
- 图形注释:添加基因名称、功能注释等,提高图形的解读性。
- 软件与工具选择:选择支持大规模数据的工具,优化计算和绘图性能。
推荐工具与资源
- R:
qqman
、ggplot2
、CMplot
。 - Python:
Matplotlib
、Seaborn
、Plotly
。 - 专用软件:LocusZoom、Circos、Cytoscape。
每种可视化方法适用于不同的分析场景,可以根据研究需求灵活选择。
gwas_result.assoc.txt示例数据样式(部分)
SNP Chromosome Posiotion Trait1
chr01:1579 1 1579 8.892120e-01
chr01:1695 1 1695 9.298810e-01
chr01:1708 1 1708 7.801369e-01
chr01:1748 1 1748 9.272730e-01
chr01:1794 1 1794 7.891402e-01
chr01:1872 1 1872 9.408543e-01
chr01:1948 1 1948 8.349593e-01
chr01:1953 1 1953 8.349593e-01
chr01:2004 1 2004 7.985962e-01
使用R作图,建议服务器中使用,计算容量较大
安装CMplot包
install.packages("CMplot")
加载R包
library("CMplot")
导入数据
data <- read.table("gwas_result.assoc.txt",sep=" ",header=T)
绘制密度图SNP-density plot
CMplot(data,type="p",plot.type="d",bin.size=1e6,chr.den.col=c("darkgreen", "yellow", "red"),file="jpg",memo="",dpi=300,
main="illumilla_60K",file.output=TRUE,verbose=TRUE,width=9,height=6)
绘制单个表型Q-Q plot
CMplot(data,plot.type="q",conf.int=TRUE,box=FALSE,file="jpg",memo="",dpi=300,file.output=TRUE,verbose=TRUE,width=5,height=5)
绘制单个表型Rectangular-Manhattan plot,注意threshold设置,不同数据集不同阈值设置
CMplot(data,plot.type="m",LOG10=TRUE,threshold=5.78e-09,file="tif",memo="",dpi=500,file.output=TRUE,verbose=TRUE,width=18,height=8,signal.col=NULL)
CMplot(data,plot.type="m",LOG10=TRUE,threshold=2.89e-08,file="tif",memo="",dpi=500,file.output=TRUE,verbose=TRUE,width=18,height=8,signal.col=NULL)
多表型绘制代码
#Genome-wide association study(GWAS)多表型作图,注意threshold设置,不同数据集不同阈值设置
CMplot(data,type="p",plot.type="c",chr.labels=paste("Chr",c(1:14),sep=""),r=0.4,cir.legend=TRUE,
outward=FALSE,cir.legend.col="black",cir.chr.h=1.3,chr.den.col="black",file="jpg",
memo="",dpi=300,file.output=TRUE,verbose=TRUE,width=10,height=10)
CMplot(data,type="p",plot.type="c",r=0.4,col=c("grey30","grey60"),chr.labels=paste("Chr",c(1:14),sep=""),
threshold=c(5.78e-09,2.89e-08),cir.chr.h=1.5,amplify=TRUE,threshold.lty=c(1,2),threshold.col=c("red",
"blue"),signal.line=1,signal.col=c("red","green"),chr.den.col=c("darkgreen","yellow","red"),
bin.size=1e6,outward=FALSE,file="jpg",memo="",dpi=300,file.output=TRUE,verbose=TRUE,width=10,height=10)
####manhatton plot
CMplot(data, plot.type="m", LOG10=TRUE, ylim=NULL, threshold=c(5.78e-09,2.89e-08),threshold.lty=c(1,2),
threshold.lwd=c(1,1), threshold.col=c("black","grey"), amplify=TRUE,bin.size=1e6,
chr.den.col=c("darkgreen", "yellow", "red"),signal.col=c("red","green"),signal.cex=c(1.5,1.5),
signal.pch=c(19,19),file="jpg",memo="",dpi=300,file.output=TRUE,verbose=TRUE,
width=14,height=6)
#####Multi_tracks Q-Q plot
CMplot(data,plot.type="q",box=FALSE,file="jpg",memo="",dpi=300,
conf.int=TRUE,conf.int.col=NULL,threshold.col="red",threshold.lty=2,
file.output=TRUE,verbose=TRUE,width=5,height=5)
1. SNP密度图
解释:
SNP密度图是用于展示全基因组范围内SNP分布情况的图形。它直观地显示了每个染色体上的SNP密度,为研究人员提供基因组覆盖程度的信息。
如何解读:
- X轴:通常表示染色体编号及其相应的基因组位置。
- Y轴:可以表示每个窗口区域内的SNP数目或SNP的分布密度。
- 观察要点:
- 高密度区域可能是基因富集区(通常也可能是LD块较大的区域)。
- 低密度区域可能反映了基因组测序覆盖的不足或该区域SNP的稀缺性。
- 研究意义:
- 判断是否存在基因组特定区域的SNP分布异常。
- 检查数据质量是否均衡(例如基因组某些区域缺失SNP可能表明技术问题)。
2. QQ图(Quantile-Quantile Plot)
解释:
QQ图比较了观察到的SNP关联统计量(通常是p-value的–log10值)与理论期望的统计量。它帮助评估数据中是否存在偏离随机分布的显著信号。
如何解读:
- X轴:期望的p-value分布(理论上的–log10值)。
- Y轴:实际观察到的p-value分布(–log10值)。
- 观察要点:
- 如果点基本沿对角线分布,说明数据整体符合无关联的期望。
- 如果点在尾部偏离对角线,则可能暗示显著信号的存在(通常在显著性高的范围偏离)。
- 系统性偏移(例如整体上方偏移)可能表明存在混杂因素(如群体结构、隐匿性相关)。
- 研究意义:
- 检查显著性水平是否符合期望。
- 确认潜在的显著信号。
3. 曼哈顿图(Manhattan Plot)
解释:
曼哈顿图是GWAS中最常用的可视化工具之一,用于全基因组范围内展示每个SNP与表型关联的统计显著性(通常是–log10(p-value))。
如何解读:
- X轴:基因组中的位置(通常按染色体分组,横轴从1号染色体到X/Y染色体)。
- Y轴:每个SNP的显著性(–log10(p-value))。
- 观察要点:
- 数据点如高楼般突起的区域表示显著的关联信号,这些通常对应于染色体上某一特定区域(基因或LD块)。
- 水平参考线通常表示显著性阈值,例如GWAS显著性阈值(5×10−8)。
- 不同染色体常用不同颜色交替显示,以区分数据来源。
- 研究意义:
- 突出的点代表潜在的功能变异位点。
- 帮助识别和定位与表型显著关联的基因组区域。
比较与联系
- SNP密度图提供的是分布信息,可以作为数据质量检查的初步工具,确认SNP的覆盖是否均匀。
- QQ图用于评估整体显著性水平是否有系统性偏移以及是否存在真实信号,是对全局关联结果的检测。
- 曼哈顿图是展示显著SNP的主要工具,能直观显示显著性热点区域的位置。
实际应用场景
- SNP密度图:在GWAS研究设计阶段,检查数据覆盖和SNP分布均匀性。
- QQ图:在分析完成后,验证数据是否存在全局偏移,初步发现信号。
- 曼哈顿图:定位显著信号所在的具体染色体区域,指导后续的生物学验证。
热门推荐
工程结算审核流程详解:从准备到完成必须知道的一切
花吸收二氧化碳的过程及其重要性
摩托车的报废期限是多久
走路可以降低39%的糖尿病风险,可惜好多人没有走对
踢脚线安装方法
录用条件确认书与岗位说明书:从法律效力到管理价值的深度解析
开学后诺如病毒感染风险增加 频繁呕吐或腹泻应及时就医
合同签署技巧:如何确保合同具有法律效力
宁波五险一金缴纳比例
常见的UI设计错误以及如何纠正
避免过度医疗、减轻资金压力……医保支付方式改革方案这么看
静宁果农王恩科:苹果树的嫁接技术
白蜡荔枝可以嫁接什么品种?
在安装新内存条之前,我需要做哪些准备工作?
简历中的期望薪资怎么定?
会计四大VS八大:揭秘行业巨头的差异与共生
小白必看:四大VS八大事务所的区别!
莫娜·肖莱《重塑爱情》:爱情如何成为一种束缚
江苏镇江丹徒公安辛丰派出所 “三个创新”推动见义勇为事业发展
增强辐射传热能力的表面处理技术
脂包肌:健身圈的另类审美
配电房“定期体检”指南:电气设备检查项目及内容
慢性肾脏病是怎么引起的
靠天吃饭的除湿机需要创新
穿浅色好看的人是冷皮还是暖皮?
产品标识标签是否由自己制作:法律视角下的全面解析
LED灯是不是越亮越好?一文读懂LED灯亮度选择指南
溶血症父母血型一览,O型血更容易患溶血症
白细胞升高就是炎症了吗?
白细胞是什么功能