美文网首页绘图绘画
R语言|CMplot包绘制环形曼哈顿图

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

作者: 维凡生物 | 来源:发表于2022-05-24 15:41 被阅读0次

    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包绘制环形曼哈顿图

        本文链接:https://www.haomeiwen.com/subject/ueijprtx.html