基因组广泛关联研究(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−85 \times 10^{-8}5×10−8。
- 图形表明:添加基因名称、功能表明等,提高图形的解读性。
- 软件与工具选择:选择支持大规模数据的工具,优化计算和画图性能。
推荐工具与资源
- R:qqman, ggplot2, CMplot。
- Python:Matplotlib, Seaborn, Plotly。
- 专用软件:LocusZoom, Circos, Cytoscape。
每种可视化方法实用于不同的分析场景,可以根据研究需求灵活选择。
gwas_result.assoc.txt示例数据样式(部门)
- SNP Chromosome Posiotion Trait1chr01:1579 1 1579 8.892120e-01chr01:1695 1 1695 9.298810e-01chr01:1708 1 1708 7.801369e-01chr01:1748 1 1748 9.272730e-01chr01:1794 1 1794 7.891402e-01chr01:1872 1 1872 9.408543e-01chr01:1948 1 1948 8.349593e-01chr01:1953 1 1953 8.349593e-01chr01: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 plotCMplot(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 plotCMplot(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 plotCMplot(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 plotCMplot(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−85 \times 10^{-8}5×10−8)。
- 不同染色体常用不同颜色瓜代显示,以区分数据泉源。
- 研究意义:
- 突出的点代表潜在的功能变异位点。
- 资助识别和定位与表型显著关联的基因组区域。
比较与接洽:
- SNP密度图提供的是分布信息,可以作为数据质量检查的初步工具,确认SNP的覆盖是否均匀。
- QQ图用于评估整体显著性程度是否有体系性偏移以及是否存在真实信号,是对全局关联结果的检测。
- 曼哈顿图是展示显著SNP的主要工具,能直观显示显著性热门区域的位置。
实际应用场景
- SNP密度图:在GWAS研究设计阶段,检查数据覆盖和SNP分布均匀性。
- QQ图:在分析完成后,验证数据是否存在全局偏移,初步发现信号。
- 曼哈顿图:定位显著信号所在的详细染色体区域,引导后续的生物学验证。
生信大白记第41记,就到这里,关注我!
下一记,持续更新学习生物信息学的内容!
生信大白记邮箱账号:shengxindabaiji@163.com
生信大白记简书账号:生信大白记
生信大白记CSDN账号:生信大白记
生信大白记微信公众号:生信大白记
加入生信大白记互换群938339543
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |