关联分析的结果用曼哈顿图展示在paper中是十分流行和必要的,如qqmangithub中很多大神编写的代码都可以实现。我本人更加偏爱使用R语言中的CMplot这个packages进行绘图,所绘制的曼哈顿图可以是普通方形的也可以是圆形的。一下做简单介绍,详细可参看CMplot说明书

安装CMplot

1
install.packages('CMplot')

以下运行例子均以pig60数据为例

1
data('pig60k')

数据格式

  • 第一列为标记名称
  • 第二列为染色体名称(使用纯数字,字母加数字会报错,如At01就不可以
  • 第三列为标记在染色体的位置
  • 第四列开始为不同性状的P值

运行结果

1
CMplot('pig60k',multracks = 1)

参数详解

  • col 染色体颜色,默认参数为
1
col=c("red", "black", "green", "blue", "orange")
  • pch 曼哈顿图中点的性状,参数详解参看基本作图中的pch介绍
  • band 染色体之间的距离默认参数为1
1
CMplot(pig60K[,1:4],band=1)

1
CMplot(pig60K[,1:4],band=10)

  • cir.band 圆环之间的距离,默认参数为1
  • ylim 同基础做图中的ylim
  • output 包括’m’,’b’,’c’三个参数可选,m绘制普通曼哈顿图,c绘制圆形曼哈顿图,b同时绘制两种样式的图
  • H 圆形图中圆的高度
1
CMplot(pig60K,H=1,output = 'c')

1
CMplot(pig60K,H=10,output = 'c')

  • cex.axis X轴染色体名称的大小
  • multracks 参数为ture或fasle,可以实现一页多图效果
  • cex 一个向量,控制曼哈顿图中点的大小,默认参数为c(0.5,1),前者控制圆形图中点的大小,后者控制普通曼哈顿图点的大小
  • r 默认参数为1,控内部圆的半径大小
1
CMplot(pig60K[,1:4],r=5,output = 'c')

  • xlab 同基础做图中的xlab
  • ylab 同基础做图中的ylab
  • outward 逻辑向量,默认参数为true,曼哈顿图中点的朝向
1
CMplot(pig60K[,1:4],output = 'c',outward = 0)

  • threshold 阈值线,默认参数为0.01
  • threshold.col 阈值线的颜色
  • amplify 默认参数为true,阈值线以上的点会大于普通点
  • signal.cex 调整阈值线以上点的大小
  • signal.pch 阈值线以上点的形状,参数为1-25
  • signal.col 调整阈值线以上点的颜色
  • cir.chr 默认参数为ture,是否显示染色体
  • chr.band 圆形曼哈顿外圈中染色体的宽度
  • chr.col 圆形曼哈顿外圈中染色体的颜色
  • cir.labels 圆形曼哈顿外圈中染色体的名称
  • fill.output 是否输出图像,逻辑向量,默认参数为false
  • fill 输出图像格式,参数包括’jgp’,’pdf’,’tiff’
  • dpi 同基础做图中的dpi