GWAS分析-多个性状的manhattan组合图绘制(五)

在之前GWAS分析中,我们已经学会了如何使用R包qqman对单个性状绘制manhattan图,有时会需要将多个性状的manhattan图组合到一张图中分析,今天就带小伙伴学习一个R包(CMplot)的用法。

Step1:下载,加载R包

#安装R包CMplot
BiocManager::install("CMplot")
# 或则在GitHub获取最新版本:
source("https://raw.githubusercontent.com/YinLiLin/CMplot/master/R/CMplot.r")
#加载
library(CMplot)

Step2: 加载,查看示例文件

#加载示例文件pig60K
data(pig60K) #通过MLM计算p-values

#可以看看文件格式
head(pig60K)
         SNP Chromosome Position    trait1     trait2     trait3
1 ALGA0000009          1    52297 0.7738187 0.51194318 0.51194318
2 ALGA0000014          1    79763 0.7738187 0.51194318 0.51194318
3 ALGA0000021          1   209568 0.7583016 0.98405289 0.98405289
4 ALGA0000022          1   292758 0.7200305 0.48887140 0.48887140
5 ALGA0000046          1   747831 0.9736840 0.22096836 0.22096836
6 ALGA0000047          1   761957 0.9174565 0.05753712 0.05753712

说明:
第一列:标记
第二列:染色体
第三列:位置
第四列往后:不同性状

Step3: 画manhanttan图组合图

#同时画出单个性状和3个性状组合图:
CMplot(pig60K[sample(1:nrow(pig60K), 10000),c(1:6)],plot.type="m", mar = c(3,6,3,3), 
       threshold=c(0.01,0.05)/nrow(pig60K),threshold.col=c('red','orange'),
       multracks=TRUE, chr.den.col=NULL, file.output=TRUE)
Multracks-Manhattan.trait1.trait2.trait3.jpg

Multraits-Manhattan.trait1.trait2.trait3.jpg
#使用所有标记画3个性状曼哈顿图的circle图:                      
#加载数据
data(pig60K)  
#做circle图                                                                
CMplot(pig60K,type="p",plot.type="c",chr.labels=paste("Chr",c(1:18,"X","Y"),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)
Circular-Manhattan.trait1.trait2.trait3.jpg

最后,我们看一下CMplot的所有参数及用法。

CMplot(Pmap, col=c("#4197d8", "#f8c120", "#413496", "#495226",
    "#d60b6f", "#e66519", "#d581b7", "#83d3ad", "#7c162c", "#26755d"),
    bin.size=1e6, bin.range=NULL, pch=19, type="p", band=1, H=1.5, 
    ylim=NULL, cex.axis=1, lwd.axis=1.5, cex.lab=1.5, plot.type="b",
    multracks=FALSE, cex=c(0.5,1,1), r=0.3, outward=FALSE,
    ylab=expression(-log[10](italic(p))), ylab.pos=3, xticks.pos=1,
    mar = c(3,6,3,3), threshold = NULL, threshold.col="red", threshold.lwd=1, 
    threshold.lty=2, amplify= TRUE, signal.cex = 1.5, signal.pch = 19, 
    signal.col=NULL, signal.line=2, highlight=NULL, highlight.cex=1, 
    highlight.pch=19, highlight.type="p", highlight.col="red", 
    highlight.text=NULL, highlight.text.col="black", highlight.text.cex=1, 
    highlight.text.xadj=NULL, highlight.text.yadj=NULL, 
    highlight.text.font=3, chr.labels=NULL, chr.border=FALSE,
    chr.labels.angle=0, chr.den.col="black", cir.band=1, cir.chr=TRUE, 
    cir.chr.h=1.5, cir.legend=TRUE, cir.legend.cex=0.6, 
    cir.legend.col="black", LOG10=TRUE, box=FALSE, conf.int=TRUE, 
    conf.int.col=NULL, file.output=TRUE, file=c("jpg","pdf","tiff"), 
    dpi=300, height=NULL, width=NULL, memo="", main="", main.cex=1.5, 
    main.font=2, trait.legend.ncol=NULL, verbose=TRUE)

其中:
Pmap: 输入的数据文件
col:不同染色体中点的颜色或者不同性状中点的颜色
pch: 点的形状
type: 可以是"p"(点), "l"(线), "h"(垂线) 等
band: 染色体之间的距离
H: 每个性状(圆圈)的高度
ylim: y轴范围
cex.axis:设置X/Y轴刻度标签和圆形图的染色体标签的大小
lwd.axis:X/Y轴刻度线的粗细
cex.lab:控制X/Y轴标签的大小
plot.type:设置绘图类型,可以设置为"d", "c", "m", "q" or "b"
multracks:是否绘制多个track,选项TRUE/FALSE
cex:点的大小
r:圆圈的半径
outward:点的分布朝向,由内而外或者由外向内
ylab:y轴标签
ylab.pos:y轴标签位置
mar: 绘图周围白色空间大小
threshold:设置阈值
threshold.col:阈值线颜色
threshold.lwd:阈值线宽度
threshold.lty:阈值线类型
amplify:是否放大显著的点

LOG10: P value是否进行log10处理
file.output:是否输出结果
file:输出格式,可以是"jpg","pdf","tiff"
dpi:输出图片的分辨率

今天的分享就到这里了,有兴趣的小伙伴可以自己尝试画一下。

往期回顾:
GWAS分析 (一)
https://www.jianshu.com/p/67e1878845e3
GWAS分析-曼哈顿图 (二)
https://www.jianshu.com/p/fa261b6045c2
GWAS分析-常用文件格式 (三)
https://www.jianshu.com/p/ad47f575e83b
GWAS分析-R包GAPIT (四)
https://www.jianshu.com/p/9944bcbfe3c7

参考:
https://github.com/YinLiLin/CMplot

你可能感兴趣的:(GWAS分析-多个性状的manhattan组合图绘制(五))