R语言|CMplot包绘制环形曼哈顿图

R包-CMplot绘制环形曼哈顿图

今天小编给大家分享的是R语言绘制环形曼哈顿图的方法,主要用到的是CMplot包,它是绘制SNP密度、曼哈顿图和QQ图的一个很实用的R包。大家感兴趣的话可以瞅瞅。[图片上传失败...(image-a78df0-1653376282283)]

绘图示例

1、安装并加载R包;

# 下载安装"CMplot"包
install.packages("CMplot")
library(CMplot)
# 设置工作路径
setwd("D:\\Rdemo\\CMplot")

2、数据集准备;

# pig60K是CMplot包自带的数据集
data(pig60K)
# 查看数据
head(pig60K)
data = pig60K
image.png

第一列是SNP的名称,第二列是SNP所在染色体名字,第三列是SNP的位置,后面几列为不同特征的P值。

CMplot不仅可以处理全基因组的关联研究结果,还可以处理SNP效应、Fst、tajima’s 等。

参数功能如下:

Pmap:输入数据文件,数据框
col:设置染色体中点的颜色
pch:设置点的形状
band:设置染色体之间的间隔
H:设置每个圈的高度
bin.size:设置SNP密度图中的窗口大小
cex.axis:设置坐标轴字体和标签字体的大小
plot.type:设置不同的绘图类型,可以设定为 "d", "c", "m", "q" , "b"
"d" 表示 SNP density plot 
"c" 表示 circle-Manhattan plot
"m" 表示 Manhattan plot 
"q" 表示 Q-Q plot
"b" 表示 circle-Manhattan, Manhattan and Q-Q plots一起绘制
multracks:设置是否需要绘制多个track
r:设置圈的半径大小
threshold:设置阈值并添加阈值线
amplify:设置是否放大显著的点
signal.cex:设置显著点的大小
chr.labels:设置染色体的标签
cir.legend:设置是否显示图例
file:设置输出图片的格式,可以设定为"jpg", "pdf", "tiff"
dpi:设置输出图片的分辨度
memo:设置输出图片文件的名字

3、绘制SNP密度图;

CMplot(data,plot.type="d",bin.size=1e6,col=c("darkgreen", "yellow", "red"),
       file="pdf",memo="SNP",dpi=300,
       file.output=TRUE, verbose=TRUE)
image.png

4、绘制环状图;

CMplot(data,plot.type="c",chr.labels=paste("Chr",c(1:19,"X"),sep=""),
       r=0.4,cir.legend=TRUE,outward=FALSE,
       cir.legend.col="black",cir.chr.h=1.3,
       chr.den.col="black",file="pdf",memo="huan",
       dpi=300,file.output=TRUE,verbose=TRUE)
image.png

5、绘制多层圈图;

CMplot(data,plot.type="c",
       r=0.4,col=c("grey30","grey60"),
       chr.labels=paste("Chr",c(1:19,"X"),sep=""),
       threshold=c(1e-6,1e-4),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="pdf",
       memo="quan",dpi=300,file.output=TRUE,verbose=TRUE)
image.png

6、绘制曼哈顿图;

CMplot(data,plot.type="m",LOG10=TRUE,threshold=NULL,
       chr.den.col=NULL,file="pdf",memo="manha",
       dpi=300,file.output=TRUE,verbose=TRUE)

CMplot(data,plot.type="m",LOG10=TRUE,ylim=NULL,
       threshold=c(1e-6,1e-4),threshold.lt=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,1),
       signal.pch=c(19,19),file="pdf",memo="manhattan",
       dpi=300,file.output=TRUE,verbose=TRUE)
image.png

image.png

7、绘制QQ图。

CMplot(data,plot.type="q",conf.int.col=NULL,box=TRUE,
       file="pdf",memo="QQ",dpi=300,file.output=TRUE,verbose=TRUE)

CMplot(data,plot.type="q",col=c("dodgerblue1","olivedrab3","darkgoldenrod1"),
       threshold=1e6,signal.pch=19,signal.cex=1.5,
       signal.col="red",conf.int.col="grey",
       box=FALSE,multracks=TRUE,file="pdf",
       memo="QQ",dpi=300,file.output=TRUE,verbose=TRUE)
image.png

END

你可能感兴趣的:(R语言|CMplot包绘制环形曼哈顿图)